From bdce18a61b19c00dc2138ed1a5540ff57836daec Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Thu, 6 Aug 2026 16:18:52 +0200 Subject: [PATCH 01/23] Updated gradle wrapper to 9.6.1, updated readme, removed md files from editorconfig check --- .editorconfig-checker.json | 2 +- README.md | 2 +- gradle.properties | 4 +++- gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.editorconfig-checker.json b/.editorconfig-checker.json index a7908bacf..1bbd0d4f3 100644 --- a/.editorconfig-checker.json +++ b/.editorconfig-checker.json @@ -6,7 +6,7 @@ "IgnoreDefaults": false, "SpacesAfterTabs": false, "NoColor": false, - "Exclude": ["Model(.*).java", ".lang", "ie_manual/(.*).md", ".sh"], + "Exclude": ["Model(.*).java", ".lang", ".md", ".sh"], "AllowedContentTypes": [], "PassedFiles": [], "Disable": { diff --git a/README.md b/README.md index 4b33a3cbf..82a324332 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Discord](https://img.shields.io/discord/610912351142674434?logo=discord&logoColor=237289da&color=%237289da&label=Discord)](https://discord.gg/teMfm3R) [![Become a Patron!](https://img.shields.io/badge/Become%20a%20Patron-Pabilo8-red?&logo=patreon)](https://www.patreon.com/bePatron?u=34304036) [![Commit Activity!](https://img.shields.io/github/commit-activity/m/Team-Immersive-Intelligence/ImmersiveIntelligence)](https://github.com/Team-Immersive-Intelligence/ImmersiveIntelligence/pulse) -[![Test Status](https://img.shields.io/github/check-suites/Team-Immersive-Intelligence/ImmersiveIntelligence/dev%2Fpabilo%2Ffixes?label=Test%20Status)](https://github.com/Team-Immersive-Intelligence/ImmersiveIntelligence/actions/workflows/push.yml) +[![Test Status](https://img.shields.io/github/check-suites/Team-Immersive-Intelligence/ImmersiveIntelligence/dev%2Fmain?label=Test%20Status)](https://github.com/Team-Immersive-Intelligence/ImmersiveIntelligence/actions/workflows/push.yml) ### Description diff --git a/gradle.properties b/gradle.properties index efb6a14a3..9c9699443 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,7 @@ # Gradle -org.gradle.jvmargs=-Xmx3G -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx5G -Dfile.encoding=UTF-8 +org.gradle.welcome=never +org.gradle.console=verbose org.gradle.parallel=true org.gradle.caching=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f004c34c0..269c533bf 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip From eb3977b6da5c6052a47d675769c1e61ac2c8d055 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Thu, 6 Aug 2026 16:37:46 +0200 Subject: [PATCH 02/23] Added nuclear explosion and EMP charge particles, reworked white phosphorus to spawn particles independent of the fragment entities --- .../api/ammo/utils/IIAmmoUtils.java | 31 ++- .../api/api/protection/RadiationHandler.java | 89 ++++++- .../ProtectionCapabilityProvider.java | 25 +- .../client/ClientEventHandler.java | 124 +++++---- .../client/ClientProxy.java | 2 +- .../client/fx/IIParticles.java | 59 ++++- .../client/fx/particles/ParticleGlow.java | 158 ++++++++++++ .../fx/particles/ParticleLightning.java | 184 +++++++++++++ .../client/fx/utils/ParticleDrawStages.java | 51 +++- .../client/fx/utils/ParticleProperties.java | 4 + .../client/fx/utils/ParticleRegistry.java | 234 ++++++++++++++++- .../client/fx/utils/ParticleSystem.java | 8 +- .../render/ammunition/AtomicBoomRenderer.java | 87 ------- .../common/CommonProxy.java | 8 +- .../immersiveintelligence/common/IIUtils.java | 25 +- .../ammo/components/AmmoComponentTesla.java | 15 +- .../AmmoComponentWhitePhosphorus.java | 8 +- .../components/nuke/AmmoComponentNuke.java | 12 +- .../ammo/component/EntityAtomicBoom.java | 130 +++------- .../ammo/component/EntityWhitePhosphorus.java | 46 +--- .../network/messages/MessageExplosion.java | 244 ++++++++++++++---- .../common/util/IIExplosion.java | 7 +- .../common/util/IIMath.java | 1 + .../particles/emp/glow.fx.amt | 8 + .../particles/emp/lightning.fx.amt | 6 + .../particles/emp/lightning_core.fx.amt | 6 + .../particles/nuke/dust_cloud.fx.amt | 13 + .../particles/nuke/glow.fx.amt | 8 + .../particles/nuke/nuke_core.fx.amt | 28 ++ .../particles/nuke/nuke_core_bright.fx.amt | 13 + .../particles/nuke/post_cloud.fx.amt | 27 ++ .../particles/nuke/post_cloud_spawn.fx.amt | 12 + .../particles/nuke/shockwave.fx.amt | 13 + .../particles/nuke/shockwave_main.fx.amt | 21 ++ 34 files changed, 1322 insertions(+), 385 deletions(-) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleLightning.java delete mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/AtomicBoomRenderer.java create mode 100644 src/main/resources/assets/immersiveintelligence/particles/emp/glow.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/emp/lightning.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/emp/lightning_core.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/dust_cloud.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/glow.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core_bright.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud_spawn.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave_main.fx.amt diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java index 9e2fc6f21..a921b8433 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java @@ -61,9 +61,7 @@ import pl.pabilo8.immersiveintelligence.common.util.IIStringUtil; import javax.annotation.Nullable; -import java.util.Arrays; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Stream; /** @@ -504,8 +502,18 @@ public static int getPenetratedAmount(IAmmoType ammoType, AmmoCore coreMat } - public static void applyEMPEffect(World world, BlockPos pos, float radius, int extractedEnergy) + /** + * Applies an EMP effect and returns the positions of affected targets. + * + * @param world effect world + * @param pos effect centre + * @param radius effect radius + * @param extractedEnergy energy removed from each target + * @return affected tile and entity positions + */ + public static List applyEMPEffect(World world, BlockPos pos, float radius, int extractedEnergy) { + Set affectedTargets = new LinkedHashSet<>(); Set blocks = IIUtils.getBlocksInOrb(world, new BlockPos(pos), radius); for(BlockPos pp : blocks) { @@ -514,24 +522,35 @@ public static void applyEMPEffect(World world, BlockPos pos, float radius, int e te = ((TileEntityMultiblockPart)te).master(); if(te!=null) + { + boolean affected = false; if(te instanceof TileEntityMultiblockMetal) + { ((TileEntityMultiblockMetal)te).energyStorage.extractEnergy(extractedEnergy, false); + affected = true; + } else for(EnumFacing facing : EnumFacing.values()) - if((te.hasCapability(CapabilityEnergy.ENERGY, facing))) + if(te.hasCapability(CapabilityEnergy.ENERGY, facing)) { IEnergyStorage cap = te.getCapability(CapabilityEnergy.ENERGY, facing); if(cap!=null) { cap.extractEnergy(extractedEnergy, false); + affected = true; break; } } + + if(affected) + affectedTargets.add(new Vec3d(te.getPos()).addVector(0.5, 0.5, 0.5)); + } } for(EntityLivingBase e : world.getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(pos.getX(), pos.getY(), pos.getZ(), pos.getX(), pos.getY(), pos.getZ()).grow(radius))) if(!(e instanceof ITeslaEntity)) { + affectedTargets.add(e.getPositionVector().addVector(0, e.height*0.5, 0)); ElectricDamageSource dmgsrc = IEDamageSources.causeTeslaDamage(IEConfig.Machines.teslacoil_damage, false); if(!world.isRemote) @@ -558,5 +577,7 @@ else if(ItemNBTHelper.hasKey(stack, "power")) ItemNBTHelper.setInt(stack, "power", Math.max(0, ItemNBTHelper.getInt(stack, "power")-extractedEnergy)); } } + + return new ArrayList<>(affectedTargets); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java index fe6bbcb24..37dfcca0b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java @@ -38,6 +38,10 @@ public final class RadiationHandler implements INBTSerializable private final Map centers = new LinkedHashMap<>(); private final Map>> centerIndex = new HashMap<>(); private final Map>> emitterIndex = new HashMap<>(); + private final Map> clientEmitterIndex = new HashMap<>(); + @Nullable + private World clientEmitterWorld; + private long clientEmitterUpdate = Long.MIN_VALUE; private RadiationHandler() { @@ -191,6 +195,50 @@ public void tick(@Nonnull World world) } } + /** + * Gets the strongest linear fall-off of a radiation source at the specified position. + * The result is 1 at the source centre and 0 at its radius edge. + * + * @param world the source world + * @param position the test position + * @return the strongest source proximity in the 0-1 range + */ + public float getRadiationProximity(@Nonnull World world, @Nonnull Vec3d position) + { + int dimension = world.provider.getDimension(); + long chunk = chunkKey(MathHelper.floor(position.x)>>4, MathHelper.floor(position.z)>>4); + float proximity = 0; + + Map> persistent = centerIndex.get(dimension); + if(persistent!=null) + { + List candidates = persistent.get(chunk); + if(candidates!=null) + for(RadiationCenter center : candidates) + { + Vec3d source = new Vec3d(center.getPosition()).addVector(0.5, 0.5, 0.5); + proximity = Math.max(proximity, getLinearFalloff(source, center.getRadius(), position)); + } + } + + Map> dynamic; + if(world.isRemote) + { + refreshClientEmitterIndex(world); + dynamic = clientEmitterIndex; + } + else + dynamic = emitterIndex.get(dimension); + if(dynamic!=null) + { + List candidates = dynamic.get(chunk); + if(candidates!=null) + for(EmitterSource source : candidates) + proximity = Math.max(proximity, source.getProximityAt(position)); + } + return MathHelper.clamp(proximity, 0, 1); + } + public float getRadiationAt(@Nonnull World world, @Nonnull BlockPos position) { return getRadiationAt(world, new Vec3d(position).addVector(0.5, 0.5, 0.5)); @@ -231,6 +279,23 @@ private void rebuildEmitterIndex(World world) { Map> index = new HashMap<>(); emitterIndex.put(world.provider.getDimension(), index); + collectEmitters(world, index); + } + + private void refreshClientEmitterIndex(World world) + { + long update = world.getTotalWorldTime()/10; + if(clientEmitterWorld==world&&clientEmitterUpdate==update) + return; + + clientEmitterWorld = world; + clientEmitterUpdate = update; + clientEmitterIndex.clear(); + collectEmitters(world, clientEmitterIndex); + } + + private void collectEmitters(World world, Map> index) + { if(ProtectionCapabilities.RADIATION_EMITTER==null) return; @@ -312,6 +377,17 @@ private static long chunkKey(int x, int z) return (x&0xffffffffL)|((z&0xffffffffL)<<32); } + private static float getLinearFalloff(Vec3d source, float radius, Vec3d point) + { + if(radius <= 0) + return 0; + double distanceSq = source.squareDistanceTo(point); + double radiusSq = radius*radius; + if(distanceSq >= radiusSq) + return 0; + return 1f-(float)(Math.sqrt(distanceSq)/radius); + } + //--- Persistence ---// @Override @@ -331,6 +407,9 @@ public void deserializeNBT(NBTTagCompound nbt) centers.clear(); centerIndex.clear(); emitterIndex.clear(); + clientEmitterIndex.clear(); + clientEmitterWorld = null; + clientEmitterUpdate = Long.MIN_VALUE; NBTTagList list = nbt.getTagList("centers", Constants.NBT.TAG_COMPOUND); for(int i = 0; i < list.tagCount(); i++) @@ -385,10 +464,12 @@ private EmitterSource(Vec3d position, float radius, float strength) private float getRadiationAt(Vec3d point) { - double distanceSq = position.squareDistanceTo(point); - if(distanceSq >= radius*radius) - return 0; - return strength*(1f-(float)(Math.sqrt(distanceSq)/radius)); + return strength*getProximityAt(point); + } + + private float getProximityAt(Vec3d point) + { + return getLinearFalloff(position, radius, point); } } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java index d47288b2e..04f4e1788 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java @@ -15,10 +15,11 @@ import java.util.Map; /** - * Small composable capability provider which can decorate an existing provider. - * Parent data is preserved, while serialisable capabilities registered on this provider are appended. + * Provides protection capabilities and delegates missing capability queries to a parent provider. + * Forge serialises attached providers separately, so parent NBT is not copied. * - * @since 0.3.1 + * @author Pabilo8 (pabilo@iiteam.net) + * @since 05.08.2026 */ public class ProtectionCapabilityProvider implements ICapabilitySerializable { @@ -63,9 +64,8 @@ public T getCapability(@Nonnull Capability capability, @Nullable EnumFaci @Override public NBTTagCompound serializeNBT() { - NBTTagCompound nbt = serializeParent(); - NBTTagCompound serializedCapabilities = nbt.hasKey(SERIALIZED_CAPABILITIES, Constants.NBT.TAG_COMPOUND)? - nbt.getCompoundTag(SERIALIZED_CAPABILITIES): new NBTTagCompound(); + NBTTagCompound nbt = new NBTTagCompound(); + NBTTagCompound serializedCapabilities = new NBTTagCompound(); for(Map.Entry, Object> entry : capabilities.entrySet()) { Object instance = entry.getValue(); @@ -85,9 +85,6 @@ public NBTTagCompound serializeNBT() @SuppressWarnings({"rawtypes", "unchecked"}) public void deserializeNBT(NBTTagCompound nbt) { - if(parent instanceof INBTSerializable) - ((INBTSerializable)parent).deserializeNBT(nbt); - if(!nbt.hasKey(SERIALIZED_CAPABILITIES, Constants.NBT.TAG_COMPOUND)) return; NBTTagCompound serializedCapabilities = nbt.getCompoundTag(SERIALIZED_CAPABILITIES); @@ -100,14 +97,4 @@ public void deserializeNBT(NBTTagCompound nbt) } } - private NBTTagCompound serializeParent() - { - if(parent instanceof INBTSerializable) - { - Object serialized = ((INBTSerializable)parent).serializeNBT(); - if(serialized instanceof NBTTagCompound) - return (NBTTagCompound)serialized; - } - return new NBTTagCompound(); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java index 06fd05c3c..6cdd75cb2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java @@ -73,6 +73,7 @@ import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; import pl.pabilo8.immersiveintelligence.api.ammo.penetration.DamageBlockPos; import pl.pabilo8.immersiveintelligence.api.ammo.utils.IIAmmoUtils; +import pl.pabilo8.immersiveintelligence.api.api.protection.RadiationHandler; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler.IAdvancedTooltipItem; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler.IItemScrollable; @@ -403,52 +404,42 @@ public void renderAdditionalBlockBounds(DrawBlockHighlightEvent event) public void onFogUpdate(RenderFogEvent event) { Entity entity = event.getEntity(); - World world = entity.getEntityWorld(); + if(!(entity instanceof EntityLivingBase)) + return; - if(entity instanceof EntityLivingBase) + EntityLivingBase living = (EntityLivingBase)entity; + //Suppression + if(living.getActivePotionEffect(IIPotions.suppression)!=null) { - EntityLivingBase living = (EntityLivingBase)entity; - //Nuke/Wasteland - if(living.getActivePotionEffect(IIPotions.nuclearHeat)!=null) - { - PotionEffect effect = living.getActivePotionEffect(IIPotions.nuclearHeat); - assert effect!=null; + PotionEffect effect = living.getActivePotionEffect(IIPotions.suppression); + assert effect!=null; + int amplifier = effect.getAmplifier(); + if(amplifier < 0) + amplifier = 254+amplifier; + + float f1 = MathHelper.clamp((float)amplifier/255f, 0f, 1f); + //if(timeLeft < 20) + //f1 += (event.getFarPlaneDistance()/4)*(1-timeLeft/20f); + + GlStateManager.setFog(FogMode.LINEAR); + GlStateManager.setFogStart((float)Math.pow(1f-f1, 2)*12); //( + GlStateManager.setFogEnd((float)Math.pow(1f-f1, 2)*16); + GlStateManager.setFogDensity(.00625f+.00625f*f1); + + if(GLContext.getCapabilities().GL_NV_fog_distance) + GlStateManager.glFogi(34138, 34139); + return; + } - GlStateManager.setFog(FogMode.EXP2); - GlStateManager.setFogStart(0); //( - GlStateManager.setFogEnd(0.5f); - GlStateManager.setFogDensity(.015f); - } - else if(living.isPotionActive(IIPotions.radiation)) - { - GlStateManager.setFog(FogMode.EXP2); - GlStateManager.setFogStart(0); //( - GlStateManager.setFogEnd(1.25f); - GlStateManager.setFogDensity(.015f); - } - //Suppression - if(living.getActivePotionEffect(IIPotions.suppression)!=null) - { - PotionEffect effect = living.getActivePotionEffect(IIPotions.suppression); - assert effect!=null; - int amplifier = effect.getAmplifier(); - if(amplifier < 0) - amplifier = 254+amplifier; - - float f1 = MathHelper.clamp((float)amplifier/255f, 0f, 1f); - //if(timeLeft < 20) - //f1 += (event.getFarPlaneDistance()/4)*(1-timeLeft/20f); - - GlStateManager.setFog(FogMode.LINEAR); - GlStateManager.setFogStart((float)Math.pow(1f-f1, 2)*12); //( - GlStateManager.setFogEnd((float)Math.pow(1f-f1, 2)*16); - GlStateManager.setFogDensity(.00625f+.00625f*f1); - - if(GLContext.getCapabilities().GL_NV_fog_distance) - GlStateManager.glFogi(34138, 34139); - } + float fogFactor = getRadiationFogFactor(living, event.getRenderPartialTicks()); + if(fogFactor <= 0) + return; - } + float normalFogEnd = event.getFarPlaneDistance(); + float denseFogEnd = Math.min(5f, normalFogEnd); + GlStateManager.setFog(FogMode.LINEAR); + GlStateManager.setFogStart((float)IIMath.clampedLerp(normalFogEnd*0.75f, 0f, fogFactor)); + GlStateManager.setFogEnd((float)IIMath.clampedLerp(normalFogEnd, denseFogEnd, fogFactor)); } @SubscribeEvent() @@ -462,22 +453,24 @@ public void onFogColorUpdate(FogColors event) EntityLivingBase living = (EntityLivingBase)entity; //Nuke/Wasteland - if(living.getActivePotionEffect(IIPotions.nuclearHeat)!=null) + float fogFactor = getRadiationFogFactor(living, event.getRenderPartialTicks()); + PotionEffect nuclearHeat = living.getActivePotionEffect(IIPotions.nuclearHeat); + if(nuclearHeat!=null) { - float v = event.getEntity().getEntityWorld().provider.getSunBrightnessFactor(0); - //float min = Math.min(Math.min(event.getRed(), event.getGreen()), event.getBlue()); - event.setRed(v); - event.setGreen(v); - event.setBlue(v); + float remainingDuration = (float)(nuclearHeat.getDuration()-event.getRenderPartialTicks()); + float brightness = MathHelper.clamp((remainingDuration-400f)/20f, 0f, 1f); + event.setRed(brightness); + event.setGreen(brightness); + event.setBlue(brightness); } - else if(living.isPotionActive(IIPotions.radiation)) + else if(fogFactor > 0&&living.isPotionActive(IIPotions.radiation)) { float[] rgb = IIColor.fromPackedRGB(0x64604e) - .withBrightness(0.2f*event.getEntity().getEntityWorld().provider.getSunBrightnessFactor(0.25f)) + .withBrightness(0.2f*world.provider.getSunBrightnessFactor(0.25f)) .getFloatRGB(); - event.setRed(rgb[0]); - event.setGreen(rgb[1]); - event.setBlue(rgb[2]); + event.setRed((float)IIMath.clampedLerp(event.getRed(), rgb[0], fogFactor)); + event.setGreen((float)IIMath.clampedLerp(event.getGreen(), rgb[1], fogFactor)); + event.setBlue((float)IIMath.clampedLerp(event.getBlue(), rgb[2], fogFactor)); } //Suppression @@ -513,6 +506,27 @@ else if(living.isPotionActive(IIPotions.radiation)) } + + private float getRadiationFogFactor(EntityLivingBase living, double partialTicks) + { + PotionEffect nuclearHeat = living.getActivePotionEffect(IIPotions.nuclearHeat); + PotionEffect radiation = living.getActivePotionEffect(IIPotions.radiation); + if(nuclearHeat!=null) + return 1f; + if(radiation==null) + return 0; + + Vec3d position = new Vec3d( + living.prevPosX+(living.posX-living.prevPosX)*partialTicks, + living.prevPosY+(living.posY-living.prevPosY)*partialTicks+living.getEyeHeight(), + living.prevPosZ+(living.posZ-living.prevPosZ)*partialTicks + ); + float proximity = RadiationHandler.INSTANCE.getRadiationProximity(living.world, position); + if(proximity > 0) + return proximity; + return MathHelper.clamp((radiation.getAmplifier()+1)/5f, 0.2f, 1f); + } + /** * Handling zoom for player view (on items) */ @@ -534,9 +548,9 @@ public void onFOVCamera(FOVModifier event) { CameraHandler.handleZoom(); - if (CameraHandler.zoom != null) + if(CameraHandler.zoom!=null) { - float newFOV = event.getFOV() * CameraHandler.fovZoom; + float newFOV = event.getFOV()*CameraHandler.fovZoom; event.setFOV(newFOV); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java index b3618f1c8..b4bf088ac 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java @@ -415,7 +415,7 @@ public void preInit(FMLPreInitializationEvent event) registerEntityRenderer(EntitySkycrateInternal.class, EntityRenderNone::new); registerEntityRenderer(EntityVehicleSeat.class, EntityRenderNone::new); - registerEntityRenderer(EntityAtomicBoom.class, AtomicBoomRenderer::new); + registerEntityRenderer(EntityAtomicBoom.class, EntityRenderNone::new); registerEntityRenderer(EntityGasCloud.class, EntityRenderNone::new); registerEntityRenderer(EntityFlare.class, EntityRenderNone::new); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java index 0eb4a5193..4dfd3b643 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java @@ -5,18 +5,17 @@ import net.minecraft.util.math.MathHelper; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import pl.pabilo8.immersiveintelligence.client.fx.factories.ParticleFactory; import pl.pabilo8.immersiveintelligence.client.fx.factories.ParticleModelFactory; import pl.pabilo8.immersiveintelligence.client.fx.factories.ParticleVanillaFactory; -import pl.pabilo8.immersiveintelligence.client.fx.particles.AbstractParticle; -import pl.pabilo8.immersiveintelligence.client.fx.particles.ParticleAMTModel; -import pl.pabilo8.immersiveintelligence.client.fx.particles.ParticleAbstractModel; -import pl.pabilo8.immersiveintelligence.client.fx.particles.ParticleVanilla; +import pl.pabilo8.immersiveintelligence.client.fx.particles.*; import pl.pabilo8.immersiveintelligence.client.fx.utils.IIParticleUtils.PositionGenerator; import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleOffspring; import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProgram; import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleRegistry; import pl.pabilo8.immersiveintelligence.common.IILogger; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIFileUtils; import pl.pabilo8.immersiveintelligence.common.util.IIFileUtils.ResourceException; import pl.pabilo8.immersiveintelligence.common.util.ResLoc; @@ -42,6 +41,8 @@ public static void preInit() //Register particle types ParticleRegistry.registerParticleType("ParticleModel", () -> new ParticleModelFactory<>(ParticleAMTModel::new)); ParticleRegistry.registerParticleType("ParticleVanilla", () -> new ParticleVanillaFactory(ParticleVanilla::new)); + ParticleRegistry.registerParticleType("ParticleGlow", () -> new ParticleFactory<>(ParticleGlow::new)); + ParticleRegistry.registerParticleType("ParticleLightning", () -> new ParticleFactory<>(ParticleLightning::new)); //Register programs ParticleRegistry.registerProgram(() -> new ParticleProgram("dust_transition") @@ -56,6 +57,15 @@ public void onParticleRender(AbstractParticle particle, float partialTicks) }); ParticleRegistry.registerProgram(() -> new ParticleProgram("smoke_transition") { + float defaultAlpha = 1f; + + @Override + public void initArguments(String... args) throws ParticleArgumentException + { + if(args.length > 0) + defaultAlpha = Float.parseFloat(args[0]); + } + @Override public void onParticleRender(AbstractParticle particle, float partialTicks) { @@ -70,7 +80,7 @@ else if(progress < 0.7) else alpha = 0.25f*(1-(progress-0.7f)/0.3f); - particle.setProperty(ParticleProperties.ALPHA, alpha); + particle.setProperty(ParticleProperties.ALPHA, alpha*defaultAlpha); } }); ParticleRegistry.registerProgram(() -> new ParticleProgram("shockwave_transition") @@ -83,6 +93,45 @@ public void onParticleRender(AbstractParticle particle, float partialTicks) particle.setProperty(ParticleProperties.ALPHA, 1-progress); } }); + ParticleRegistry.registerProgram(() -> new ParticleProgram("color_transition") + { + IIColor[] colors = new IIColor[]{IIColor.WHITE, IIColor.WHITE}; + + @Override + public void initArguments(String... args) throws ParticleArgumentException + { + if(args.length < 2) + throw new ParticleArgumentException("Color transition requires at least two hexadecimal colors."); + + colors = new IIColor[args.length]; + for(int i = 0; i < args.length; i++) + { + String hex = args[i].trim(); + if(hex.startsWith("#")) + hex = hex.substring(1); + else if(hex.startsWith("0x")||hex.startsWith("0X")) + hex = hex.substring(2); + + if(!hex.matches("(?i)[0-9a-f]{6}([0-9a-f]{2})?")) + throw new ParticleArgumentException("Invalid hexadecimal color: "+args[i]); + colors[i] = IIColor.fromHex(hex); + } + } + + @Override + public void onParticleRender(AbstractParticle particle, float partialTicks) + { + float scaledProgress = particle.getProgress(partialTicks)*(colors.length-1); + int segment = Math.min(colors.length-2, MathHelper.floor(scaledProgress)); + float segmentProgress = scaledProgress-segment; + float[] rgb = colors[segment].mixedWith(colors[segment+1], segmentProgress).getFloatRGB(); + + //Set RGB separately so that another program can control alpha. + particle.setProperty(ParticleProperties.RED, rgb[0]); + particle.setProperty(ParticleProperties.GREEN, rgb[1]); + particle.setProperty(ParticleProperties.BLUE, rgb[2]); + } + }); ParticleRegistry.registerProgram(() -> new ParticleProgram("lifetime_retexture") { @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java new file mode 100644 index 000000000..91b29c34f --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java @@ -0,0 +1,158 @@ +package pl.pabilo8.immersiveintelligence.client.fx.particles; + +import blusunrize.immersiveengineering.common.util.chickenbones.Matrix4; +import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; + +import javax.annotation.Nonnull; +import java.util.Random; + +/** + * Draws an additive burst of glow rays (like an ender dragon explosion). + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 06.08.2026 + */ +public class ParticleGlow extends AbstractParticle +{ + private static final int RAY_COUNT = 60; + private static final long RAY_SEED = 432L; + + private IIColor color = IIColor.WHITE; + private IIColor edgeColor = IIColor.fromPackedRGB(0xFF7F37); + private float size = 1f; + private float scale = 1f; + + /** + * Creates an additive glow particle. + * + * @param world particle world + * @param pos particle position + */ + public ParticleGlow(World world, Vec3d pos) + { + super(world, pos); + } + + @Nonnull + @Override + public Object getProperty(ParticleProperties key) + { + switch(key) + { + case COLOR: + return color; + case COLOR_SECONDARY: + return edgeColor; + case RED: + return color.red; + case GREEN: + return color.green; + case BLUE: + return color.blue; + case ALPHA: + return color.alpha; + case SIZE: + return size; + case SCALE: + return scale; + default: + return super.getProperty(key); + } + } + + @Override + public void setProperty(ParticleProperties key, Object value) + { + switch(key) + { + case COLOR: + color = (IIColor)value; + break; + case COLOR_SECONDARY: + edgeColor = (IIColor)value; + break; + case RED: + color = color.withRed((float)value); + break; + case GREEN: + color = color.withGreen((float)value); + break; + case BLUE: + color = color.withBlue((float)value); + break; + case ALPHA: + color = color.withAlpha((float)value); + break; + case SIZE: + size = (float)value; + break; + case SCALE: + scale = (float)value; + break; + default: + super.setProperty(key, value); + break; + } + } + + @Override + public void preRender(float partialTicks, float x, float xz, float z, float yz, float xy) + { + super.preRender(partialTicks, x, xz, z, yz, xy); + float age = lifeTime+partialTicks; + matrix.translate(0, -1d+Math.min(1f, age)*12f*size/200f, 0); + } + + @Override + public void render(BufferBuilder buffer, float partialTicks, float x, float xz, float z, float yz, float xy) + { + float age = lifeTime+partialTicks; + float safeLifetime = Math.max(1f, maxLifeTime); + float fadeIn = MathHelper.clamp(age/(safeLifetime*0.1f), 0f, 1f); + float fadeOut = MathHelper.clamp((safeLifetime-age)/(safeLifetime*0.05f), 0f, 1f); + float visibleScale = size*scale*Math.min(fadeIn, fadeOut); + if(visibleScale <= 0f) + return; + + float spin = getProgress(partialTicks)*25f; + Random random = new Random(RAY_SEED); + Matrix4 rayMatrix = matrix.copy(); + for(int i = 0; i < RAY_COUNT; i++) + { + rayMatrix.rotate(Math.toRadians(random.nextFloat()*180f), 1, 0, 0); + rayMatrix.rotate(Math.toRadians(random.nextFloat()*360f), 0, 1, 0); + rayMatrix.rotate(Math.toRadians(random.nextFloat()*180f), 1, 0, 0); + rayMatrix.rotate(Math.toRadians(random.nextFloat()*360f), 0, 1, 0); + rayMatrix.rotate(Math.toRadians(random.nextFloat()*360f+spin), 0, 0, 1); + + double length = random.nextFloat()*35f*visibleScale; + double radius = random.nextFloat()*15f*visibleScale; + Vec3d origin = rayMatrix.apply(Vec3d.ZERO); + Vec3d first = rayMatrix.apply(new Vec3d(-0.8660254037844386*radius, length, -0.5*radius)); + Vec3d second = rayMatrix.apply(new Vec3d(0.8660254037844386*radius, length, -0.5*radius)); + Vec3d third = rayMatrix.apply(new Vec3d(0, length, radius)); + + addTriangle(buffer, origin, first, second); + addTriangle(buffer, origin, second, third); + addTriangle(buffer, origin, third, first); + } + } + + private void addTriangle(BufferBuilder buffer, Vec3d origin, Vec3d first, Vec3d second) + { + buffer.pos(origin.x, origin.y, origin.z) + .color(color.red, color.green, color.blue, color.alpha) + .endVertex(); + buffer.pos(first.x, first.y, first.z) + .color(edgeColor.red, edgeColor.green, edgeColor.blue, 0) + .endVertex(); + buffer.pos(second.x, second.y, second.z) + .color(edgeColor.red, edgeColor.green, edgeColor.blue, 0) + .endVertex(); + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleLightning.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleLightning.java new file mode 100644 index 000000000..37978c8ab --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleLightning.java @@ -0,0 +1,184 @@ +package pl.pabilo8.immersiveintelligence.client.fx.particles; + +import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; + +import javax.annotation.Nonnull; +import javax.vecmath.Vector3f; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +/** + * Draws an animated lightning between POSITION and STRETCH. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 06.08.2026 + */ +public class ParticleLightning extends AbstractParticle +{ + private static final int SUB_POINT_COUNT = 12; + private static final int BASE_ANIMATION_DELAY = 4; + + private final List subPoints = new ArrayList<>(); + private final Random random = new Random(); + private IIColor color = IIColor.WHITE; + private Vector3f endPoint = new Vector3f(1, 1, 1); + private int animationTimer; + + /** + * Creates an animated lightning particle. + * + * @param world particle world + * @param pos lightning start point + */ + public ParticleLightning(World world, Vec3d pos) + { + super(world, pos); + random.setSeed(getLightningSeed()); + } + + @Override + public void onUpdate() + { + if(subPoints.isEmpty()||animationTimer <= 0) + createLightning(); + else + animationTimer--; + super.onUpdate(); + } + + @Nonnull + @Override + public Object getProperty(ParticleProperties key) + { + switch(key) + { + case COLOR: + return color; + case RED: + return color.red; + case GREEN: + return color.green; + case BLUE: + return color.blue; + case ALPHA: + return color.alpha; + case STRETCH: + return endPoint; + default: + return super.getProperty(key); + } + } + + @Override + public void setProperty(ParticleProperties key, Object value) + { + switch(key) + { + case COLOR: + color = (IIColor)value; + break; + case RED: + color = color.withRed((float)value); + break; + case GREEN: + color = color.withGreen((float)value); + break; + case BLUE: + color = color.withBlue((float)value); + break; + case ALPHA: + color = color.withAlpha((float)value); + break; + case STRETCH: + endPoint = new Vector3f((Vector3f)value); + random.setSeed(getLightningSeed()); + subPoints.clear(); + animationTimer = 0; + break; + default: + super.setProperty(key, value); + break; + } + } + + @Override + public void render(BufferBuilder buffer, float partialTicks, float x, float xz, float z, float yz, float xy) + { + if(subPoints.isEmpty()) + createLightning(); + renderStrip(buffer, color); + } + + private long getLightningSeed() + { + long seed = Double.doubleToLongBits(pos.x); + seed = 31*seed+Double.doubleToLongBits(pos.y); + seed = 31*seed+Double.doubleToLongBits(pos.z); + seed = 31*seed+Float.floatToIntBits(endPoint.x); + seed = 31*seed+Float.floatToIntBits(endPoint.y); + return 31*seed+Float.floatToIntBits(endPoint.z); + } + + private void createLightning() + { + subPoints.clear(); + Vec3d start = new Vec3d(pos.x, pos.y, pos.z); + Vec3d end = new Vec3d(endPoint.x, endPoint.y, endPoint.z); + Vec3d distance = end.subtract(start); + + for(int i = 0; i < SUB_POINT_COUNT; i++) + { + Vec3d sub = start.addVector( + distance.x/SUB_POINT_COUNT*i, + distance.y/SUB_POINT_COUNT*i, + distance.z/SUB_POINT_COUNT*i + ); + double fixedPointDistance = (i-SUB_POINT_COUNT/2d)/(SUB_POINT_COUNT/2d); + double modifier = 1d-0.75d*Math.abs(fixedPointDistance); + double offsetX = (random.nextDouble()-0.5d)*modifier; + double offsetY = (random.nextDouble()-0.5d)*modifier; + double offsetZ = (random.nextDouble()-0.5d)*modifier; + + if(fixedPointDistance < 0) + { + offsetY += 0.75d*modifier*(0.75d+fixedPointDistance); + offsetX = sub.x-start.x < 0?-Math.abs(offsetX): Math.abs(offsetX); + offsetZ = sub.z-start.z < 0?-Math.abs(offsetZ): Math.abs(offsetZ); + } + else + { + offsetY = Math.min(end.y+(1d-fixedPointDistance)*-Math.signum(distance.y), offsetY); + offsetX = Math.abs(offsetX)*(end.x-sub.x); + offsetZ = Math.abs(offsetZ)*(end.z-sub.z); + } + subPoints.add(sub.addVector(offsetX, offsetY, offsetZ)); + } + animationTimer = BASE_ANIMATION_DELAY+random.nextInt(5)-2; + } + + private void renderStrip(BufferBuilder buffer, IIColor stripColor) + { + Vec3d start = new Vec3d(pos.x-interPos.x, pos.y-interPos.y, pos.z-interPos.z); + Vec3d end = new Vec3d(endPoint.x-interPos.x, endPoint.y-interPos.y, endPoint.z-interPos.z); + + //Transparent duplicate endpoints separate particles in the shared GL_LINE_STRIP buffer. + addVertex(buffer, start, stripColor, 0); + addVertex(buffer, start, stripColor, stripColor.alpha); + for(Vec3d point : subPoints) + addVertex(buffer, point.subtract(interPos), stripColor, stripColor.alpha); + addVertex(buffer, end, stripColor, stripColor.alpha); + addVertex(buffer, end, stripColor, 0); + } + + private void addVertex(BufferBuilder buffer, Vec3d point, IIColor stripColor, int alpha) + { + buffer.pos(point.x, point.y, point.z) + .color(stripColor.red, stripColor.green, stripColor.blue, alpha) + .endVertex(); + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleDrawStages.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleDrawStages.java index e22e31ad3..f18a27d94 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleDrawStages.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleDrawStages.java @@ -61,23 +61,56 @@ public enum ParticleDrawStages implements ISerializableEnum * Same as CUSTOM, but with normal maps, use with solid 3D models */ CUSTOM_SOLID(GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, IIParticleUtils.PARTICLE_SOLID, - false, true, TextureMap.LOCATION_BLOCKS_TEXTURE); + false, true, TextureMap.LOCATION_BLOCKS_TEXTURE), + /** + * Color-only triangles with additive blending. + */ + COLOR_ONLY_ADDITIVE_TRIANGLES(DestFactor.ONE, DefaultVertexFormats.POSITION_COLOR, + false, false, null, GL11.GL_TRIANGLES, true), + /** + * Wide color-only line strips with additive blending. + */ + COLOR_ONLY_LINE_STRIP(DestFactor.ONE, DefaultVertexFormats.POSITION_COLOR, + false, false, null, GL11.GL_LINE_STRIP, false, 4f), + /** + * Thin color-only line strips with additive blending. + */ + COLOR_ONLY_LINE_STRIP_THIN(DestFactor.ONE, DefaultVertexFormats.POSITION_COLOR, + false, false, null, GL11.GL_LINE_STRIP, false, 1f); public final boolean renderThroughBlocks, applyLighting; public final boolean requiresNormals; final DestFactor destFactor; final VertexFormat vertexFormat; final ResourceLocation textureRes; + final int drawMode; + final boolean smoothShading; + final float lineWidth; final Shaders shader; final Function shaderParameters; ParticleDrawStages(DestFactor destFactor, VertexFormat vertexFormat, boolean renderThroughBlocks, boolean applyLighting, @Nullable ResourceLocation textureRes) + { + this(destFactor, vertexFormat, renderThroughBlocks, applyLighting, textureRes, GL11.GL_QUADS, false, 1f); + } + + ParticleDrawStages(DestFactor destFactor, VertexFormat vertexFormat, boolean renderThroughBlocks, boolean applyLighting, + @Nullable ResourceLocation textureRes, int drawMode, boolean smoothShading) + { + this(destFactor, vertexFormat, renderThroughBlocks, applyLighting, textureRes, drawMode, smoothShading, 1f); + } + + ParticleDrawStages(DestFactor destFactor, VertexFormat vertexFormat, boolean renderThroughBlocks, boolean applyLighting, + @Nullable ResourceLocation textureRes, int drawMode, boolean smoothShading, float lineWidth) { this.destFactor = destFactor; this.vertexFormat = vertexFormat; this.renderThroughBlocks = renderThroughBlocks; this.applyLighting = applyLighting; this.textureRes = textureRes; + this.drawMode = drawMode; + this.smoothShading = smoothShading; + this.lineWidth = lineWidth; this.shader = null; this.shaderParameters = partialTicks -> new float[0]; this.requiresNormals = vertexFormat.getElements().stream() @@ -92,6 +125,9 @@ public enum ParticleDrawStages implements ISerializableEnum this.renderThroughBlocks = renderThroughBlocks; this.applyLighting = applyLighting; this.textureRes = textureRes; + this.drawMode = GL11.GL_QUADS; + this.smoothShading = false; + this.lineWidth = 1f; this.requiresNormals = vertexFormat.getElements().stream() .anyMatch(element -> element.getUsage()==EnumUsage.NORMAL); this.shader = shader; @@ -111,10 +147,17 @@ public void prepareRender(BufferBuilder buffer, float partialTicks) GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, destFactor); if(this.renderThroughBlocks) GlStateManager.disableDepth(); + else + GlStateManager.enableDepth(); + if(shader!=null) ShaderUtil.useShader(shader, shaderParameters.apply(partialTicks)); - buffer.begin(GL11.GL_QUADS, vertexFormat); + if(smoothShading) + GlStateManager.shadeModel(GL11.GL_SMOOTH); + if(lineWidth!=1f) + GL11.glLineWidth(lineWidth); + buffer.begin(drawMode, vertexFormat); } public void clear() @@ -125,6 +168,10 @@ public void clear() GlStateManager.enableTexture2D(); if(shader!=null) ShaderUtil.releaseShader(); + if(smoothShading) + GlStateManager.shadeModel(GL11.GL_FLAT); + if(lineWidth!=1f) + GL11.glLineWidth(1f); if(applyLighting) GlStateManager.disableLighting(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleProperties.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleProperties.java index 6a306fffe..f140c5635 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleProperties.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleProperties.java @@ -12,6 +12,9 @@ import java.util.function.Supplier; /** + * Defines values that particle factories, programs, and particles can exchange. + * Properties use a common NBT representation for resource files and network data. + * * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 * @since 15.12.2024 @@ -38,6 +41,7 @@ public enum ParticleProperties implements ISerializableEnum //--- Color ---// COLOR(IIColor.class, () -> IIColor.WHITE), + COLOR_SECONDARY(IIColor.class, () -> IIColor.WHITE), RED(float.class, true, () -> 1f), GREEN(float.class, true, () -> 1f), BLUE(float.class, true, () -> 1f), diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java index 3ec584459..050d56d52 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java @@ -8,10 +8,12 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fml.common.toposort.TopologicalSort; +import net.minecraftforge.fml.common.toposort.TopologicalSort.DirectedGraph; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.api.ammo.PenetrationRegistry; @@ -19,14 +21,18 @@ import pl.pabilo8.immersiveintelligence.client.IIClientUtils; import pl.pabilo8.immersiveintelligence.client.fx.factories.ParticleFactory; import pl.pabilo8.immersiveintelligence.client.fx.particles.AbstractParticle; +import pl.pabilo8.immersiveintelligence.client.fx.utils.IIParticleUtils.PositionGenerator; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProgram.ParticleArgumentException; import pl.pabilo8.immersiveintelligence.client.render.IReloadableModelContainer; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Graphics; import pl.pabilo8.immersiveintelligence.common.IILogger; +import pl.pabilo8.immersiveintelligence.common.ammo.components.nuke.AmmoComponentNuke; import pl.pabilo8.immersiveintelligence.common.util.*; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import javax.annotation.Nullable; import javax.vecmath.Vector2f; +import javax.vecmath.Vector3f; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -156,7 +162,7 @@ public static ParticleProgram getProgram(String name) try { program.initArguments(params.split(",")); - } catch(ParticleProgram.ParticleArgumentException e) + } catch(ParticleArgumentException e) { IILogger.error("Error initializing program arguments for "+name+": "+e.getMessage()); } @@ -173,7 +179,7 @@ else if(PROGRAMS_REGISTRY.containsKey(name)) public static void loadAllParticleFiles() { - TopologicalSort.DirectedGraph graph = new TopologicalSort.DirectedGraph<>(); + DirectedGraph graph = new DirectedGraph<>(); FILELOADER_ENTRIES.keySet().forEach(graph::addNode); for(String name : FILELOADER_ENTRIES.keySet()) @@ -524,6 +530,230 @@ private static float getAffectedSurfaceExtent(Vec3d center, List block return (float)Math.sqrt(maxDistanceSq); } + /** + * Spawns the complete white phosphorus effect without client-side effect entities. + */ + public static void spawnWhitePhosphorusFX(World world, Vec3d centerPos, Vec3d direction, + ComponentEffectShape shape, float size) + { + Vec3d mainPosition = centerPos.subtract(direction); + Vec3d mainMotion = direction.scale(-0.75); + + switch(shape) + { + case ORB: + case STAR: + case CONE: + spawnParticle("phosphorus/orb", centerPos, Vec3d.ZERO, new Vector2f(0, 0)); + mainMotion = new Vec3d(0, 0.4, 0); + + float particlesInLayer = 10f*size; + int fragmentCount = MathHelper.ceil(2f*particlesInLayer); + for(int i = 0; i < fragmentCount; i++) + { + Vec3d fragmentDirection = direction + .scale(i < size*10f?-1: -2) + .rotateYaw(i/particlesInLayer*360f); + Vec3d fragmentPosition = centerPos.addVector( + fragmentDirection.x, -direction.y, fragmentDirection.z + ); + fragmentDirection = fragmentDirection.scale(2); + Vec3d fragmentMotion = new Vec3d( + fragmentDirection.x*0.125f, + (fragmentDirection.y+(i < size*10f?2: 0.5))*0.25f, + fragmentDirection.z*0.125f + ); + scheduleWhitePhosphorusTrace(world, fragmentPosition, fragmentMotion); + } + break; + case LINE: + default: + break; + } + + scheduleWhitePhosphorusTrace(world, mainPosition, mainMotion); + } + + private static void scheduleWhitePhosphorusTrace(World world, Vec3d initialPosition, Vec3d initialMotion) + { + Vec3d position = initialPosition; + Vec3d motion = initialMotion; + for(int tick = 0; tick < 8; tick++) + { + float progress = (tick+1)/7f; + scheduleSpawnParticle("phosphorus/ember", position, motion, new Vector2f(0, 0), tick) + .withProperty(ParticleProperties.SIZE, Math.max(0.05f, 0.25f-0.07f*progress)); + scheduleSpawnParticle("phosphorus/smoke_trace", position, Vec3d.ZERO, new Vector2f(0, 0), tick) + .withProperty(ParticleProperties.SIZE, Math.max(0.15f, 0.8f-0.5f*progress)); + + if(tick < 6) + { + int gracefulCount = Math.floorMod(IIParticleUtils.randInt.get(), 3); + for(int i = 0; i < gracefulCount; i++) + scheduleSpawnParticle("phosphorus/smoke_graceful", + position.addVector(0, 0.5, 0).add(IIParticleUtils.getRandXZ().scale(0.5f)), + Vec3d.ZERO, new Vector2f(0, 0), tick); + } + + Vec3d nextPosition = position.add(motion); + RayTraceResult hit = world.rayTraceBlocks(position, nextPosition, false, true, false); + if(hit!=null) + break; + + position = nextPosition; + motion = motion.scale(0.99).addVector(0, -0.004, 0); + } + } + + public static void spawnAtomicExplosionFX(World world, Vec3d centerPos, float size) + { + ParticleDetail particleDetail = IIParticleUtils.getParticleDetailLevel(Graphics.nukeParticlesDetail); + if(!particleDetail.isEnabled()) + return; + + spawnParticle("nuke/glow", centerPos, Vec3d.ZERO, new Vector2f(0, 0)) + .withProperty(ParticleProperties.SIZE, size) + .withProperty(ParticleProperties.MAX_LIFETIME, 400); + + //Compute the particle budgets + float effectExtent = MathHelper.clamp(size*AmmoComponentNuke.EXPLOSION_SIZE, 1f, AmmoComponentNuke.EXPLOSION_POWER+1f); + float logSize = 1f+MathHelper.log2(Math.max(1, (int)effectExtent)); + + //Shockwave + final int tick = particleDetail.isHigh()?4: particleDetail.isMedium()?6: 8; + for(int i = 0; i < 40; i += tick) + ParticleRegistry.scheduleSpawnParticle("nuke/shockwave_main", + centerPos.addVector(0, 1.5*size, 0), Vec3d.ZERO, new Vector2f(0, 0), + i); + + //Dust Cloud + float cloudSize = 3.5f; + int steps = (int)Math.ceil(AmmoComponentNuke.EXPLOSION_SIZE/cloudSize); + for(int i = 0; i < steps; i++) + { + int delay = 2*i; + int perRing = (int)((i+1)*2*Math.PI); + for(int p = 0; p < perRing; p++) + { + Vec3d pos = PositionGenerator.CIRCLE_XZ.generatePosition(centerPos, p, i*cloudSize, perRing); + scheduleSpawnParticle("nuke/dust_cloud", pos.addVector(0, (steps-i)*0.25f-2.0f, 0), + Vec3d.ZERO, new Vector2f(0, 0), delay) + .withProperty(ParticleProperties.SIZE, cloudSize) + .withProperty(ParticleProperties.MAX_LIFETIME, (int)(100*logSize)+100); + } + } + + //Bright core + float coreSize = 6f*size; + int lifetime = (int)(65*logSize)+75; + for(int p = 0; p < 8*size; p++) + { + Vec3d pos = PositionGenerator.CIRCLE_XZ.generatePosition(centerPos, p, coreSize+1, (int)(8*size)); + + scheduleSpawnParticle("nuke/dust_cloud", pos.addVector(0, -1.0f, 0), + Vec3d.ZERO, new Vector2f(0, 0), 60) + .withProperty(ParticleProperties.SIZE, coreSize+1) + .withProperty(ParticleProperties.MAX_LIFETIME, lifetime); + scheduleSpawnParticle("nuke/nuke_core", pos.addVector(0, -2.0f, 0), + Vec3d.ZERO, new Vector2f(0, 0), 60) + .withProperty(ParticleProperties.SIZE, coreSize) + .withProperty(ParticleProperties.MAX_LIFETIME, lifetime); + + scheduleSpawnParticle("nuke/post_cloud", pos.addVector(0, -1.0f, 0), + Vec3d.ZERO, new Vector2f(0, 0), 60+lifetime-20) + .withProperty(ParticleProperties.SIZE, coreSize) + .withProperty(ParticleProperties.MAX_LIFETIME, lifetime+20); + } + + //Nuclear mushroom pillar, rising from the explosion centre. + float mushroomHeight = effectExtent*0.95f; + for(float i = 0; i <= mushroomHeight; i += coreSize) + { + int pillarLifetime = lifetime-MathHelper.clamp((int)((i/mushroomHeight)*lifetime/2), 0, lifetime/2); + scheduleSpawnParticle("nuke/nuke_core", centerPos.addVector(0, i-coreSize, 0), + new Vec3d(0, 0.01f*size, 0), new Vector2f(0, 0), + (int)(60+i)) + .withProperty(ParticleProperties.SIZE, coreSize) + .withProperty(ParticleProperties.MAX_LIFETIME, pillarLifetime); + + scheduleSpawnParticle("nuke/post_cloud", centerPos.addVector(0, i-coreSize, 0), + Vec3d.ZERO, new Vector2f(0, 0), (int)(60+i+pillarLifetime-20)) + .withProperty(ParticleProperties.SIZE, coreSize) + .withProperty(ParticleProperties.MAX_LIFETIME, lifetime+20); + } + + //Nuclear mushroom top + int initialMushroomTime = 60+MathHelper.ceil(mushroomHeight); + int mushroomLifetime = Math.max(20, lifetime/2); + steps = (int)Math.ceil(AmmoComponentNuke.EXPLOSION_SIZE*2/coreSize); + for(int i = 0; i < steps; i++) + { + int delay = initialMushroomTime+2*i; + int ringLifetime = mushroomLifetime+4*(steps-1-i); + int perRing = (int)((i+1)*2*Math.PI); + for(int p = 0; p < perRing; p++) + { + Vec3d pos = PositionGenerator.CIRCLE_XZ.generatePosition(centerPos, p, i*coreSize*0.5f, perRing); + Vec3d mushroomPos = pos.addVector(0, mushroomHeight+(steps-i)*0.25f-2.0f, 0); + + scheduleSpawnParticle("nuke/nuke_core", mushroomPos, + Vec3d.ZERO, new Vector2f(0, 0), delay) + .withProperty(ParticleProperties.SIZE, coreSize*0.5f) + .withProperty(ParticleProperties.MAX_LIFETIME, ringLifetime); + + scheduleSpawnParticle("nuke/post_cloud", mushroomPos, + Vec3d.ZERO, new Vector2f(0, 0), delay+ringLifetime-20) + .withProperty(ParticleProperties.SIZE, coreSize*0.5f) + .withProperty(ParticleProperties.MAX_LIFETIME, lifetime+20); + } + } + } + + /** + * Spawns an EMP flash, shockwave, and one lightning arc for each affected target. + */ + public static void spawnEMPExplosionFX(World world, Vec3d centerPos, float radius, List affectedTargets) + { + ParticleDetail particleDetail = IIParticleUtils.getParticleDetailLevel(Graphics.explosionParticlesDetail); + if(!particleDetail.isEnabled()) + return; + + float effectRadius = Math.max(1f, radius); + IIColor coreColor = IIColor.fromPackedRGB(0xDDF7FF); + IIColor edgeColor = IIColor.fromPackedRGB(0x2F7FFF); + + AbstractParticle glow = spawnParticle("emp/glow", centerPos, Vec3d.ZERO, new Vector2f(0, 0)); + if(glow!=null) + glow.withProperty(ParticleProperties.SIZE, MathHelper.clamp(effectRadius*0.015f, 0.125f, 0.75f)) + .withProperty(ParticleProperties.COLOR, coreColor) + .withProperty(ParticleProperties.COLOR_SECONDARY, edgeColor); + + AbstractParticle shockwave = spawnParticle("explosion/shockwave", centerPos.addVector(0, 0.1, 0), + Vec3d.ZERO, new Vector2f(0, 0)); + if(shockwave!=null) + shockwave.withProperty(ParticleProperties.SIZE, effectRadius*0.75f) + .withProperty(ParticleProperties.COLOR, edgeColor) + .withProperty(ParticleProperties.MAX_LIFETIME, 12); + + if(affectedTargets==null) + return; + for(Vec3d target : affectedTargets) + { + if(target==null) + continue; + spawnLightning("emp/lightning", centerPos, target); + spawnLightning("emp/lightning_core", centerPos, target); + } + } + + private static void spawnLightning(String particleName, Vec3d start, Vec3d end) + { + AbstractParticle lightning = spawnParticle(particleName, start, Vec3d.ZERO, new Vector2f(0, 0)); + if(lightning!=null) + lightning.withProperty(ParticleProperties.STRETCH, + new Vector3f((float)end.x, (float)end.y, (float)end.z)); + } + public static void spawnGasCloud(Vec3d pos, float size, Fluid fluid) { //Check if fluid is not null diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleSystem.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleSystem.java index 2b16949e5..1b69c77f0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleSystem.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleSystem.java @@ -43,6 +43,7 @@ public class ParticleSystem //--- Constants ---// public static final ResourceLocation PARTICLE_TEXTURES = new ResourceLocation("textures/particle/particles.png"); private final Int2ObjectOpenHashMap> scheduledParticles = new Int2ObjectOpenHashMap<>(); + //--- Fields ---// private int particleAmount = 0; private final Map> particles = new HashMap>() @@ -113,7 +114,7 @@ public void updateParticles() //Cycle through the scheduled particles and decrement their timers int[] keys = scheduledParticles.keySet().toIntArray(); Arrays.sort(keys); - for(int i = keys.length-1; i >= 0; i--) + for(int i = 0; i < keys.length; i++) { int key = keys[i]; List particles = scheduledParticles.remove(key); @@ -171,7 +172,6 @@ public void renderParticles(float partialTicks) float xy = ActiveRenderInfo.getRotationXY(); float xz = ActiveRenderInfo.getRotationXZ(); EntityPlayer player = Minecraft.getMinecraft().player; - if(player!=null) { //Simulate the particle system for the current frame, so that particles are in the correct position when rendered @@ -186,10 +186,8 @@ public void renderParticles(float partialTicks) GlStateManager.depthMask(false); GlStateManager.enableDepth(); - Tessellator tess = Tessellator.getInstance(); BufferBuilder buffer = tess.getBuffer(); - drawParticles: synchronized(particles) { @@ -204,7 +202,6 @@ public void renderParticles(float partialTicks) iterator.remove(); continue; } - //Prepare settings for the draw stage int particleCount = 0; particleStage.getKey().prepareRender(buffer, partialTicks); @@ -225,7 +222,6 @@ public void renderParticles(float partialTicks) particleStage.getKey().clear(); } } - //Cleanup GlStateManager.enableCull(); GlStateManager.depthMask(true); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/AtomicBoomRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/AtomicBoomRenderer.java deleted file mode 100644 index 9ce0717f8..000000000 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/AtomicBoomRenderer.java +++ /dev/null @@ -1,87 +0,0 @@ -package pl.pabilo8.immersiveintelligence.client.render.ammunition; - -import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.util.ResourceLocation; -import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityAtomicBoom; - -import java.util.Random; - -/** - * @author Pabilo8 (pabilo@iiteam.net) - * @since 19.12.2020 - */ -public class AtomicBoomRenderer extends Render -{ - public AtomicBoomRenderer(RenderManager renderManager) - { - super(renderManager); - } - - @Override - public void doRender(EntityAtomicBoom entity, double x, double y, double z, float entityYaw, float partialTicks) - { - GlStateManager.pushMatrix(); - GlStateManager.translate(x, y, z); - - Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder bufferbuilder = tessellator.getBuffer(); - RenderHelper.disableStandardItemLighting(); - float f = ((float)entity.progress+partialTicks)/400.0F; - float f1 = entity.progress > 380?(1f-Math.max((entity.progress+partialTicks-380)/20f, 0)): (Math.min((entity.progress+partialTicks)/40f, 1)); - - Random random = new Random(432L); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.disableTexture2D(); - GlStateManager.shadeModel(7425); - GlStateManager.enableBlend(); - GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE); - GlStateManager.disableAlpha(); - GlStateManager.enableCull(); - GlStateManager.depthMask(false); - GlStateManager.pushMatrix(); - GlStateManager.translate(0.0F, -1.0F, 0F); - - for(int i = 0; (float)i < 60; ++i) - { - GlStateManager.rotate(random.nextFloat()*180.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(random.nextFloat()*360.0F, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(random.nextFloat()*180.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(random.nextFloat()*360.0F, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(random.nextFloat()*360.0F+f*25.0F, 0.0F, 0.0F, 1.0F); - float f2 = random.nextFloat()*35f*f1; - float f3 = random.nextFloat()*15.0F*f1; - bufferbuilder.begin(6, DefaultVertexFormats.POSITION_COLOR); - bufferbuilder.pos(0.0D, 0.0D, 0.0D).color(255, 255, 255, 255).endVertex(); - bufferbuilder.pos(-0.866D*f3, f2, -0.5F*(double)f3).color(255, 127, 55, 0).endVertex(); - bufferbuilder.pos(0.866D*f3, f2, -0.5F*(double)f3).color(255, 127, 55, 0).endVertex(); - bufferbuilder.pos(0.0D, f2, 1.0F*(double)f3).color(255, 127, 55, 0).endVertex(); - bufferbuilder.pos(-0.866D*(double)f3, f2, (double)-0.5F*f3).color(255, 127, 55, 0).endVertex(); - tessellator.draw(); - } - - GlStateManager.popMatrix(); - GlStateManager.depthMask(true); - GlStateManager.disableCull(); - GlStateManager.disableBlend(); - GlStateManager.shadeModel(7424); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.enableTexture2D(); - GlStateManager.enableAlpha(); - RenderHelper.enableStandardItemLighting(); - - GlStateManager.popMatrix(); - } - - - @Override - protected ResourceLocation getEntityTexture(EntityAtomicBoom entity) - { - return null; - } -} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java index fd5bf0e5f..c045fcf46 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java @@ -734,7 +734,7 @@ public void init(FMLInitializationEvent event) registerEntity(i++, EntityShrapnel.class, "shrapnel", 16, 1, true); registerEntity(i++, EntityWhitePhosphorus.class, "white_phosphorus", 16, 1, true); - registerEntity(i++, EntityMachinegun.class, "machinegun", 64, 1, true); + registerEntity(i++, EntityMachinegun.class, "machinegun", 64, 1, false); registerEntity(i++, EntitySkycrateInternal.class, "skycrate_internal", 64, 1, true); registerEntity(i++, EntityVehicleSeat.class, "seat", 64, 1, false); @@ -744,9 +744,9 @@ public void init(FMLInitializationEvent event) registerEntity(i++, EntityFieldFlak.class, "field_flak", 64, 1, false); registerEntity(i++, EntityFieldGun.class, "field_gun", 64, 1, false); - registerEntity(i++, EntityTripodPeriscope.class, "tripod_periscope", 64, 1, true); - registerEntity(i++, EntityAtomicBoom.class, "atomic_boom", 64, 1, true); - registerEntity(i++, EntityGasCloud.class, "gas_cloud", 64, 1, true); + registerEntity(i++, EntityTripodPeriscope.class, "tripod_periscope", 64, 1, false); + registerEntity(i++, EntityAtomicBoom.class, "atomic_boom", 64, 1, false); + registerEntity(i++, EntityGasCloud.class, "gas_cloud", 64, 1, false); registerEntity(i++, EntityHans.class, "hans", 64, 4, true); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java index e13861f59..82471f962 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java @@ -27,7 +27,6 @@ import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -66,8 +65,6 @@ @SuppressWarnings("unused") public class IIUtils { - public static final Vec3d ONE = new Vec3d(1, 1, 1); - public static Set genConnectableBlockstate(T te) { Set conns = ImmersiveNetHandler.INSTANCE.getConnections(te.getWorld(), te.getPos()); @@ -520,9 +517,13 @@ public static T getTileCapability(World world, BlockPos posIn, Capability } /** + * @param world the world + * @param centerPos the center position of the orb + * @param radius the radius of the orb + * @param allowAir if false non-air blocks will be included in the result * @return blocks in an orb of a given radius */ - public static Set getBlocksInOrb(World world, BlockPos centerPos, float radius) + public static Set getBlocksInOrb(World world, BlockPos centerPos, float radius, boolean allowAir) { ArrayList set = new ArrayList<>(); float diameter = radius*radius; @@ -535,12 +536,26 @@ public static Set getBlocksInOrb(World world, BlockPos centerPos, floa BlockPos pos = centerPos.add(x, y, z); //Check if distance is in radius if(pos.distanceSq(centerPos) <= diameter) - set.add(pos); + { + if(allowAir||!world.isAirBlock(pos)) + set.add(pos); + } } return Sets.newHashSet(set); } + /** + * @param world the world + * @param centerPos the center position of the orb + * @param radius the radius of the orb + * @return blocks in an orb of a given radius + */ + public static Set getBlocksInOrb(World world, BlockPos centerPos, float radius) + { + return getBlocksInOrb(world, centerPos, radius, true); + } + public static Set getBlocksInCube(World world, BlockPos centerPos, float radius) { ArrayList set = new ArrayList<>(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java index ca26c77d8..3d21c9445 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java @@ -16,6 +16,8 @@ import pl.pabilo8.immersiveintelligence.api.ammo.parts.AmmoComponent; import pl.pabilo8.immersiveintelligence.api.ammo.utils.IIAmmoUtils; import pl.pabilo8.immersiveintelligence.common.IISounds; +import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; +import pl.pabilo8.immersiveintelligence.common.network.messages.MessageExplosion; import pl.pabilo8.immersiveintelligence.common.util.IIColor; /** @@ -40,10 +42,17 @@ public IngredientStack getMaterial() @Override public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape shape, NBTTagCompound tag, float size, float multiplier, Entity owner) { + if(world.isRemote) + return; + float radius = multiplier*10; + BlockPos blockPos = new BlockPos(pos); + world.playSound(null, blockPos, IISounds.explosionFlare, SoundCategory.NEUTRAL, 1, 0.5f); + world.playSound(null, blockPos, IESounds.tesla, SoundCategory.NEUTRAL, 1, 0.5f); - world.playSound(null, new BlockPos(pos), IISounds.explosionFlare, SoundCategory.NEUTRAL, 1, 0.5f); - world.playSound(null, new BlockPos(pos), IESounds.tesla, SoundCategory.NEUTRAL, 1, 0.5f); - IIAmmoUtils.applyEMPEffect(world, new BlockPos(pos), radius, (int)(4000000*multiplier)); + IIPacketHandler.sendToClient(MessageExplosion.createEMPMessage( + world, pos, radius, + IIAmmoUtils.applyEMPEffect(world, blockPos, radius, (int)(4000000*multiplier)) + )); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java index 6ac826052..93d5647cb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java @@ -22,7 +22,7 @@ import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityWhitePhosphorus; import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; -import pl.pabilo8.immersiveintelligence.common.network.messages.MessageParticleEffect; +import pl.pabilo8.immersiveintelligence.common.network.messages.MessageExplosion; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import javax.annotation.Nullable; @@ -51,12 +51,17 @@ public IngredientStack getMaterial() @Override public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape shape, NBTTagCompound tag, float size, float multiplier, @Nullable Entity owner) { + if(world.isRemote) + return; + BlockPos blockPos = new BlockPos(pos); if(size > 0.2) IIPacketHandler.playRangedSound(world, pos, IISounds.explosionIncendiary, SoundCategory.NEUTRAL, (int)(40*multiplier), 1f, 1f); else world.playSound(null, blockPos, SoundEvents.BLOCK_LAVA_EXTINGUISH, SoundCategory.BLOCKS, 1f, 1f); + IIPacketHandler.sendToClient(MessageExplosion.createWhitePhosphorusMessage(world, pos, dir, shape, size)); + //Spawn main phosphorus entity, shared between all modes EntityWhitePhosphorus main = new EntityWhitePhosphorus(world, pos.x-dir.x, pos.y-dir.y, pos.z-dir.z, 0, 0, 0); main.motionX = -dir.x*0.75; @@ -86,7 +91,6 @@ public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape sha case ORB: case STAR: case CONE: - IIPacketHandler.sendToClient(new MessageParticleEffect("phosphorus/orb", world, pos, Vec3d.ZERO, 0, 0, null)); main.motionX = 0; main.motionY = 0.4; main.motionZ = 0; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java index 59dc22470..67fc43d15 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java @@ -31,6 +31,7 @@ import pl.pabilo8.immersiveintelligence.common.IISounds; import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityAtomicBoom; import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; +import pl.pabilo8.immersiveintelligence.common.network.messages.MessageExplosion; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIDamageSources; import pl.pabilo8.immersiveintelligence.common.util.IIExplosion; @@ -46,6 +47,7 @@ */ public class AmmoComponentNuke extends AmmoComponent { + public static final int EXPLOSION_SIZE = 56, EXPLOSION_POWER = 64; private static final int BIOME_ARRAY_SIZE = 16*16; private static final int FULL_CHUNK_PACKET_MASK = 65535; @@ -63,18 +65,20 @@ public IngredientStack getMaterial() @Override public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape shape, NBTTagCompound tag, float size, float multiplier, Entity owner) { - //Server-side only. Spawning the visual entity and playing the ranged sound from the server already reaches clients. + //The server sends visuals before it starts the expensive terrain work. if(world.isRemote) return; + IIPacketHandler.playRangedSound(world, pos, IISounds.explosionNuke, SoundCategory.NEUTRAL, 72, 1f, 0f); + IIPacketHandler.sendToClient(MessageExplosion.createNukeMessage(world, pos, multiplier)); + BlockPos centre = new BlockPos(pos); - new IIExplosion(world, owner, pos, null, 56*multiplier, 64, ComponentEffectShape.ORB, false, true, false) + new IIExplosion(world, owner, pos, null, EXPLOSION_SIZE*multiplier, EXPLOSION_POWER, + ComponentEffectShape.ORB, false, true, false) .doExplosion(false); applyEntityEffects(world, centre, multiplier); - IIPacketHandler.playRangedSound(world, pos, IISounds.explosionNuke, SoundCategory.NEUTRAL, 72, 1f, 0f); - EntityAtomicBoom entityAtomicBoom = new EntityAtomicBoom(world, multiplier); entityAtomicBoom.setPosition(pos.x, pos.y, pos.z); world.spawnEntity(entityAtomicBoom); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityAtomicBoom.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityAtomicBoom.java index cbf6c7fc9..dcf3dff56 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityAtomicBoom.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityAtomicBoom.java @@ -14,7 +14,6 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.fml.common.Optional; import net.minecraftforge.fml.common.Optional.Interface; @@ -37,119 +36,75 @@ public class EntityAtomicBoom extends Entity implements IEntityAdditionalSpawnDa public int progress = 0; private boolean falloutRegistered = false; - public EntityAtomicBoom(World worldIn) + public EntityAtomicBoom(World world) { - super(worldIn); + super(world); } - public EntityAtomicBoom(World worldIn, float size) + public EntityAtomicBoom(World world, float size) { - this(worldIn); + this(world); this.size = size; - this.ignoreFrustumCheck = true; } @Override public void onUpdate() { super.onUpdate(); - progress++; - if(!world.isRemote&&!falloutRegistered) + if(world.isRemote) + return; + + if(!falloutRegistered) { - RadiationHandler.INSTANCE.addOrIncreaseRadiationCenter(world, getPosition(), 60*size, Math.max(1f, size)); + //Create radioactive zone + RadiationHandler.INSTANCE.addOrIncreaseRadiationCenter(world, getPosition(), 72*size, Math.max(1f, size)); falloutRegistered = true; } - if(world.isRemote&&world.getTotalWorldTime()%4==0) - { - Vec3d pos = getPositionVector(); - //TODO: 04.05.2024 reimplement - /*if(progress < 40) - { - ParticleRegistry.spawnShockwave(pos.addVector(0, 1.5*size, 0), 20f, 2.5f); - } - if(progress > 10&&progress < 360) - { - //ParticleUtils.spawnFog(posX, posY+(0.5*size), posZ, 12f, 0.85f, -0.125f); - - if(progress < 30) - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 0.5*size, 0), 10f, 0, 0.5f); - } - if(progress > 20&&progress < 340) - { - if(progress < 320) - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(3.5*size), 0), 20f, 0.05f, -0.25f); - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(1.5*size), 0), 10f, 0, 0.5f); - } - if(progress > 20&&progress < 320) - { - //ParticleUtils.spawnFog(posX, posY+(0.5*size), posZ, 25f, 1, -0.25f); - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(1.5*size), 0), 20f, -0.01f, 0.25f); - if(progress < 35) - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(3.5*size), 0), 10f, 0, 0.5f); - } - if(progress > 25&&progress < 300) - { - //ParticleUtils.spawnFog(posX, posY+(6.5*size), posZ, 20f, 0.1f, -0.25f); - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(6.5*size), 0), 20f, -0.01f, 0.25f); - if(progress < 40) - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(6.5*size), 0), 10f, 0, 0.5f); - } - if(progress > 30&&progress < 280) + if(!world.isRemote) + { + //Apply nuclear heat server-side; radiation exposure is handled centrally. + if(progress%10==0) { - ParticleRegistry.spawnAtomicBoomCore(this, pos.addVector(0, 4+(12.5*size), 0), 15f, -0.01f, 0.125f); + AxisAlignedBB aabb = new AxisAlignedBB(getPosition()).grow(40*size); + for(EntityLivingBase entity : world.getEntitiesWithinAABB(EntityLivingBase.class, aabb)) + if(!entity.isPotionActive(IIPotions.nuclearHeat)) //Do not apply twice to not break the visual effect + entity.addPotionEffect(new PotionEffect(IIPotions.nuclearHeat, 400, 0, false, false)); } - if(progress > 40&&progress < 280) + //Destroy / burn blocks with nuclear heat + if(progress > 20&&progress < 60) { - ParticleRegistry.spawnAtomicBoomRing(this, pos.addVector(0, 4+(18.5*size), 0), 25f, 0.25f, -0.05f); - }*/ - /* - if(progress > 20) - ParticleUtils.spawnFog(posX, posY+(0.5*size), posZ, 20f, 0.5f, -0.25f); - */ - return; - } - else if(!world.isRemote&&progress > 20&&progress < 60) - { - final int border = (int)((8*size*16)/40); - final int prog = (progress-20)*border; - final int heightDiff = (int)(70*size); - BlockPos position = getPosition(); + final int border = (int)((8*size*16)/40); + final int prog = (progress-20)*border; + final int heightDiff = (int)(70*size); + BlockPos position = getPosition(); - for(int hh = position.getY()-heightDiff; hh <= position.getY()+heightDiff; hh++) - { - for(int x = position.getX()-prog; x <= position.getX()+prog; x++) + for(int hh = position.getY()-heightDiff; hh <= position.getY()+heightDiff; hh++) { - for(int z = position.getZ()-prog; z <= position.getZ()-prog+border; z++) - destroyFoliage(x, hh, z, EnumFacing.SOUTH); - for(int z = position.getZ()+prog-border; z <= position.getZ()+prog; z++) - destroyFoliage(x, hh, z, EnumFacing.NORTH); - } + for(int x = position.getX()-prog; x <= position.getX()+prog; x++) + { + for(int z = position.getZ()-prog; z <= position.getZ()-prog+border; z++) + destroyFoliage(x, hh, z, EnumFacing.SOUTH); + for(int z = position.getZ()+prog-border; z <= position.getZ()+prog; z++) + destroyFoliage(x, hh, z, EnumFacing.NORTH); + } + + for(int z = position.getZ()-prog; z <= position.getZ()+prog; z++) + { + for(int x = position.getX()-prog; x <= position.getX()-prog+border; x++) + destroyFoliage(x, hh, z, EnumFacing.EAST); + for(int x = position.getX()+prog-border; x <= position.getX()+prog; x++) + destroyFoliage(x, hh, z, EnumFacing.WEST); + } - for(int z = position.getZ()-prog; z <= position.getZ()+prog; z++) - { - for(int x = position.getX()-prog; x <= position.getX()-prog+border; x++) - destroyFoliage(x, hh, z, EnumFacing.EAST); - for(int x = position.getX()+prog-border; x <= position.getX()+prog; x++) - destroyFoliage(x, hh, z, EnumFacing.WEST); } - } } + progress++; + if(!world.isRemote&&progress > 400) - { setDead(); - return; - } - - //Apply nuclear heat server-side; radiation exposure is handled centrally. - if(!world.isRemote&&world.getTotalWorldTime()%10==0) - { - AxisAlignedBB aabb = new AxisAlignedBB(getPosition()).grow(40*size); - for(EntityLivingBase entity : world.getEntitiesWithinAABB(EntityLivingBase.class, aabb)) - entity.addPotionEffect(new PotionEffect(IIPotions.nuclearHeat, 400, 0, false, false)); - } } private void destroyFoliage(int x, int y, int z, EnumFacing facing) @@ -270,7 +225,6 @@ public void readSpawnData(ByteBuf buffer) { size = buffer.readFloat(); progress = buffer.readInt(); - } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java index 35d5d29a5..e44662e3c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java @@ -1,9 +1,6 @@ package pl.pabilo8.immersiveintelligence.common.entity.ammo.component; import blusunrize.immersiveengineering.common.entities.EntityIEProjectile; -import com.elytradev.mirage.event.GatherLightsEvent; -import com.elytradev.mirage.lighting.ILightEventConsumer; -import com.elytradev.mirage.lighting.Light; import io.netty.buffer.ByteBuf; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -13,26 +10,16 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult.Type; -import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import net.minecraftforge.fml.common.Optional; -import net.minecraftforge.fml.common.Optional.Interface; import net.minecraftforge.fml.common.registry.IEntityAdditionalSpawnData; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import pl.pabilo8.immersiveintelligence.client.fx.utils.IIParticleUtils; -import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; -import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleRegistry; -import pl.pabilo8.immersiveintelligence.common.util.entity.IIEntityUtils; - -import javax.vecmath.Vector2f; /** * @author Pabilo8 (pabilo@iiteam.net) * @since 26.10.2019 */ -@Interface(iface = "com.elytradev.mirage.lighting.ILightEventConsumer", modid = "mirage") -public class EntityWhitePhosphorus extends EntityIEProjectile implements ILightEventConsumer, IEntityAdditionalSpawnData +public class EntityWhitePhosphorus extends EntityIEProjectile implements IEntityAdditionalSpawnData { public EntityWhitePhosphorus(World world) { @@ -43,6 +30,7 @@ public EntityWhitePhosphorus(World world) public EntityWhitePhosphorus(World world, double x, double y, double z, double ax, double ay, double az) { super(world, x, y, z, ax, ay, az); + setTickLimit(8); } @Override @@ -64,24 +52,6 @@ public double getGravity() public void onEntityUpdate() { super.onEntityUpdate(); - if(world.isRemote) - spawnTracerParticles(); - } - - @SideOnly(Side.CLIENT) - private void spawnTracerParticles() - { - ParticleRegistry.spawnParticle("phosphorus/ember", getPositionVector(), IIEntityUtils.getEntityMotion(this), new Vector2f(0, 0)) - .withProperty(ParticleProperties.SIZE, 0.25f-(0.07f*(ticksExisted/7f))); - ParticleRegistry.spawnParticle("phosphorus/smoke_trace", getPositionVector(), Vec3d.ZERO, new Vector2f(0, 0)) - .withProperty(ParticleProperties.SIZE, 0.8f-(0.5f*(ticksExisted/7f))); - if(ticksExisted < 7) - for(int i = 0; i < IIParticleUtils.randInt.get()%3; i++) - ParticleRegistry.spawnParticle("phosphorus/smoke_graceful", getPositionVector() - .addVector(0, 0.5, 0) - .add(IIParticleUtils.getRandXZ().scale(0.5f)), - Vec3d.ZERO, new Vector2f(0, 0)); - } /** @@ -132,18 +102,6 @@ public float getBrightness() return 15; } - @Override - @SideOnly(Side.CLIENT) - @Optional.Method(modid = "mirage") - public void gatherLights(GatherLightsEvent evt) - { - evt.add(Light.builder() - .pos(this) - .color(1, 1, 1) - .radius(.05f) - .build()); - } - @Override public void writeSpawnData(ByteBuf buffer) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java index a20ab7523..7b7f344d2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java @@ -21,93 +21,218 @@ import java.util.Collections; import java.util.List; +/** + * Sends an explosion visual effect to nearby clients. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 06.08.2026 + */ public class MessageExplosion extends IIMessage implements IPositionBoundMessage { + private static final int NUKE_MESSAGE_DISTANCE = 512; + private static final int WHITE_PHOSPHORUS_MESSAGE_DISTANCE = 128; + private static final int EMP_MESSAGE_DISTANCE = 192; + private static final int MAX_EMP_TARGETS = 4096; + + private EffectType effectType = EffectType.EXPLOSION; private World world; private boolean flaming, damagesTerrain; - private float radius, strength; - private Vec3d pos, direction; - private ComponentEffectShape shape; + private float radius, strength, size; + private Vec3d pos = Vec3d.ZERO, direction = Vec3d.ZERO; + private ComponentEffectShape shape = ComponentEffectShape.ORB; private List particleBlocks = Collections.emptyList(); + private List effectTargets = Collections.emptyList(); - public MessageExplosion(World world, boolean flaming, boolean damagesTerrain, float radius, float strength, Vec3d pos, Vec3d direction, ComponentEffectShape shape) - { - this(world, flaming, damagesTerrain, radius, strength, pos, direction, shape, Collections.emptyList()); - } - - public MessageExplosion(World world, boolean flaming, boolean damagesTerrain, float radius, float strength, - Vec3d pos, Vec3d direction, ComponentEffectShape shape, List particleBlocks) + private MessageExplosion(EffectType effectType, World world, Vec3d pos) { + this.effectType = effectType; this.world = world; - this.flaming = flaming; - this.damagesTerrain = damagesTerrain; - this.radius = radius; - this.strength = strength; this.pos = pos; - this.direction = direction; - this.shape = shape; - this.particleBlocks = particleBlocks==null?Collections.emptyList(): particleBlocks; } + /** + * Creates an empty message for Forge decoding. + */ public MessageExplosion() { } + /** + * Creates a regular explosion effect message without a surface sample. + */ + public static MessageExplosion createExplosionMessage(World world, boolean flaming, boolean damagesTerrain, + float radius, float strength, Vec3d pos, Vec3d direction, + ComponentEffectShape shape) + { + return createExplosionMessage(world, flaming, damagesTerrain, radius, strength, pos, direction, shape, + Collections.emptyList()); + } + + /** + * Creates a regular explosion effect message with a bounded surface sample. + */ + public static MessageExplosion createExplosionMessage(World world, boolean flaming, boolean damagesTerrain, + float radius, float strength, Vec3d pos, Vec3d direction, + ComponentEffectShape shape, List particleBlocks) + { + MessageExplosion message = new MessageExplosion(EffectType.EXPLOSION, world, pos); + message.flaming = flaming; + message.damagesTerrain = damagesTerrain; + message.radius = radius; + message.strength = strength; + message.direction = direction; + message.shape = shape; + message.particleBlocks = particleBlocks==null||particleBlocks.isEmpty()?Collections.emptyList(): + new ArrayList<>(particleBlocks); + return message; + } + + /** + * Creates a white phosphorus effect message. + */ + public static MessageExplosion createWhitePhosphorusMessage(World world, Vec3d pos, Vec3d direction, + ComponentEffectShape shape, float size) + { + MessageExplosion message = new MessageExplosion(EffectType.WHITE_PHOSPHORUS, world, pos); + message.direction = direction; + message.shape = shape; + message.size = size; + return message; + } + + /** + * Creates a nuclear explosion effect message. + */ + public static MessageExplosion createNukeMessage(World world, Vec3d pos, float size) + { + MessageExplosion message = new MessageExplosion(EffectType.NUKE, world, pos); + message.size = size; + return message; + } + + /** + * Creates an EMP explosion effect message. + */ + public static MessageExplosion createEMPMessage(World world, Vec3d pos, float radius, List targets) + { + MessageExplosion message = new MessageExplosion(EffectType.EMP, world, pos); + message.radius = radius; + if(targets==null||targets.isEmpty()) + message.effectTargets = Collections.emptyList(); + else + message.effectTargets = new ArrayList<>(targets.subList(0, Math.min(MAX_EMP_TARGETS, targets.size()))); + return message; + } + @Override protected void onServerReceive(WorldServer world, NetHandlerPlayServer handler) { - } @SideOnly(Side.CLIENT) @Override protected void onClientReceive(WorldClient world, NetHandlerPlayClient handler) { - ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(strength/4f, 0.25f, 3f), 4, 2); - ParticleRegistry.spawnExplosionBoomFX(world, pos, direction, radius, strength, shape, particleBlocks); + switch(effectType) + { + case WHITE_PHOSPHORUS: + ParticleRegistry.spawnWhitePhosphorusFX(world, pos, direction, shape, size); + break; + case NUKE: + ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(size*2f, 1f, 4f), 20, 0); + ParticleRegistry.spawnAtomicExplosionFX(world, pos, size); + break; + case EMP: + ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(radius/10f, 0.5f, 2f), 8, 0); + ParticleRegistry.spawnEMPExplosionFX(world, pos, radius, effectTargets); + break; + case EXPLOSION: + default: + ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(strength/4f, 0.25f, 3f), 4, 2); + ParticleRegistry.spawnExplosionBoomFX(world, pos, direction, radius, strength, shape, particleBlocks); + break; + } } @Override public void fromBytes(ByteBuf buf) { - this.flaming = buf.readBoolean(); - this.damagesTerrain = buf.readBoolean(); - - this.radius = buf.readFloat(); - this.strength = buf.readFloat(); - + this.effectType = readEnum(buf, EffectType.class); this.pos = readVec3(buf); - this.direction = readVec3(buf); - - this.shape = readEnum(buf, ComponentEffectShape.class); - if(buf.readableBytes() >= 2) + switch(effectType) { - int particleBlockCount = buf.readUnsignedShort(); - this.particleBlocks = new ArrayList<>(particleBlockCount); - for(int i = 0; i < particleBlockCount&&buf.readableBytes() >= 8; i++) - this.particleBlocks.add(BlockPos.fromLong(buf.readLong())); + case WHITE_PHOSPHORUS: + this.direction = readVec3(buf); + this.shape = readEnum(buf, ComponentEffectShape.class); + this.size = buf.readFloat(); + break; + case NUKE: + this.size = buf.readFloat(); + break; + case EMP: + this.radius = buf.readFloat(); + int effectTargetCount = Math.min(MAX_EMP_TARGETS, + Math.min(buf.readUnsignedShort(), buf.readableBytes()/24)); + this.effectTargets = new ArrayList<>(effectTargetCount); + for(int i = 0; i < effectTargetCount; i++) + this.effectTargets.add(readVec3(buf)); + break; + case EXPLOSION: + default: + this.flaming = buf.readBoolean(); + this.damagesTerrain = buf.readBoolean(); + this.radius = buf.readFloat(); + this.strength = buf.readFloat(); + this.direction = readVec3(buf); + this.shape = readEnum(buf, ComponentEffectShape.class); + + int particleBlockCount = Math.min(buf.readUnsignedShort(), buf.readableBytes()/12); + this.particleBlocks = new ArrayList<>(particleBlockCount); + for(int i = 0; i < particleBlockCount; i++) + this.particleBlocks.add(readPos(buf)); + break; } } @Override public void toBytes(ByteBuf buf) { - buf.writeBoolean(flaming); - buf.writeBoolean(damagesTerrain); - - buf.writeFloat(radius); - buf.writeFloat(strength); - + writeEnum(buf, effectType); writeVec3(buf, pos); - writeVec3(buf, direction); - writeEnum(buf, shape); + switch(effectType) + { + case WHITE_PHOSPHORUS: + writeVec3(buf, direction); + writeEnum(buf, shape); + buf.writeFloat(size); + break; + case NUKE: + buf.writeFloat(size); + break; + case EMP: + buf.writeFloat(radius); + int effectTargetCount = Math.min(MAX_EMP_TARGETS, effectTargets.size()); + buf.writeShort(effectTargetCount); + for(int i = 0; i < effectTargetCount; i++) + writeVec3(buf, effectTargets.get(i)); + break; + case EXPLOSION: + default: + buf.writeBoolean(flaming); + buf.writeBoolean(damagesTerrain); + buf.writeFloat(radius); + buf.writeFloat(strength); + writeVec3(buf, direction); + writeEnum(buf, shape); - int particleBlockCount = Math.min(0xFFFF, particleBlocks.size()); - buf.writeShort(particleBlockCount); - for(int i = 0; i < particleBlockCount; i++) - buf.writeLong(particleBlocks.get(i).toLong()); + int particleBlockCount = Math.min(0xFFFF, particleBlocks.size()); + buf.writeShort(particleBlockCount); + for(int i = 0; i < particleBlockCount; i++) + writePos(buf, particleBlocks.get(i)); + break; + } } @Override @@ -125,6 +250,31 @@ public Vec3d getPosition() @Override public int getPacketDistance() { - return Graphics.explosionMessageDistance; + switch(effectType) + { + case NUKE: + return Math.max(Graphics.explosionMessageDistance, NUKE_MESSAGE_DISTANCE); + case WHITE_PHOSPHORUS: + return Math.max(Graphics.explosionMessageDistance, WHITE_PHOSPHORUS_MESSAGE_DISTANCE); + case EMP: + return Math.max(Graphics.explosionMessageDistance, EMP_MESSAGE_DISTANCE); + case EXPLOSION: + default: + return Graphics.explosionMessageDistance; + } + } + + /** + * Selects the payload and client effect handled by this message. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 06.08.2026 + */ + public enum EffectType + { + EXPLOSION, + WHITE_PHOSPHORUS, + NUKE, + EMP } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java index 30ef1f63f..5d2279f0a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java @@ -411,9 +411,12 @@ public void doExplosionB(boolean spawnParticles) SoundCategory.NEUTRAL, (int)(72*size), 1f, pitch); if(spawnParticles) - IIPacketHandler.sendToClient(new MessageExplosion(this.world, this.causesFire, this.damagesTerrain, this.size, this.power, center, direction, shape, + IIPacketHandler.sendToClient(MessageExplosion.createExplosionMessage( + this.world, this.causesFire, this.damagesTerrain, this.size, this.power, + center, direction, shape, this.size > PARTICLE_SURFACE_SAMPLE_SIZE_THRESHOLD? - getParticleEffectBlocks(MAX_PARTICLE_SURFACE_SAMPLES): Collections.emptyList())); + getParticleEffectBlocks(MAX_PARTICLE_SURFACE_SAMPLES): Collections.emptyList() + )); EventHandler.pendingExplosions.add(this); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java index 40a00fd29..ee45fc9ff 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java @@ -15,6 +15,7 @@ public class IIMath extends MathHelper { public static final Vec3d ONE = new Vec3d(1, 1, 1); + public static final double GOLDEN_ANGLE = Math.PI*(3-Math.sqrt(5)); /** * @param value to be squared diff --git a/src/main/resources/assets/immersiveintelligence/particles/emp/glow.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/emp/glow.fx.amt new file mode 100644 index 000000000..ed2a72a5b --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/emp/glow.fx.amt @@ -0,0 +1,8 @@ +{ + "type": "ParticleGlow", + "max_lifetime": 24, + "draw_stage": "color_only_additive_triangles", + "color": "FFDDF7FF", + "color_secondary": "FF2F7FFF", + "size": 1.0 +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/emp/lightning.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/emp/lightning.fx.amt new file mode 100644 index 000000000..004ae2147 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/emp/lightning.fx.amt @@ -0,0 +1,6 @@ +{ + "type": "ParticleLightning", + "max_lifetime": 20, + "draw_stage": "color_only_line_strip", + "color": "BF4D4A98" +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/emp/lightning_core.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/emp/lightning_core.fx.amt new file mode 100644 index 000000000..6a9467b92 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/emp/lightning_core.fx.amt @@ -0,0 +1,6 @@ +{ + "type": "ParticleLightning", + "max_lifetime": 20, + "draw_stage": "color_only_line_strip_thin", + "color": "FFFFFFFF" +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/dust_cloud.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/dust_cloud.fx.amt new file mode 100644 index 000000000..630445629 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/dust_cloud.fx.amt @@ -0,0 +1,13 @@ +{ + "type": "ParticleVanilla", + "textures": ["immersiveintelligence:particle/smoke/smoke"], + "max_lifetime": 200, + "draw_stage": "custom_smoke_noise_shader", + "aabb": 3.5, + "color": "373737", + "programs": [ + "color_transition(4A3026,2d2420,373737,373737,373737,373737)", + "smoke_transition(0.75)" + ], + "size": 0.8 +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/glow.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/glow.fx.amt new file mode 100644 index 000000000..006846eeb --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/glow.fx.amt @@ -0,0 +1,8 @@ +{ + "type": "ParticleGlow", + "max_lifetime": 400, + "draw_stage": "color_only_additive_triangles", + "color": "ffffffff", + "size": 1.0, + "color_secondary": "FFFF7F37" +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core.fx.amt new file mode 100644 index 000000000..41d46a032 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core.fx.amt @@ -0,0 +1,28 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke/smoke" + ], + "color": "ccfcfcfc", + "max_lifetime": 200, + "draw_stage": "custom_additive", + "programs": [ + "color_transition(4A3026,5c3333,deb283)", + "smoke_transition" + ], + "scheduled": [ + { + "time": 4, + "generator": "circle_xz", + "distance": 4.0, + "amount": 5, + "type": "nuke/nuke_core_bright", + "inherited_properties": [ + "motion", + "lifetime", + "max_lifetime", + "size" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core_bright.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core_bright.fx.amt new file mode 100644 index 000000000..15e428690 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/nuke_core_bright.fx.amt @@ -0,0 +1,13 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke/smoke" + ], + "color": "5c3333", + "max_lifetime": 200, + "draw_stage": "custom_additive", + "programs": [ + "color_transition(4A3026,A4513D,E2C56C)", + "smoke_transition" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud.fx.amt new file mode 100644 index 000000000..e284cb9be --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud.fx.amt @@ -0,0 +1,27 @@ +{ + "type": "ParticleVanilla", + "textures": ["immersiveintelligence:particle/smoke/smoke"], + "max_lifetime": 200, + "draw_stage": "custom_smoke_noise_shader", + "aabb": 3.5, + "color": "373737", + "programs": [ + "smoke_transition" + ], + "size": 0.8, + "scheduled": [ + { + "time": 4, + "generator": "circle_xz", + "distance": 4.0, + "amount": 5, + "type": "nuke/post_cloud_spawn", + "inherited_properties": [ + "motion", + "lifetime", + "max_lifetime", + "size" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud_spawn.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud_spawn.fx.amt new file mode 100644 index 000000000..cdc9628b7 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/post_cloud_spawn.fx.amt @@ -0,0 +1,12 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke/smoke" + ], + "color": "373737", + "max_lifetime": 200, + "draw_stage": "custom_smoke_noise_shader", + "programs": [ + "smoke_transition" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave.fx.amt new file mode 100644 index 000000000..31ab17ab4 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave.fx.amt @@ -0,0 +1,13 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke/smoke" + ], + "color": "ccfcfcfc", + "max_lifetime": 40, + "draw_stage": "custom_additive", + "size": 2.5, + "programs": [ + "shockwave_transition" + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave_main.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave_main.fx.amt new file mode 100644 index 000000000..025a0187d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/nuke/shockwave_main.fx.amt @@ -0,0 +1,21 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke/smoke" + ], + "color": "ccfcfcfc", + "max_lifetime": 8, + "draw_stage": "custom_additive", + "programs": [ + "smoke_transition" + ], + "scheduled": [ + { + "time": 1, + "generator": "circle_xz", + "distance": 1.0, + "amount": 36, + "type": "nuke/shockwave" + } + ] +} \ No newline at end of file From 89f13519776fa663566ec0abf134d55961fe05de Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Thu, 6 Aug 2026 17:02:24 +0200 Subject: [PATCH 03/23] Improved screen shake effect to look smoother --- .../client/ClientEventHandler.java | 32 ++-- .../client/fx/ScreenShake.java | 143 ++++++++++++------ 2 files changed, 114 insertions(+), 61 deletions(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java index 6cdd75cb2..0f9e63aec 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientEventHandler.java @@ -4,7 +4,6 @@ import blusunrize.immersiveengineering.common.Config.IEConfig; import blusunrize.immersiveengineering.common.IEContent; import blusunrize.immersiveengineering.common.util.ItemNBTHelper; -import blusunrize.immersiveengineering.common.util.Utils; import blusunrize.lib.manual.IManualPage; import blusunrize.lib.manual.ManualInstance; import blusunrize.lib.manual.ManualInstance.ManualEntry; @@ -147,6 +146,7 @@ public class ClientEventHandler implements ISelectiveResourceReloadListener private static final ArrayList TEXT_OVERLAYS = new ArrayList<>(); private static final ArrayList IN_WORLD_OVERLAYS = new ArrayList<>(); private static final ArrayList SCREEN_SHAKE_EFFECTS = new ArrayList<>(); + private static float cameraFov = 70f; public static GuiScreen lastGui = null; //Whether the Light Engineer Armor is worn public static boolean gotTheDrip = false, nightVisionActive = false; @@ -548,11 +548,13 @@ public void onFOVCamera(FOVModifier event) { CameraHandler.handleZoom(); + float newFOV = event.getFOV(); if(CameraHandler.zoom!=null) { - float newFOV = event.getFOV()*CameraHandler.fovZoom; + newFOV *= CameraHandler.fovZoom; event.setFOV(newFOV); } + cameraFov = newFOV; } @SubscribeEvent @@ -825,23 +827,15 @@ public void cameraSetup(CameraSetup event) //--- ScreenShake Handling ---// if(Graphics.cameraScreenShake) - { - //Display the strongest effect SCREEN_SHAKE_EFFECTS.stream() - .max(ScreenShake::compareTo) - .ifPresent( - screenShake -> { - double shakex = (Utils.RAND.nextGaussian()-0.5)*screenShake.getStrength(); - double shakey = (Utils.RAND.nextGaussian()-0.5)*screenShake.getStrength(); - double shakez = (Utils.RAND.nextGaussian()-0.5)*screenShake.getStrength(); - event.setRoll((float)shakez); - event.setYaw((float)(event.getYaw()+shakex)); - event.setPitch((float)(event.getPitch()+shakey)); - } - ); - //Tick and remove past effects - SCREEN_SHAKE_EFFECTS.removeIf(screenShake -> screenShake.tick(partialTicks)); - } + .max((first, second) -> Double.compare( + first.getStrength(partialTicks), second.getStrength(partialTicks))) + .ifPresent(screenShake -> { + Vec3d rotation = screenShake.getRotation(partialTicks, cameraFov); + event.setYaw((float)(event.getYaw()+rotation.x)); + event.setPitch((float)(event.getPitch()+rotation.y)); + event.setRoll((float)(event.getRoll()+rotation.z)); + }); //TODO: 15.11.2025 revisit, fix camera bug at -180/180 degrees /*if(player.getRidingEntity() instanceof EntityVehicleSeat) @@ -1069,6 +1063,8 @@ public void onPostClientTick(ClientTickEvent event) return; Minecraft mc = ClientUtils.mc(); + SCREEN_SHAKE_EFFECTS.removeIf(ScreenShake::tick); + if(ParticleSystem.INSTANCE!=null) ParticleSystem.INSTANCE.updateParticles(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/ScreenShake.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/ScreenShake.java index 87f54576b..92b72d07c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/ScreenShake.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/ScreenShake.java @@ -1,7 +1,6 @@ package pl.pabilo8.immersiveintelligence.client.fx; import blusunrize.immersiveengineering.client.ClientUtils; -import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; /** @@ -12,77 +11,135 @@ */ public class ScreenShake implements Comparable { + private static final double REFERENCE_FOV_TANGENT = Math.tan(Math.toRadians(70d)*0.5d); + private static final double TWO_PI = Math.PI*2d; + + private final double strength; + private final double duration; + private final double phase; + private double age; + /** - * The strength of the screen shake, used as a multiplier for gaussian noise. + * Creates a screen shake without a delay. + * + * @param strength the maximum angular strength + * @param duration the duration in ticks + * @param position the source position */ - private final double strength; - @SuppressWarnings("unused") - private Vec3d position; + public ScreenShake(float strength, float duration, Vec3d position) + { + this(strength, duration, 0, position); + } + /** - * The duration of the screen shake in ticks. + * Creates a screen shake. + * + * @param strength the maximum angular strength + * @param duration the duration in ticks + * @param delay the delay in ticks + * @param position the source position */ - private double duration; + public ScreenShake(float strength, float duration, float delay, Vec3d position) + { + double distance = ClientUtils.mc().player==null?0: + position.distanceTo(ClientUtils.mc().player.getPositionVector()); + this.strength = Math.max(0, strength)/(1d+distance/32d)*8; + this.duration = Math.max(1, duration); + this.age = -Math.max(0, delay); + this.phase = getPhase(position); + } + /** - * The delay of the screen shake in ticks. + * Advances the effect by one client tick. + * + * @return true when the effect is complete */ - private double delay; + public boolean tick() + { + age++; + return age >= duration; + } /** - * Creates a new screen shake effect. + * Gets the current smooth camera rotation. * - * @param strength the strength of the screen shake - * @param duration the duration of the screen shake in ticks + * @param partialTicks render interpolation value + * @param fieldOfView active field of view in degrees + * @return yaw, pitch, and roll in the X, Y, and Z components */ - public ScreenShake(float strength, float duration, Vec3d pos) + public Vec3d getRotation(double partialTicks, float fieldOfView) { - this(strength, duration, 0, pos); + double time = age+partialTicks; + double amplitude = strength*getEnvelope(time)*getFovScale(fieldOfView); + if(amplitude <= 0) + return Vec3d.ZERO; + + double yaw = getWave(time, 1.85d, phase)*amplitude*0.65d; + double pitch = getWave(time, 2.15d, phase+TWO_PI/3d)*amplitude*0.5d; + double roll = getWave(time, 1.55d, phase+TWO_PI*2d/3d)*amplitude*0.2d; + return new Vec3d(yaw, pitch, roll); } /** - * Creates a new screen shake effect. + * Gets the current effective strength. * - * @param strength the strength of the screen shake - * @param duration the duration of the screen shake in ticks - * @param delay the delay of the screen shake in ticks + * @param partialTicks render interpolation value + * @return current strength before FOV scaling */ - public ScreenShake(float strength, float duration, float delay, Vec3d pos) + public double getStrength(double partialTicks) { - this.strength = strength*MathHelper.clamp(MathHelper.log2((int)pos.distanceTo(ClientUtils.mc().player.getPositionVector())*2), 0, 1.05); - this.duration = duration; - this.delay = delay; + return strength*getEnvelope(age+partialTicks); } /** - * Updates the screen shake, reducing the duration by the given amount. + * Gets the strength at the current client tick. * - * @param partialTicks current render ticks - * @return true if the effect is finished and should be removed + * @return current strength before FOV scaling */ - public boolean tick(double partialTicks) + public double getStrength() { - if(delay > 0) - { - delay -= partialTicks; - return false; - } - - duration -= partialTicks; - return duration <= 0; + return getStrength(0); } @Override - public int compareTo(ScreenShake o) + public int compareTo(ScreenShake other) { - if((int)delay==(int)o.delay) - return Double.compare(o.strength, strength); //Pick the one with higher strength - return Double.compare(delay, o.delay); //Pick the one with lower delay + return Double.compare(getStrength(), other.getStrength()); } - /** - * @return the strength of the screen shake - */ - public double getStrength() + private double getEnvelope(double time) + { + if(time < 0||time >= duration) + return 0; + + double attackDuration = Math.min(1d, duration*0.25d); + double attack = smoothStep(time/attackDuration); + double decay = smoothStep(1d-time/duration); + return attack*decay; + } + + private static double getWave(double time, double frequency, double phase) + { + return (Math.sin(time*frequency+phase)+ + 0.35d*Math.sin(time*frequency*2.17d+phase*0.63d))/1.35d; + } + + private static double getFovScale(float fieldOfView) + { + double safeFov = Math.max(5d, Math.min(170d, fieldOfView)); + double scale = Math.tan(Math.toRadians(safeFov)*0.5d)/REFERENCE_FOV_TANGENT; + return Math.max(0.1d, Math.min(2.5d, scale)); + } + + private static double smoothStep(double value) + { + value = Math.max(0, Math.min(1, value)); + return value*value*(3d-2d*value); + } + + private static double getPhase(Vec3d position) { - return delay > 0?0: strength; + double value = position.x*0.754877666d+position.y*0.569840296d+position.z*0.438289d; + return value-Math.floor(value/TWO_PI)*TWO_PI; } } From 2625f778ea01f2100850a42e562f84e1903c13ef Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 9 Aug 2026 17:07:53 +0200 Subject: [PATCH 04/23] Added nuke, EMP (tesla), and improved shrapnel particle effects --- .../ImmersiveIntelligence.java | 3 + .../api/ShrapnelHandler.java | 66 ++++-- .../api/api/protection/RadiationHandler.java | 18 +- .../api/data/radio/IRadioDevice.java | 36 +++ .../api/data/radio/RadioNetwork.java | 105 +++++---- .../client/ClientProxy.java | 7 +- .../client/fx/utils/ParticleRegistry.java | 45 ++++ .../render/ammunition/ShrapnelRenderer.java | 41 ++-- .../common/CommonProxy.java | 66 ++---- .../factory/AmmoComponentShrapnel.java | 74 ++++-- .../tileentity/TileEntityRadioExplosives.java | 19 ++ .../tileentity/TileEntityRadioStation.java | 31 ++- .../common/compat/ImmersiveEnergyHelper.java | 4 +- .../compat/crafttweaker/AmmoTweaker.java | 14 +- .../common/compat/dd/DeeperDepthsHelper.java | 3 +- .../compat/nb/NetherBackportHelper.java | 3 +- .../common/compat/thaum/ThaumcraftHelper.java | 9 +- .../entity/ammo/component/EntityShrapnel.java | 212 +++++++++++++----- .../network/messages/MessageExplosion.java | 40 +++- .../phosphorus/smoke_graceful.fx.amt | 17 +- .../particles/shrapnel/burst.fx.amt | 22 ++ .../particles/shrapnel/glitter.fx.amt | 30 +++ .../textures/entity/shrapnel.png | Bin 0 -> 1233 bytes .../textures/particle/shrapnel/shrapnel0.png | Bin 0 -> 1233 bytes .../textures/particle/shrapnel/shrapnel1.png | Bin 0 -> 1233 bytes .../textures/particle/shrapnel/shrapnel2.png | Bin 0 -> 1233 bytes .../textures/particle/shrapnel/shrapnel3.png | Bin 0 -> 1233 bytes .../api/data/radio/RadioNetworkTest.java | 65 +++++- 28 files changed, 687 insertions(+), 243 deletions(-) create mode 100644 src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/shrapnel/glitter.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/textures/entity/shrapnel.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel0.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel1.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel2.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel3.png diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/ImmersiveIntelligence.java b/src/main/java/pl/pabilo8/immersiveintelligence/ImmersiveIntelligence.java index 259b90e95..57e6acdc4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/ImmersiveIntelligence.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/ImmersiveIntelligence.java @@ -12,6 +12,7 @@ import net.minecraftforge.fml.relauncher.Side; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.config.Configurator; +import pl.pabilo8.immersiveintelligence.api.api.protection.RadiationHandler; import pl.pabilo8.immersiveintelligence.api.data.radio.RadioNetwork; import pl.pabilo8.immersiveintelligence.common.CommonProxy; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler; @@ -104,6 +105,7 @@ public void serverAboutToStart(FMLServerAboutToStartEvent event) IILogger.debug("Pre-World Load cleanup"); CommonProxy.refreshFluidReferences(); RadioNetwork.INSTANCE.clearDevices(); + RadiationHandler.INSTANCE.cleanup(); if(Factions.enableFactions) DiplomacyHandler.getInstance(false).init(); } @@ -137,6 +139,7 @@ public void onFMLServerStopped(FMLServerStoppedEvent event) { IILogger.info("Post-World Unload cleanup"); RadioNetwork.INSTANCE.clearDevices(); + RadiationHandler.INSTANCE.cleanup(); if(Factions.enableFactions) DiplomacyHandler.getInstance(false).cleanup(); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ShrapnelHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ShrapnelHandler.java index 8f11b371c..02cda4e94 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ShrapnelHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ShrapnelHandler.java @@ -1,27 +1,29 @@ package pl.pabilo8.immersiveintelligence.api; +import net.minecraft.potion.PotionEffect; import pl.pabilo8.immersiveintelligence.api.ammo.AmmoRegistry; import pl.pabilo8.immersiveintelligence.common.ammo.components.factory.AmmoComponentShrapnel; import pl.pabilo8.immersiveintelligence.common.util.IIColor; -import pl.pabilo8.immersiveintelligence.common.util.ResLoc; +import javax.annotation.Nullable; import java.util.HashMap; /** + * Registers shrapnel materials and their ammunition components. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 06.08.2026 + * @ii-approved 0.3.1 * @since 24.05.2019 */ public class ShrapnelHandler { public static HashMap registry = new HashMap<>(); - public static Shrapnel addShrapnel(String name, IIColor color, ResLoc texture, int damage, float mass, float brightness) + public static Shrapnel addShrapnel(String name, IIColor color, int damage, float mass, float brightness) { - //Register the shrapnel - Shrapnel shrapnel = registry.computeIfAbsent(name, s -> new Shrapnel(name, texture, color, damage, mass, brightness)); - //Register an ammo component of the shrapnel - AmmoComponentShrapnel component = new AmmoComponentShrapnel(name); - AmmoRegistry.registerComponent(component); + Shrapnel shrapnel = registry.computeIfAbsent(name, s -> new Shrapnel(name, color, damage, mass, brightness)); + AmmoRegistry.registerComponent(new AmmoComponentShrapnel(name)); return shrapnel; } @@ -31,33 +33,36 @@ public static void removeShrapnel(String shrapnel) //TODO: 28.04.2024 remove ammo component } + /** + * Defines the gameplay and visual properties of one shrapnel material. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 24.05.2019 + */ public static class Shrapnel { - //--- Properties ---// public final String name; - public final ResLoc texture; public final int damage; public final IIColor color; public final float mass, brightness; public boolean flammable = false; public boolean goodVsUndead = false; - private boolean disruptsRadio; + private boolean disruptsRadio = false; + public boolean fallsSlowly = false; + @Nullable + public PotionEffect potion = null; - private Shrapnel(String name, ResLoc texture, IIColor color, int damage, float mass, float brightness) + private Shrapnel(String name, IIColor color, int damage, float mass, float brightness) { this.name = name; this.color = color; - this.texture = texture; this.damage = damage; this.mass = mass; this.brightness = brightness; } - //--- Setters ---// - /** - * @param flammable whether the shrapnel can be ignited and deal fire damage - * @return this + * Sets whether this shrapnel can ignite. */ public Shrapnel setFlammable(boolean flammable) { @@ -66,8 +71,7 @@ public Shrapnel setFlammable(boolean flammable) } /** - * @param goodVsUndead whether the shrapnel deals extra damage to the undead - * @return this + * Sets whether this shrapnel deals double damage to undead targets. */ public Shrapnel setGoodVsUndead(boolean goodVsUndead) { @@ -75,17 +79,39 @@ public Shrapnel setGoodVsUndead(boolean goodVsUndead) return this; } + /** + * Returns whether this shrapnel disrupts nearby radio devices. + */ public boolean isDisruptsRadio() { return disruptsRadio; } /** - * @param disruptsRadio whether the shrapnel disrupts radio signals + * Sets whether this shrapnel disrupts nearby radio devices. */ - public void setDisruptsRadio(boolean disruptsRadio) + public Shrapnel setDisruptsRadio(boolean disruptsRadio) { this.disruptsRadio = disruptsRadio; + return this; + } + + /** + * Sets whether this shrapnel uses a long, slow-falling trajectory. + */ + public Shrapnel setFallsSlowly(boolean fallsSlowly) + { + this.fallsSlowly = fallsSlowly; + return this; + } + + /** + * Sets the potion effect applied to living targets on hit. + */ + public Shrapnel setPotion(@Nullable PotionEffect potion) + { + this.potion = potion==null?null: new PotionEffect(potion); + return this; } } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java index 37dfcca0b..0528e8852 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/RadiationHandler.java @@ -404,13 +404,7 @@ public NBTTagCompound serializeNBT() @Override public void deserializeNBT(NBTTagCompound nbt) { - centers.clear(); - centerIndex.clear(); - emitterIndex.clear(); - clientEmitterIndex.clear(); - clientEmitterWorld = null; - clientEmitterUpdate = Long.MIN_VALUE; - + cleanup(); NBTTagList list = nbt.getTagList("centers", Constants.NBT.TAG_COMPOUND); for(int i = 0; i < list.tagCount(); i++) { @@ -420,6 +414,16 @@ public void deserializeNBT(NBTTagCompound nbt) } } + public void cleanup() + { + centers.clear(); + centerIndex.clear(); + emitterIndex.clear(); + clientEmitterIndex.clear(); + clientEmitterWorld = null; + clientEmitterUpdate = Long.MIN_VALUE; + } + private static final class RadiationKey { private final int dimension; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/IRadioDevice.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/IRadioDevice.java index 802906252..c31ec632a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/IRadioDevice.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/IRadioDevice.java @@ -4,11 +4,17 @@ import pl.pabilo8.immersiveintelligence.api.data.DataPacket; /** + * Defines a node that can send, receive, or relay radio packets. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 06.08.2026 + * @ii-approved 0.3.1 * @since 23.06.2019 */ public interface IRadioDevice { + int MAX_USABILITY_COOLDOWN = 200; + void onRadioSend(DataPacket packet); boolean onRadioReceive(DataPacket packet); @@ -22,4 +28,34 @@ public interface IRadioDevice float getRange(); DimensionBlockPos getDevicePosition(); + + int getRadioCooldown(); + + void setRadioCooldown(int ticks); + + /** + * Returns true when this node can participate in radio communication. + */ + default boolean isRadioAvailable() + { + return getRadioCooldown() <= 0; + } + + /** + * Adds radio downtime without exceeding the common safety limit. + */ + default void addRadioCooldown(int ticks) + { + if(ticks > 0) + setRadioCooldown(Math.min(MAX_USABILITY_COOLDOWN, Math.max(0, getRadioCooldown())+ticks)); + } + + /** + * Decreases the radio cooldown by one server tick. + */ + default void tickRadioCooldown() + { + if(getRadioCooldown() > 0) + setRadioCooldown(getRadioCooldown()-1); + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java index 2ad1001c2..4760a0945 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java @@ -1,12 +1,18 @@ package pl.pabilo8.immersiveintelligence.api.data.radio; import blusunrize.immersiveengineering.api.DimensionBlockPos; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import java.util.ArrayList; /** + * Connects {@link IRadioDevice Radio Devices} of the same {@link IRadioDevice#getFrequency() frequency} and routes data packets through them. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 06.08.2026 + * @ii-approved 0.3.1 * @since 23.06.2019 */ public class RadioNetwork @@ -16,12 +22,6 @@ public class RadioNetwork ArrayList devices = new ArrayList<>(); ArrayList toRemove = new ArrayList<>(); - /** - * Adds a Radio device to the global network - * - * @param device the device to be added - * @return if the device was added - */ public boolean addDevice(IRadioDevice device) { if(!devices.contains(device)) @@ -32,26 +32,20 @@ public boolean addDevice(IRadioDevice device) return false; } - /** - * Removes a Radio device from the global network - * - * @param pos the device to be removed - * @return if the device was removed - */ - public boolean removeDevice(IRadioDevice pos) + public boolean removeDevice(IRadioDevice device) { - if(!toRemove.contains(pos)) + if(!toRemove.contains(device)) { - toRemove.add(pos); + toRemove.add(device); return true; } return false; } - public void clearDevices() { devices.clear(); + toRemove.clear(); } public ArrayList getDevices() @@ -59,49 +53,59 @@ public ArrayList getDevices() return devices; } - - //Simulates radio transmission in a recursive way - public void sendPacket(DataPacket packet, IRadioDevice sender, ArrayList list) + /** + * Sends a packet through all available radios that can receive it. + */ + public void sendPacket(DataPacket packet, IRadioDevice sender, ArrayList visited) { - if(toRemove.size() > 0) - { - //prevents crashing by recursion - list.addAll(toRemove); - devices.removeAll(toRemove); - } - if(!list.contains(sender)) + flushRemovedDevices(); + if(sender==null||!sender.isRadioAvailable()) + return; + + if(!visited.contains(sender)) { sender.onRadioSend(packet); - list.add(sender); + visited.add(sender); } - for(IRadioDevice dev : getDevices()) - { - if(!list.contains(dev)) + + for(IRadioDevice device : getDevices()) + if(!visited.contains(device)&&device.isRadioAvailable()&& + device.getFrequency()==sender.getFrequency()&&distanceCheck(sender, device)&& + device.onRadioReceive(packet)) { - if(dev.getFrequency()==sender.getFrequency()&&distanceCheck(sender, dev)) - { - if(dev.onRadioReceive(packet)) - { - list.add(dev); - INSTANCE.sendPacket(packet, dev, list); - } - } + visited.add(device); + sendPacket(packet, device, visited); } - } + } + /** + * Adds a usability cooldown to radio devices within the specified radius. + */ + public void disruptDevices(World world, Vec3d position, float radius, int cooldown) + { + if(world==null||world.isRemote||radius <= 0||cooldown <= 0) + return; + + flushRemovedDevices(); + double radiusSq = radius*radius; + int dimension = world.provider.getDimension(); + for(IRadioDevice device : devices) + { + DimensionBlockPos devicePosition = device.getDevicePosition(); + if(devicePosition.dimension!=dimension) + continue; + double x = devicePosition.getX()+0.5-position.x; + double y = devicePosition.getY()+0.5-position.y; + double z = devicePosition.getZ()+0.5-position.z; + if(x*x+y*y+z*z <= radiusSq) + device.addRadioCooldown(cooldown); + } } - //TODO:Radio Item public void sendPacketItem() { - } - /** - * @param device1 the sending radio - * @param device2 the receiving radio - * @return if the distance between the two radios is less than the sending radio's range - */ public boolean distanceCheck(IRadioDevice device1, IRadioDevice device2) { DimensionBlockPos pos1 = device1.getDevicePosition(); @@ -109,7 +113,14 @@ public boolean distanceCheck(IRadioDevice device1, IRadioDevice device2) if(pos1.dimension!=pos2.dimension) return false; float range = device1.getRange(); - return pos1.distanceSq(device2.getDevicePosition()) <= range*range; + return pos1.distanceSq(pos2) <= range*range; } + private void flushRemovedDevices() + { + if(toRemove.isEmpty()) + return; + devices.removeAll(toRemove); + toRemove.clear(); + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java index b4bf088ac..5105e9deb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java @@ -54,8 +54,6 @@ import net.minecraftforge.fml.relauncher.Side; import org.lwjgl.input.Keyboard; import pl.pabilo8.immersiveintelligence.ImmersiveIntelligence; -import pl.pabilo8.immersiveintelligence.api.ShrapnelHandler; -import pl.pabilo8.immersiveintelligence.api.ShrapnelHandler.Shrapnel; import pl.pabilo8.immersiveintelligence.api.ammo.AmmoRegistry; import pl.pabilo8.immersiveintelligence.api.ammo.parts.AmmoComponent; import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; @@ -170,7 +168,6 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.*; -import java.util.Map.Entry; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -398,7 +395,7 @@ public void preInit(FMLPreInitializationEvent event) registerEntityRenderer(EntityAmmoProjectile.class, ProjectileAmmoRenderer::new); registerEntityRenderer(EntityNavalMine.class, NavalMineRenderer::new); registerEntityRenderer(EntityNavalMineAnchor.class, NavalMineAnchorRenderer::new); - registerEntityRenderer(EntityShrapnel.class, ShrapnelRenderer::new); + registerEntityRenderer(EntityShrapnel.class, EntityRenderNone::new); registerEntityRenderer(EntityWhitePhosphorus.class, EntityRenderNone::new); registerEntityRenderer(EntityMachinegun.class, MachinegunRenderer::new); registerEntityRenderer(EntityMotorbike.class, MotorbikeRenderer::new); @@ -602,8 +599,6 @@ public void textureStichPre(Pre event) if(item instanceof IIIItemTextureOverride) ((IIIItemTextureOverride)item).registerSprites(event.getMap()); - for(Entry s : ShrapnelHandler.registry.entrySet()) - ApiUtils.getRegisterSprite(event.getMap(), s.getValue().texture.replace("textures/", "")); for(DrillHeads perm : DrillHeads.values()) perm.sprite = ApiUtils.getRegisterSprite(event.getMap(), perm.texture); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java index 050d56d52..4fc1602f2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java @@ -754,6 +754,51 @@ private static void spawnLightning(String particleName, Vec3d start, Vec3d end) new Vector3f((float)end.x, (float)end.y, (float)end.z)); } + /** + * Spawns a coloured shrapnel burst or a slow-falling glitter cloud. + */ + public static void spawnShrapnelFX(Vec3d centerPos, IIColor color, float size, boolean fallsSlowly) + { + ParticleDetail detail = IIParticleUtils.getParticleDetailLevel(Graphics.explosionParticlesDetail); + if(!detail.isEnabled()) + return; + + float playerDistance = (float)ClientUtils.mc().player.getDistance(centerPos.x, centerPos.y, centerPos.z); + float budgetScale = IIParticleUtils.getParticleBudgetScale(detail, playerDistance, 64f, 128f); + int count = MathHelper.clamp(MathHelper.ceil(20f*Math.max(0.25f, size)*budgetScale), 4, 128); + String particleName = fallsSlowly?"shrapnel/glitter": "shrapnel/burst"; + + for(int i = 0; i < count; i++) + { + Vec3d position = centerPos; + Vec3d motion; + AbstractParticle particle; + if(fallsSlowly) + { + position = position.add(IIParticleUtils.getRandXZ().scale(Math.max(0.5f, size))); + motion = new Vec3d( + ClientUtils.mc().world.rand.nextGaussian()*0.06, + 0.2+IIParticleUtils.randFloat.get()*0.2, + ClientUtils.mc().world.rand.nextGaussian()*0.06 + ); + particle = scheduleSpawnParticle(particleName, position, motion, new Vector2f(0, 0), i%5); + } + else + { + motion = new Vec3d( + ClientUtils.mc().world.rand.nextGaussian(), + ClientUtils.mc().world.rand.nextGaussian(), + ClientUtils.mc().world.rand.nextGaussian() + ).normalize().scale(0.15+IIParticleUtils.randFloat.get()*0.35); + particle = spawnParticle(particleName, position, motion, new Vector2f(0, 0)); + } + + if(particle!=null) + particle.withProperty(ParticleProperties.COLOR, color) + .withProperty(ParticleProperties.SIZE, fallsSlowly?0.12f: 0.18f); + } + } + public static void spawnGasCloud(Vec3d pos, float size, Fluid fluid) { //Check if fluid is not null diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/ShrapnelRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/ShrapnelRenderer.java index cda8713b0..4f498ced2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/ShrapnelRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/ammunition/ShrapnelRenderer.java @@ -6,21 +6,33 @@ import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.util.ResourceLocation; +import pl.pabilo8.immersiveintelligence.ImmersiveIntelligence; import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityShrapnel; +/** + * Renders a shrapnel particle + * + * @author Pabilo8 (pabilo@iiteam.net) + * @updated 06.08.2026 + * @ii-approved 0.3.1 + * @since 26.10.2019 + */ public class ShrapnelRenderer extends Render { + private static final ResourceLocation SHRAPNEL_TEXTURE = new ResourceLocation( + ImmersiveIntelligence.MODID, "textures/entity/shrapnel.png" + ); + public ShrapnelRenderer(RenderManager renderManager) { super(renderManager); } - /** - * Renders the desired {@code T} type Entity. - */ @Override - public void doRender(EntityShrapnel entity, double x, double y, double z, float f0, float f1) + public void doRender(EntityShrapnel entity, double x, double y, double z, float entityYaw, float partialTicks) { + if(entity.shrapnel==null) + return; GlStateManager.pushMatrix(); GlStateManager.translate(x, y, z); @@ -31,27 +43,22 @@ public void doRender(EntityShrapnel entity, double x, double y, double z, float GlStateManager.rotate(180-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GlStateManager.rotate(180-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + entity.shrapnel.color.glColor(); + + ClientUtils.mc().getTextureManager().bindTexture(SHRAPNEL_TEXTURE); + GlStateManager.translate(-0.125f, -0.25f, 0f); + ClientUtils.drawTexturedRect(-0.5f, -0.5f, 1f, 1f, 0, 1, 0, 1); - if(entity.shrapnel!=null) - { - ClientUtils.bindTexture(entity.shrapnel.texture+".png"); - GlStateManager.translate(-0.125f, -0.25f, 0f); - ClientUtils.drawTexturedRect(0f, 0f, 0.25f, 0.25f, 0.25, 0.5, 0.25, 0.5); - } + GlStateManager.color(1f, 1f, 1f, 1f); RenderHelper.enableStandardItemLighting(); GlStateManager.disableBlend(); GlStateManager.disableRescaleNormal(); GlStateManager.popMatrix(); } - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ @Override protected ResourceLocation getEntityTexture(EntityShrapnel entity) { - return new ResourceLocation("immersiveengineering:textures/models/bullet.png"); + return SHRAPNEL_TEXTURE; } - - -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java index c045fcf46..d24146780 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java @@ -124,7 +124,9 @@ import pl.pabilo8.immersiveintelligence.common.item.ItemIIMinecart.Minecarts; import pl.pabilo8.immersiveintelligence.common.item.crafting.material.ItemIIMaterialDust.MaterialsDust; import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; -import pl.pabilo8.immersiveintelligence.common.util.*; +import pl.pabilo8.immersiveintelligence.common.util.IBatchOredictRegister; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIStringUtil; import pl.pabilo8.immersiveintelligence.common.util.block.BlockIIBase; import pl.pabilo8.immersiveintelligence.common.util.block.BlockIIFluid; import pl.pabilo8.immersiveintelligence.common.util.block.IIBlockInterfaces.IIBlockEnum; @@ -570,54 +572,32 @@ public void preInit(FMLPreInitializationEvent event) DustUtils.registerDust(new IngredientStack("sand", 100), "sand", IIColor.fromPackedRGB(0xaca37b)); DustUtils.registerDust(new IngredientStack("gravel", 100), "gravel", IIColor.fromPackedRGB(0x383937)); - ResLoc IERes = ResLoc.of(IIReference.RES_IE, "textures/blocks/%s"); - ResLoc MCRes = ResLoc.of(IIReference.RES_MC, "textures/blocks/%s"); - ResLoc IIRes = ResLoc.of(IIReference.RES_II, "textures/blocks/metal/%s"); - - - ShrapnelHandler.addShrapnel("white_phosphorus", IIColor.fromPackedRGB(0x6b778a), - IERes.with("sheetmetal_aluminum"), 5, 0.3f, 0f) + ShrapnelHandler.addShrapnel("white_phosphorus", IIColor.fromPackedRGB(0x6b778a), 5, 0.3f, 0f) .setFlammable(true); - ShrapnelHandler.addShrapnel("aluminum", IIColor.fromPackedRGB(0xd9ecea), - IERes.with("sheetmetal_aluminum"), 1, 0.05f, 0f) - .setDisruptsRadio(true); - ShrapnelHandler.addShrapnel("zinc", IIColor.fromPackedRGB(0xdee3dc), - IIRes.with("sheetmetal_zinc"), 1, 0.15f, 0f); - ShrapnelHandler.addShrapnel("copper", IIColor.fromPackedRGB(0xe37c26), - IERes.with("sheetmetal_copper"), 2, 0.25f, 0f); - ShrapnelHandler.addShrapnel("platinum", IIColor.fromPackedRGB(0xd8e1e1), - IIRes.with("sheetmetal_platinum"), 2, 0.05f, 0f); - ShrapnelHandler.addShrapnel("gold", IIColor.fromPackedRGB(0xd1b039), - MCRes.with("gold_block"), 2, 0.25f, 0f); - ShrapnelHandler.addShrapnel("nickel", IIColor.fromPackedRGB(0x838877), - IERes.with("sheetmetal_nickel"), 2, 0.25f, 0f); - ShrapnelHandler.addShrapnel("silver", IIColor.fromPackedRGB(0xa7cac8), - IERes.with("sheetmetal_silver"), 2, 0.25f, 0f) + ShrapnelHandler.addShrapnel("aluminum", IIColor.fromPackedRGB(0xd9ecea), 1, 0.05f, 0f) + .setDisruptsRadio(true) + .setFallsSlowly(true); + ShrapnelHandler.addShrapnel("zinc", IIColor.fromPackedRGB(0xdee3dc), 1, 0.15f, 0f); + ShrapnelHandler.addShrapnel("copper", IIColor.fromPackedRGB(0xe37c26), 2, 0.25f, 0f); + ShrapnelHandler.addShrapnel("platinum", IIColor.fromPackedRGB(0xd8e1e1), 2, 0.05f, 0f); + ShrapnelHandler.addShrapnel("gold", IIColor.fromPackedRGB(0xd1b039), 2, 0.25f, 0f); + ShrapnelHandler.addShrapnel("nickel", IIColor.fromPackedRGB(0x838877), 2, 0.25f, 0f); + ShrapnelHandler.addShrapnel("silver", IIColor.fromPackedRGB(0xa7cac8), 2, 0.25f, 0f) .setGoodVsUndead(true); - ShrapnelHandler.addShrapnel("electrum", IIColor.fromPackedRGB(0xf6ad59), - IERes.with("sheetmetal_electrum"), 2, 0.25f, 0f) + ShrapnelHandler.addShrapnel("electrum", IIColor.fromPackedRGB(0xf6ad59), 2, 0.25f, 0f) .setGoodVsUndead(true) .setDisruptsRadio(true); - ShrapnelHandler.addShrapnel("constantan", IIColor.fromPackedRGB(0xf97456), - IERes.with("sheetmetal_constantan"), 3, 0.25f, 0f) + ShrapnelHandler.addShrapnel("constantan", IIColor.fromPackedRGB(0xf97456), 3, 0.25f, 0f) .setFlammable(true); - ShrapnelHandler.addShrapnel("brass", IIColor.fromPackedRGB(0x957743), - IIRes.with("sheetmetal_brass"), 3, 0.35f, 0f); - ShrapnelHandler.addShrapnel("iron", IIColor.fromPackedRGB(0xc7c7c7), - MCRes.with("iron_block"), 4, 0.25f, 0f); - ShrapnelHandler.addShrapnel("lead", IIColor.fromPackedRGB(0x3a3e44), - IERes.with("sheetmetal_lead"), 4, 0.75f, 0f); - ShrapnelHandler.addShrapnel("steel", IIColor.fromPackedRGB(0x4d4d4d), - IERes.with("sheetmetal_steel"), 6, 0.35f, 0f); - ShrapnelHandler.addShrapnel("tungsten", IIColor.fromPackedRGB(0x3b3e43), - IIRes.with("sheetmetal_tungsten"), 7, 0.45f, 0f); - ShrapnelHandler.addShrapnel("HOPGraphite", IIColor.fromPackedRGB(0x282828), - IERes.with("stone_decoration_coke"), 7, 0.45f, 0f); - ShrapnelHandler.addShrapnel("uranium", IIColor.fromPackedRGB(0x659269), - IERes.with("sheetmetal_uranium"), 8, 0.45f, 8f) + ShrapnelHandler.addShrapnel("brass", IIColor.fromPackedRGB(0x957743), 3, 0.35f, 0f); + ShrapnelHandler.addShrapnel("iron", IIColor.fromPackedRGB(0xc7c7c7), 4, 0.25f, 0f); + ShrapnelHandler.addShrapnel("lead", IIColor.fromPackedRGB(0x3a3e44), 4, 0.75f, 0f); + ShrapnelHandler.addShrapnel("steel", IIColor.fromPackedRGB(0x4d4d4d), 6, 0.35f, 0f); + ShrapnelHandler.addShrapnel("tungsten", IIColor.fromPackedRGB(0x3b3e43), 7, 0.45f, 0f); + ShrapnelHandler.addShrapnel("HOPGraphite", IIColor.fromPackedRGB(0x282828), 7, 0.45f, 0f); + ShrapnelHandler.addShrapnel("uranium", IIColor.fromPackedRGB(0x659269), 8, 0.45f, 8f) .setGoodVsUndead(true); - ShrapnelHandler.addShrapnel("wood", IIColor.fromPackedRGB(0x514135), - MCRes.with(""), 1, 0.25f, 0f) + ShrapnelHandler.addShrapnel("wood", IIColor.fromPackedRGB(0x514135), 1, 0.25f, 0f) .setFlammable(true); BulletHandler.registerBullet("ii_bullet", IIContent.itemAmmoRevolver); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java index 8ea4e3b7f..b1a018712 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java @@ -15,15 +15,21 @@ import pl.pabilo8.immersiveintelligence.api.ammo.enums.ComponentRole; import pl.pabilo8.immersiveintelligence.api.ammo.parts.AmmoComponent; import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityShrapnel; +import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; +import pl.pabilo8.immersiveintelligence.common.network.messages.MessageExplosion; /** - * @author Pabilo8 (pabilo@iiteam.net) + * An ammo component that spawns {@link EntityShrapnel shrapnel fragments} around. + * + * @author Pabilo8(pabilo.iiteam.net) + * @updated 06.08.2026 + * @ii-approved 0.3.1 * @since 30.08.2019 */ public class AmmoComponentShrapnel extends AmmoComponent { - Shrapnel shrapnel; - IngredientStack stack; + private final Shrapnel shrapnel; + private final IngredientStack stack; public AmmoComponentShrapnel(String material) { @@ -46,21 +52,61 @@ public IngredientStack getMaterial() } @Override - public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape shape, NBTTagCompound tag, float size, float multiplier, Entity owner) + public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape shape, NBTTagCompound tag, + float size, float multiplier, Entity owner) { - Vec3d v = new Vec3d(0, -1, 0); + if(world.isRemote) + return; + + IIPacketHandler.sendToClient(MessageExplosion.createShrapnelMessage( + world, pos, shrapnel.color, size, shrapnel.fallsSlowly + )); + + int fragmentCount = Math.max(1, (int)(20*size)); + if(shrapnel.fallsSlowly) + spawnSlowFragments(world, pos, fragmentCount); + else + spawnBurstFragments(world, pos, fragmentCount); + } + + private void spawnBurstFragments(World world, Vec3d pos, int fragmentCount) + { + Vec3d baseDirection = new Vec3d(0, -1, 0); Vec3d throwerPos = pos.addVector(0, 3, 0); - for(int i = 0; i < 20*size; i++) + for(int i = 0; i < fragmentCount; i++) { - Vec3d vecDir = v.addVector(Utils.RAND.nextGaussian()*.25f, Utils.RAND.nextGaussian()*.25f, Utils.RAND.nextGaussian()*.25f); + Vec3d direction = baseDirection.addVector( + Utils.RAND.nextGaussian()*.25f, + Utils.RAND.nextGaussian()*.25f, + Utils.RAND.nextGaussian()*.25f + ); + EntityShrapnel fragment = new EntityShrapnel(world, + throwerPos.x+baseDirection.x*2, + throwerPos.y+baseDirection.y*2, + throwerPos.z+baseDirection.z*2, + 0, 0, 0, shrapnel + ); + fragment.motionX = direction.x*2; + fragment.motionY = direction.y*0.05f; + fragment.motionZ = direction.z*2; + world.spawnEntity(fragment); + } + } - EntityShrapnel shrap = new EntityShrapnel(world, throwerPos.x+v.x*2, throwerPos.y+v.y*2, - throwerPos.z+v.z*2, 0, 0, 0, shrapnel); - shrap.motionX = vecDir.x*2; - shrap.motionY = vecDir.y*0.05f; - shrap.motionZ = vecDir.z*2; - if(!world.isRemote) - world.spawnEntity(shrap); + private void spawnSlowFragments(World world, Vec3d pos, int fragmentCount) + { + for(int i = 0; i < fragmentCount; i++) + { + EntityShrapnel fragment = new EntityShrapnel(world, + pos.x+Utils.RAND.nextGaussian()*0.25, + pos.y+0.25, + pos.z+Utils.RAND.nextGaussian()*0.25, + 0, 0, 0, shrapnel + ); + fragment.motionX = Utils.RAND.nextGaussian()*0.18; + fragment.motionY = 0.65+Math.abs(Utils.RAND.nextGaussian())*0.18; + fragment.motionZ = Utils.RAND.nextGaussian()*0.18; + world.spawnEntity(fragment); } } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/mines/tileentity/TileEntityRadioExplosives.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/mines/tileentity/TileEntityRadioExplosives.java index fb31c7bc1..057eacc12 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/mines/tileentity/TileEntityRadioExplosives.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/mines/tileentity/TileEntityRadioExplosives.java @@ -30,6 +30,7 @@ public class TileEntityRadioExplosives extends TileEntityMineBase implements ITi { private static final Vec3d CONN_OFFSET = new Vec3d(0.5, 0.25, 0.5); public int frequency = 0; + public int radioCooldown = 0; public DataPacket programmedPacket = new DataPacket(); public EnumFacing facing = EnumFacing.NORTH; @@ -40,6 +41,7 @@ public class TileEntityRadioExplosives extends TileEntityMineBase implements ITi public void readCustomNBT(NBTTagCompound nbtTagCompound, boolean b) { armed = nbtTagCompound.getBoolean("armed"); + radioCooldown = nbtTagCompound.getInteger("radioCooldown"); facing = EnumFacing.getFront(nbtTagCompound.getInteger("facing")); super.readCustomNBT(nbtTagCompound, b); } @@ -48,6 +50,7 @@ public void readCustomNBT(NBTTagCompound nbtTagCompound, boolean b) public void writeCustomNBT(NBTTagCompound nbtTagCompound, boolean b) { nbtTagCompound.setBoolean("armed", armed); + nbtTagCompound.setInteger("radioCooldown", radioCooldown); nbtTagCompound.setInteger("facing", facing.getIndex()); super.writeCustomNBT(nbtTagCompound, b); RadioNetwork.INSTANCE.addDevice(this); @@ -135,6 +138,8 @@ public void onRadioSend(DataPacket packet) @Override public boolean onRadioReceive(DataPacket packet) { + if(!isRadioAvailable()) + return false; if(packet.equals(this.programmedPacket)) { explode(); @@ -173,6 +178,18 @@ public DimensionBlockPos getDevicePosition() return new DimensionBlockPos(this); } + @Override + public int getRadioCooldown() + { + return radioCooldown; + } + + @Override + public void setRadioCooldown(int ticks) + { + radioCooldown = Math.max(0, ticks); + } + @Override public Vec3d getConnectionOffset(Connection con) { @@ -225,6 +242,8 @@ public void updateInput(byte[] signals) @Override public void update() { + if(hasWorld()&&!world.isRemote) + tickRadioCooldown(); if(hasWorld()&&!world.isRemote&&!refreshWireNetwork) { refreshWireNetwork = true; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java index 0cdd8e02b..819d056ec 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java @@ -29,8 +29,9 @@ public class TileEntityRadioStation extends TileEntityMultiblockIIGeneric()); } @@ -94,7 +99,7 @@ public void onRadioSend(DataPacket packet) public boolean onRadioReceive(DataPacket packet) { //Added because of getting double (and fake (with pos -1 and facing north) tile entities) when using world.getTileEntity - if(this.formed&&!this.isDummy()&&isConstructionFinished()) + if(isRadioAvailable()&&this.formed&&!this.isDummy()&&isConstructionFinished()) { sendData(packet, facing, getPOI(MultiblockPOI.DATA)[0]); soundDelay = 10; @@ -143,6 +148,28 @@ public DimensionBlockPos getDevicePosition() return new DimensionBlockPos(getPOIPos("radio_center"), world); } + @Override + public int getRadioCooldown() + { + if(!isDummy()) + return radioCooldown; + TileEntityRadioStation master = master(); + return master==null?0: master.getRadioCooldown(); + } + + @Override + public void setRadioCooldown(int ticks) + { + if(!isDummy()) + radioCooldown = Math.max(0, ticks); + else + { + TileEntityRadioStation master = master(); + if(master!=null) + master.setRadioCooldown(ticks); + } + } + @Override public boolean isStackValid(int slot, ItemStack stack) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ImmersiveEnergyHelper.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ImmersiveEnergyHelper.java index 30a8b0a76..3c534c43d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ImmersiveEnergyHelper.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ImmersiveEnergyHelper.java @@ -1,9 +1,7 @@ package pl.pabilo8.immersiveintelligence.common.compat; -import net.minecraft.util.ResourceLocation; import pl.pabilo8.immersiveintelligence.api.ShrapnelHandler; import pl.pabilo8.immersiveintelligence.common.util.IIColor; -import pl.pabilo8.immersiveintelligence.common.util.ResLoc; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -14,7 +12,7 @@ public class ImmersiveEnergyHelper extends IICompatModule @Override public void preInit() { - ShrapnelHandler.addShrapnel("thorium", IIColor.fromPackedRGB(0x867b75), ResLoc.of(new ResourceLocation("immersive_energy:textures/blocks/sheetmetal_thorium")), 7, 0.45f, 8f); + ShrapnelHandler.addShrapnel("thorium", IIColor.fromPackedRGB(0x867b75), 7, 0.45f, 8f); // TODO: 07.01.2022 Wait for The Swede to finish the battery (I'm too busy with II) ^^ } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java index 95b8abc0a..f9edd7b5f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java @@ -13,7 +13,6 @@ import crafttweaker.api.world.IWorld; import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import pl.pabilo8.immersiveintelligence.ImmersiveIntelligence; @@ -27,7 +26,6 @@ import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIStringUtil; -import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import stanhebben.zenscript.annotations.ZenClass; import stanhebben.zenscript.annotations.ZenMethod; @@ -42,15 +40,14 @@ public class AmmoTweaker { @ZenMethod - public static void addShrapnel(String name, int color, String texture, int damage, float mass, float brightness) + public static void addShrapnel(String name, int color, int damage, float mass, float brightness) { - ShrapnelHandler.addShrapnel(name, IIColor.fromPackedRGB(color), ResLoc.of(new ResourceLocation(texture)), damage, mass, brightness); CraftTweakerAPI.apply(new IAction() { @Override public void apply() { - + ShrapnelHandler.addShrapnel(name, IIColor.fromPackedRGB(color), damage, mass, brightness); } @Override @@ -61,6 +58,13 @@ public String describe() }); } + @ZenMethod + @Deprecated + public static void addShrapnel(String name, int color, String texture, int damage, float mass, float brightness) + { + addShrapnel(name, color, damage, mass, brightness); + } + @ZenMethod public static void removeShrapnel(String shrapnel) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/DeeperDepthsHelper.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/DeeperDepthsHelper.java index bc5e459d2..be884d06e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/DeeperDepthsHelper.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/DeeperDepthsHelper.java @@ -42,8 +42,7 @@ public String getName() @Override public void preInit() { - addShrapnel("amethyst", IIColor.fromPackedRGB(0xba73de), - RES_DD.with("amethyst_block"), 1, 0.08f, 0.1f); + addShrapnel("amethyst", IIColor.fromPackedRGB(0xba73de), 1, 0.08f, 0.1f); //Register ores for recipes OreDictionary.registerOre("blockBone", Blocks.BONE_BLOCK); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/NetherBackportHelper.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/NetherBackportHelper.java index ddf36f906..f768a24ec 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/NetherBackportHelper.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/NetherBackportHelper.java @@ -48,8 +48,7 @@ public void preInit() OreDictionary.registerOre("soul_lantern", new ItemStack(soulLantern)); - addShrapnel("netherite", IIColor.fromPackedRGB(0x31292a), - RES_NB.with("netherite_block"), 8, 0.50f, 0f); + addShrapnel("netherite", IIColor.fromPackedRGB(0x31292a), 8, 0.50f, 0f); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/ThaumcraftHelper.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/ThaumcraftHelper.java index 36824171f..943b4d74e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/ThaumcraftHelper.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/ThaumcraftHelper.java @@ -40,15 +40,12 @@ public String getName() @Override public void preInit() { - addShrapnel("crystal", IIColor.fromPackedRGB(0x372645), - RES_TC.with("crystal_ordo"), 3, 0.05f, 0.5f); + addShrapnel("crystal", IIColor.fromPackedRGB(0x372645), 3, 0.05f, 0.5f); //crystal_essence - addShrapnel("thaumium", IIColor.fromPackedRGB(0x372645), - RES_TC.with("metal_thaumium"), 5, 0.30f, 0.0f); + addShrapnel("thaumium", IIColor.fromPackedRGB(0x372645), 5, 0.30f, 0.0f); - addShrapnel("voidmetal", IIColor.fromPackedRGB(0x10081a), - RES_TC.with("metal_void"), 7, 0.30f, 0.0f); + addShrapnel("voidmetal", IIColor.fromPackedRGB(0x10081a), 7, 0.30f, 0.0f); AmmoRegistry.registerCore(ammoCoreThaumium = new AmmoCoreThaumium()); AmmoRegistry.registerCore(ammoCoreVoidmetal = new AmmoCoreVoidmetal()); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityShrapnel.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityShrapnel.java index 4d1faf473..1e5c531e9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityShrapnel.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityShrapnel.java @@ -9,11 +9,16 @@ import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.fml.common.Optional; import net.minecraftforge.fml.common.Optional.Interface; @@ -21,94 +26,159 @@ import net.minecraftforge.fml.common.registry.IEntityAdditionalSpawnData; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import pl.pabilo8.immersiveintelligence.api.ShrapnelHandler; import pl.pabilo8.immersiveintelligence.api.ShrapnelHandler.Shrapnel; +import pl.pabilo8.immersiveintelligence.api.data.radio.RadioNetwork; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleRegistry; +import pl.pabilo8.immersiveintelligence.common.util.entity.IIEntityUtils; import javax.annotation.Nullable; +import javax.vecmath.Vector2f; import static pl.pabilo8.immersiveintelligence.common.util.IIDamageSources.causeShrapnelDamage; /** + * Simulates a {@link Shrapnel} fragment, applies damage and other effects on impacts. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 06.08.2026 + * @ii-approved 0.3.1 * @since 26.10.2019 */ @Interface(iface = "com.elytradev.mirage.lighting.IEntityLightEventConsumer", modid = "mirage") public class EntityShrapnel extends EntityIEProjectile implements IEntityLightEventConsumer, IEntityAdditionalSpawnData { + private static final double FULL_DAMAGE_DISTANCE = 2d; + private static final float MINIMUM_DAMAGE_FACTOR = 0.1f; + private static final int NORMAL_LIFETIME = 40; + private static final int SLOW_FALL_LIFETIME = 600; + private static final int RADIO_DISRUPTION_INTERVAL = 10; + private static final int RADIO_DISRUPTION_DURATION = 20; + private static final float RADIO_DISRUPTION_RADIUS = 4f; + @Nullable public Shrapnel shrapnel; + private double travelledDistance; + private double lastDistanceX, lastDistanceY, lastDistanceZ; + private boolean distancePositionInitialized; public EntityShrapnel(World world) { super(world); + this.setSize(0.25F, 0.25F); } - public EntityShrapnel(World world, double x, double y, double z, double motionX, double motionY, double motionZ, @Nullable Shrapnel shrapnel) + public EntityShrapnel(World world, double x, double y, double z, double motionX, double motionY, double motionZ, + @Nullable Shrapnel shrapnel) { super(world, x, y, z, motionX, motionY, motionZ); this.shrapnel = shrapnel; + this.setSize(0.25F, 0.25F); + resetDistancePosition(); + configureLifetime(); } @Override - protected void entityInit() + public double getGravity() { - super.entityInit(); + if(shrapnel!=null) + return shrapnel.fallsSlowly?0.0025d: shrapnel.mass*0.05d; + return super.getGravity(); } @Override - public double getGravity() + protected float getMotionDecayFactor() { - if(shrapnel!=null) - return shrapnel.mass*0.05d; - return super.getGravity(); + return shrapnel!=null&&shrapnel.fallsSlowly?0.96f: super.getMotionDecayFactor(); + } + + @Override + public int getMaxTicksInGround() + { + return shrapnel!=null&&shrapnel.fallsSlowly?1: super.getMaxTicksInGround(); } @Override public boolean canIgnite() { - return (shrapnel!=null&&shrapnel.flammable); + return shrapnel!=null&&shrapnel.flammable; } - /** - * Gets called every tick from main Entity class - */ @Override public void onEntityUpdate() { + updateTravelledDistance(); + IBlockState state = world.getBlockState(new BlockPos(posX, posY, posZ)); - Block b = state.getBlock(); - if(b!=null&&this.canIgnite()&&(state.getMaterial()==Material.FIRE||state.getMaterial()==Material.LAVA)) - this.setFire(6); + Block block = state.getBlock(); + if(block!=null&&canIgnite()&&(state.getMaterial()==Material.FIRE||state.getMaterial()==Material.LAVA)) + setFire(6); + + if(shrapnel!=null) + { + if(world.isRemote) + { + if(shrapnel.fallsSlowly) + { + if(ticksExisted%4==0) + ParticleRegistry.spawnParticle("shrapnel/glitter", getPositionVector(), + motionY > 0?IIEntityUtils.getEntityMotion(this): Vec3d.ZERO, new Vector2f(0, 0)) + .withProperty(ParticleProperties.COLOR, shrapnel.color); + } + else if(!inGround&&ticksExisted%4==0) + ParticleRegistry.spawnParticle("shrapnel/burst", getPositionVector(), + IIEntityUtils.getEntityMotion(this), new Vector2f(0, 0)) + .withProperty(ParticleProperties.COLOR, shrapnel.color); + } + else if(shrapnel.isDisruptsRadio()&&ticksExisted%RADIO_DISRUPTION_INTERVAL==0) + RadioNetwork.INSTANCE.disruptDevices(world, getPositionVector(), RADIO_DISRUPTION_RADIUS, RADIO_DISRUPTION_DURATION); + } + + super.onEntityUpdate(); } - /** - * Sets entity to burn for x scatter of seconds, cannot lower scatter of existing fire. - */ @Override public void setFire(int seconds) { - if(!canIgnite()) - return; - super.setFire(seconds); + if(canIgnite()) + super.setFire(seconds); } @Override - public void onImpact(RayTraceResult mop) + public void onImpact(RayTraceResult result) { - if(!this.world.isRemote&&shrapnel!=null) + if(shrapnel==null) + return; + if(result.entityHit==null) { - if(mop.entityHit!=null) - { - mop.entityHit.attackEntityFrom(causeShrapnelDamage(this, shootingEntity, mop.entityHit), shrapnel.damage); - mop.entityHit.hurtResistantTime *= .5; - if(this.isBurning()) - { - mop.entityHit.setFire(10); - if(mop.entityHit.attackEntityFrom(DamageSource.IN_FIRE, 2)) - mop.entityHit.hurtResistantTime *= .75; - } - } + if(shrapnel.fallsSlowly) + setDead(); + return; + } + if(world.isRemote) + return; + + Entity target = result.entityHit; + float distanceFactor = MINIMUM_DAMAGE_FACTOR+(1f-MINIMUM_DAMAGE_FACTOR)* + MathHelper.clamp((float)(getDistanceAtImpact(result)/FULL_DAMAGE_DISTANCE), 0f, 1f); + float damage = shrapnel.damage*distanceFactor; + + if(shrapnel.goodVsUndead&&target instanceof EntityLivingBase&& + ((EntityLivingBase)target).getCreatureAttribute()==EnumCreatureAttribute.UNDEAD) + damage *= 2f; + + boolean damaged = target.attackEntityFrom(causeShrapnelDamage(this, shootingEntity, target), damage); + if(damaged) + target.hurtResistantTime *= .5; + if(shrapnel.potion!=null&&target instanceof EntityLivingBase) + ((EntityLivingBase)target).addPotionEffect(new PotionEffect(shrapnel.potion)); + + if(isBurning()) + { + target.setFire(10); + if(target.attackEntityFrom(DamageSource.IN_FIRE, 2)) + target.hurtResistantTime *= .75; } } @@ -121,31 +191,26 @@ protected boolean allowFriendlyFire(EntityPlayer target) @Override @SideOnly(Side.CLIENT) @Optional.Method(modid = "mirage") - public void gatherLights(GatherLightsEvent evt, Entity entity) + public void gatherLights(GatherLightsEvent event, Entity entity) { - Shrapnel s = ShrapnelHandler.registry.get(shrapnel); - if(s==null) + if(shrapnel==null) return; - int light = this.isBurning()?15: Math.round(s.brightness*15f); - + int light = isBurning()?15: Math.round(shrapnel.brightness*15f); if(light > 0) - evt.add(Light.builder() + event.add(Light.builder() .pos(this) .color(1, 1, 1) .radius(.05f) .build()); - } - @Override @SideOnly(Side.CLIENT) public int getBrightnessForRender() { - Shrapnel s = ShrapnelHandler.registry.get(shrapnel); - if(s!=null) + if(shrapnel!=null) { - int light = this.isBurning()?15: Math.round(s.brightness*15f); + int light = isBurning()?15: Math.round(shrapnel.brightness*15f); int superBrightness = super.getBrightnessForRender(); light = (superBrightness&(0xff<<20))|(light<<4); if(light > 0) @@ -154,16 +219,12 @@ public int getBrightnessForRender() return super.getBrightnessForRender(); } - /** - * Gets how bright this entity is. - */ @Override public float getBrightness() { - Shrapnel s = ShrapnelHandler.registry.get(shrapnel); - if(s!=null) + if(shrapnel!=null) { - int light = this.isBurning()?15: Math.round(s.brightness*15f); + int light = isBurning()?15: Math.round(shrapnel.brightness*15f); if(light > 0) return Math.max(light, super.getBrightness()); } @@ -173,14 +234,20 @@ public float getBrightness() @Override public void writeEntityToNBT(NBTTagCompound tag) { + super.writeEntityToNBT(tag); if(shrapnel!=null) tag.setString("shrapnel", shrapnel.name); + tag.setDouble("travelledDistance", travelledDistance); } @Override public void readEntityFromNBT(NBTTagCompound tag) { - this.shrapnel = ShrapnelHandler.registry.get(tag.getString("shrapnel")); + super.readEntityFromNBT(tag); + this.shrapnel = pl.pabilo8.immersiveintelligence.api.ShrapnelHandler.registry.get(tag.getString("shrapnel")); + this.travelledDistance = tag.getDouble("travelledDistance"); + resetDistancePosition(); + configureLifetime(); } @Override @@ -192,6 +259,45 @@ public void writeSpawnData(ByteBuf data) @Override public void readSpawnData(ByteBuf data) { - shrapnel = ShrapnelHandler.registry.get(ByteBufUtils.readUTF8String(data)); + shrapnel = pl.pabilo8.immersiveintelligence.api.ShrapnelHandler.registry.get(ByteBufUtils.readUTF8String(data)); + resetDistancePosition(); + configureLifetime(); + } + + private void configureLifetime() + { + setTickLimit(shrapnel!=null&&shrapnel.fallsSlowly?SLOW_FALL_LIFETIME: NORMAL_LIFETIME); + } + + private void resetDistancePosition() + { + lastDistanceX = posX; + lastDistanceY = posY; + lastDistanceZ = posZ; + distancePositionInitialized = true; + } + + private void updateTravelledDistance() + { + if(!distancePositionInitialized) + { + resetDistancePosition(); + return; + } + double x = posX-lastDistanceX; + double y = posY-lastDistanceY; + double z = posZ-lastDistanceZ; + travelledDistance += Math.sqrt(x*x+y*y+z*z); + lastDistanceX = posX; + lastDistanceY = posY; + lastDistanceZ = posZ; + } + + private double getDistanceAtImpact(RayTraceResult result) + { + Vec3d current = getPositionVector(); + Vec3d hit = result.hitVec==null?current.addVector(motionX, motionY, motionZ): result.hitVec; + double motionLength = Math.sqrt(motionX*motionX+motionY*motionY+motionZ*motionZ); + return travelledDistance+Math.min(current.distanceTo(hit), motionLength); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java index 7b7f344d2..75bfc6e52 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java @@ -16,6 +16,7 @@ import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleRegistry; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Graphics; import pl.pabilo8.immersiveintelligence.common.network.IIMessage; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; import java.util.ArrayList; import java.util.Collections; @@ -25,21 +26,25 @@ * Sends an explosion visual effect to nearby clients. * * @author Pabilo8 (pabilo@iiteam.net) - * @since 06.08.2026 + * @updated 06.08.2026 + * @ii-approved 0.3.1 + * @since 01.09.2022 */ public class MessageExplosion extends IIMessage implements IPositionBoundMessage { private static final int NUKE_MESSAGE_DISTANCE = 512; private static final int WHITE_PHOSPHORUS_MESSAGE_DISTANCE = 128; private static final int EMP_MESSAGE_DISTANCE = 192; + private static final int SHRAPNEL_MESSAGE_DISTANCE = 128; private static final int MAX_EMP_TARGETS = 4096; private EffectType effectType = EffectType.EXPLOSION; private World world; - private boolean flaming, damagesTerrain; + private boolean flaming, damagesTerrain, fallsSlowly; private float radius, strength, size; private Vec3d pos = Vec3d.ZERO, direction = Vec3d.ZERO; private ComponentEffectShape shape = ComponentEffectShape.ORB; + private IIColor color = IIColor.WHITE; private List particleBlocks = Collections.emptyList(); private List effectTargets = Collections.emptyList(); @@ -124,6 +129,19 @@ public static MessageExplosion createEMPMessage(World world, Vec3d pos, float ra return message; } + /** + * Creates a shrapnel activation effect message. + */ + public static MessageExplosion createShrapnelMessage(World world, Vec3d pos, IIColor color, float size, + boolean fallsSlowly) + { + MessageExplosion message = new MessageExplosion(EffectType.SHRAPNEL, world, pos); + message.color = color; + message.size = size; + message.fallsSlowly = fallsSlowly; + return message; + } + @Override protected void onServerReceive(WorldServer world, NetHandlerPlayServer handler) { @@ -146,6 +164,9 @@ protected void onClientReceive(WorldClient world, NetHandlerPlayClient handler) ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(radius/10f, 0.5f, 2f), 8, 0); ParticleRegistry.spawnEMPExplosionFX(world, pos, radius, effectTargets); break; + case SHRAPNEL: + ParticleRegistry.spawnShrapnelFX(pos, color, size, fallsSlowly); + break; case EXPLOSION: default: ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(strength/4f, 0.25f, 3f), 4, 2); @@ -178,6 +199,11 @@ public void fromBytes(ByteBuf buf) for(int i = 0; i < effectTargetCount; i++) this.effectTargets.add(readVec3(buf)); break; + case SHRAPNEL: + this.color = readColor(buf); + this.size = buf.readFloat(); + this.fallsSlowly = buf.readBoolean(); + break; case EXPLOSION: default: this.flaming = buf.readBoolean(); @@ -218,6 +244,11 @@ public void toBytes(ByteBuf buf) for(int i = 0; i < effectTargetCount; i++) writeVec3(buf, effectTargets.get(i)); break; + case SHRAPNEL: + writeColor(buf, color); + buf.writeFloat(size); + buf.writeBoolean(fallsSlowly); + break; case EXPLOSION: default: buf.writeBoolean(flaming); @@ -258,6 +289,8 @@ public int getPacketDistance() return Math.max(Graphics.explosionMessageDistance, WHITE_PHOSPHORUS_MESSAGE_DISTANCE); case EMP: return Math.max(Graphics.explosionMessageDistance, EMP_MESSAGE_DISTANCE); + case SHRAPNEL: + return Math.max(Graphics.explosionMessageDistance, SHRAPNEL_MESSAGE_DISTANCE); case EXPLOSION: default: return Graphics.explosionMessageDistance; @@ -275,6 +308,7 @@ public enum EffectType EXPLOSION, WHITE_PHOSPHORUS, NUKE, - EMP + EMP, + SHRAPNEL } } diff --git a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_graceful.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_graceful.fx.amt index 799278244..556e28ed4 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_graceful.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_graceful.fx.amt @@ -1,15 +1,14 @@ { "type": "ParticleVanilla", "textures": [ - "immersiveintelligence:particle/rough/smoke1", - "immersiveintelligence:particle/rough/smoke2", - "immersiveintelligence:particle/rough/smoke3", - "immersiveintelligence:particle/rough/smoke2", - "immersiveintelligence:particle/rough/smoke3", - "immersiveintelligence:particle/rough/smoke4", - "immersiveintelligence:particle/rough/smoke2", - "immersiveintelligence:particle/rough/smoke1", - "immersiveintelligence:particle/rough/smoke0" + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3", + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3" ], "max_lifetime": 45, "draw_stage": "custom_additive", diff --git a/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt new file mode 100644 index 000000000..05bbe1a04 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt @@ -0,0 +1,22 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3", + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3" + ], + "max_lifetime": 20, + "draw_stage": "custom", + "color": "FFFFFFFF", + "size": 1.0, + "programs": [ + "lifetime_retexture", + "dust_transition", + "gravity(0.96,0.025)" + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/shrapnel/glitter.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/shrapnel/glitter.fx.amt new file mode 100644 index 000000000..dffcc01e4 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/shrapnel/glitter.fx.amt @@ -0,0 +1,30 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3", + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3", + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3", + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3" + ], + "max_lifetime": 40, + "draw_stage": "custom", + "color": "FFFFFFFF", + "size": 1.0, + "programs": [ + "lifetime_retexture", + "dust_transition", + "gravity(0.997,0.00125)" + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/textures/entity/shrapnel.png b/src/main/resources/assets/immersiveintelligence/textures/entity/shrapnel.png new file mode 100644 index 0000000000000000000000000000000000000000..3603e1c6d579cfad7d2351811d1f1d8ab059ea37 GIT binary patch literal 1233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?AcrO0(btiIVPik{pF~z5pDoGT z-G$*l2rk&Wd@@jkv%n*=n1Ml08H5=tmfDvA1=&kHeO=jKaj*$884AegE&~clmbgZg zIOpf)rskC}I2WZRmZYXAlxLP?D7bt2281{Ai34rZ^mK6yu@GdGV|n-+s0Rr|MMeEb z;!>MgTwF{|<3Yw%RaId(lEz-4JZRe6+yD3U^k8>A%=ny~oc{!ULQnzBwBbM_dlnRg zxctO|OF~IWi2;;ye*XN)@bu|ZT*|PE!%{HF6)=~;#IWla(xU6VbS4+C+R_2?gr}>Y J%Q~loCIC0^TKxb3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel0.png b/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel0.png new file mode 100644 index 0000000000000000000000000000000000000000..0db290328d2f2fc1b7dbc0bf28a62d51de121901 GIT binary patch literal 1233 zcmaJ=Ur1AN6#ngQb2rD$oY2~&a%-9sHwz1c0=qglhs-1b%O1>Vs4*+rrBZ~j2PIHM zlDz~`T1H}l{efPJaMgNBVpKkaIB?Et`H(`%O#9At6N~7K%lXcC&hMP>p8f9CnrfGj zZcJy43GPbAVfan-@M(-Gnij@?AW$`m9+9!pUhPtY8gbgmDwl(;(C_B6yVt;MI9GYh z&zOA&J&H?rN-u!aNN!Js<_n*eskaZ`dhG&bkSdN!SH5yG2m|o~lQ`FVf zai9d9PAAOG%{l3uTn1lHwQ>&vAn<1Fx=dh7>EhyIu)n{58Hu9o?CfQ=T3sYb(rvD* ztLuQlU!`OEYbqL2#n4ukSMztQp1_FgqV3oEa7vraHjiczSpkYCK$0XKI>+G0A+ZErHcTHN zfHl*g2yW|F)HU|>^dxBKZc3svUFTlH;F^=Z5ZmOzo50~)mg|&=?`(ydnOFw%pVwt!_?0)fCc)Dp);Q4GmDK==J9c!kdN{bk{m zLf}-uE!ax{A44H<6#Og{jUcW?T#xt$ye!KogH`NZhpCBdXub!}`gl7f9-huQw6kDz Ogs{7!+VP<5#FgKAkWWki literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel1.png b/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel1.png new file mode 100644 index 0000000000000000000000000000000000000000..bdd8f30220269b4cc62584046af9953d994fd8aa GIT binary patch literal 1233 zcmah|O-oxr6rD(n(W*4`!#-^#q#zVY7q!+dS|m+Ed~G8lLN$w8i>Vgk2j*c*nniSB zT1oJ0C0*#EO?L%1E(9SfxAq4Vp@IZT$Vv#o*7V#-XPDSXCrs|S=bX7S@6LN4`g(m0 zbK9JRlBZH(J} zy1(z)Tw@b~XINK>f)NqzdiA17}i%7bVv`QxcI4kAYqs62OD#qE}nM~%8b8yNB0G?Eh z5<}RLi2|wwb~qgGaKKZMV+*=s#tm5gKA+Fm=W@AwL_++I{W}Pk4H!F#KpciCT_&mt zM7zkV;O18$2#P5GO3kTzEks14(Q4qWGLaHgY5s=6zczw Z7FBXBPkp>`xc89vL-+Q2zCL;}{|Dhp$*lkY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel2.png b/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel2.png new file mode 100644 index 0000000000000000000000000000000000000000..a071107a4264c157bc16e7afb7b8f5f456fb81c0 GIT binary patch literal 1233 zcmb7@PiPZC6o+SP%+^ZPc&TeJR4PcTD1wK!9!l(nbZb*;sZ`^|7K1IMDrTt?qNoQ$ zAwk5WhZMmG2K;jnK`EZ>)uZ4+@e~luN${W$zqfS5Zqk5Gn4RDIes5;p%x+euCga^* zd%KiU-PV{n&A3Z?XHY3^;pfL+1c6J@L{zC)_qYF<+e#dqKNUAsU4E-;Pai_IT^&1@ zQR+yabnV8Ik!7H6TZx$dy)zivGcYg{c>pr(*jan@%F84PKWz_;Jb@w7}PGpq9X{BaLMg2VK6q3Luwu5AcS*Y!p8s>HtL zWC$VsbgfqV;B%A7q$Z0RJ}Ln))C>!S!s})xi6;b7>;cydxPtWu(S3}ZSG^F9-XgQc z5n%!7x{UwdIMZA2ELM6+KP0R}9vpZ@MrjzbU8P#BS`P3&sO1^`otJH@S>=|`;8L9G znZ27k81k99T<)L%%nJI9Ys$NGb=#4xB0du^#1_uWV%r{K=jyZBtbDA#M&9`bAki(O z)PNpAX~)R9=|QcMglXy?X?8f9e0q&WJT3th9BsgV6;$$Aa@lBK%N$l7Zh;#BuSA9W zn|;`F2c=AiQ7)I)0mH0*n@f8yjEO-m^NnE`pNqxfS7F3E$y*c6KkJ8#^8Flk#3m0G nocChlPb_SDSzAqFy`70y5ic}xuM~dtrC+oan>3%Fym0p~qTRG~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel3.png b/src/main/resources/assets/immersiveintelligence/textures/particle/shrapnel/shrapnel3.png new file mode 100644 index 0000000000000000000000000000000000000000..66bf4bf149cc450d925853e3d8e1b23ab56092db GIT binary patch literal 1233 zcmaKrO=uHA6vrnY?xvNf&A}x-)DrQdmkP#0@e*P-rb|c&Qnki{tr*%us@1GDi4jzU zPzZW3;7uxM>Pb)!o{INeJmlgrdI>0sNMS1#;{WYthv`~W01b3i3>*0$^Z5*U zcOVc*QUKdTQgh3)9J4fAZ!{Y3JUwALbej%`!$z~&{LVQxc9aCBzvmD^tyVh>=I0C| zj}_bmFlmk_00+6~1z>AVMlH_%1p&+@DG>^V-s0JCiI!oNG)3N?W`<$huGi~#kQfD% zJDtu+_&0W*mCNNW7YI-o5VaXsDwXFp#GY{dFa#quB#%dIg8dX3kFml7TVTWVdRc}U zN6_;wDa7A;K1iM$j&_O!TC8&D2r#*e{E&$GIknsEK1#G&tz~pOfh`;(jY&7jli@7A zrBdlLa{Dn3Sk&>44lWTO5#f-^X^t%0)~%Em9Qn!$G|L`~iN6#T0{CcOWFd zE|SFJV;FSXmSHPT?HENf*n#=JfScEV!&Skb*){+4m^evEtnS;X2>d#6)CCcb?^I(l jBwyM|#O4=D8u5b7MSom*_+v#n_m!9yPphv^&D{S36>GjL literal 0 HcmV?d00001 diff --git a/src/test/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetworkTest.java b/src/test/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetworkTest.java index e030cdc42..ce5c304cd 100644 --- a/src/test/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetworkTest.java +++ b/src/test/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetworkTest.java @@ -3,6 +3,7 @@ import blusunrize.immersiveengineering.api.DimensionBlockPos; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.mockito.invocation.InvocationOnMock; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import java.util.ArrayList; @@ -61,17 +62,26 @@ public void testSendPacket() when(mockDevice1.getFrequency()).thenReturn(1); when(mockDevice2.getFrequency()).thenReturn(1); when(mockDevice1.getRange()).thenReturn(100.0f); + when(mockDevice1.isRadioAvailable()).thenReturn(true); + when(mockDevice2.isRadioAvailable()).thenReturn(true); when(mockDevice1.getDevicePosition()).thenReturn(new DimensionBlockPos(0, 0, 0, 0)); when(mockDevice2.getDevicePosition()).thenReturn(new DimensionBlockPos(0, 0, 50, 0)); when(mockDevice2.onRadioReceive(mockPacket)).thenReturn(true); - radioNetwork.addDevice(mockDevice1); - radioNetwork.addDevice(mockDevice2); + //Create radio network + createRadioNetwork(); + //Same frequency radioNetwork.sendPacket(mockPacket, mockDevice1, new ArrayList<>()); - verify(mockDevice1).onRadioSend(mockPacket); verify(mockDevice2).onRadioReceive(mockPacket); + clearInvocations(mockDevice1, mockDevice2); + + //Different frequency + when(mockDevice1.getFrequency()).thenReturn(5); + radioNetwork.sendPacket(mockPacket, mockDevice1, new ArrayList<>()); + verify(mockDevice1).onRadioSend(mockPacket); + verify(mockDevice2, never()).onRadioReceive(mockPacket); } @Test @@ -91,4 +101,51 @@ public void testDistanceCheck() when(mockDevice2.getDevicePosition()).thenReturn(new DimensionBlockPos(0, 0, 0, 1)); assertFalse(radioNetwork.distanceCheck(mockDevice1, mockDevice2)); } -} \ No newline at end of file + + @Test + public void testCooldownCheck() + { + when(mockDevice1.getFrequency()).thenReturn(1); + when(mockDevice2.getFrequency()).thenReturn(1); + when(mockDevice1.getRange()).thenReturn(100.0f); + when(mockDevice1.isRadioAvailable()).then(InvocationOnMock::callRealMethod); + when(mockDevice2.isRadioAvailable()).then(InvocationOnMock::callRealMethod); + when(mockDevice1.getDevicePosition()).thenReturn(new DimensionBlockPos(0, 0, 0, 0)); + when(mockDevice2.getDevicePosition()).thenReturn(new DimensionBlockPos(0, 0, 50, 0)); + when(mockDevice2.onRadioReceive(mockPacket)).thenReturn(true); + + createRadioNetwork(); + + //No jamming + when(mockDevice1.getRadioCooldown()).thenReturn(0); + when(mockDevice2.getRadioCooldown()).thenReturn(0); + radioNetwork.sendPacket(mockPacket, mockDevice1, new ArrayList<>()); + verify(mockDevice1).onRadioSend(mockPacket); + verify(mockDevice2).onRadioReceive(mockPacket); + clearInvocations(mockDevice1, mockDevice2); + + //Receiver is being jammed + when(mockDevice1.getRadioCooldown()).thenReturn(0); + when(mockDevice2.getRadioCooldown()).thenReturn(100); + radioNetwork.sendPacket(mockPacket, mockDevice1, new ArrayList<>()); + verify(mockDevice1).onRadioSend(mockPacket); + verify(mockDevice2, never()).onRadioReceive(mockPacket); + clearInvocations(mockDevice1, mockDevice2); + + //Sender is being jammed + when(mockDevice1.getRadioCooldown()).thenReturn(100); + when(mockDevice2.getRadioCooldown()).thenReturn(0); + radioNetwork.sendPacket(mockPacket, mockDevice1, new ArrayList<>()); + verify(mockDevice1, never()).onRadioSend(mockPacket); + verify(mockDevice2, never()).onRadioReceive(mockPacket); + } + + //--- Utils ---// + + private void createRadioNetwork() + { + radioNetwork.addDevice(mockDevice1); + radioNetwork.addDevice(mockDevice2); + } + +} From 96e542bfad809825d1779bb4447504705337faf0 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 9 Aug 2026 18:39:02 +0200 Subject: [PATCH 05/23] Added a fork of Resource Loader mod to build dependencies --- build.gradle | 4 +++- gradle.properties | 1 + gradle/scripts/ide.gradle | 9 +++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6f1687bab..6380ff057 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,6 @@ if (customGradle.exists()) { gradle.ext.mkxScriptSwitches.each { propertyName, scriptPath -> mkxApplyScript(propertyName as String, scriptPath as String) } - if (mkxBool('ii_script_ide', false)) { idea.project.settings.runConfigurations { 'Setup Mod Workspace'(Gradle) { @@ -59,6 +58,9 @@ if (mkxBool('ii_script_ide', false)) { 'Build Mod Jar'(Gradle) { taskNames = ['build'] } + 'Run All Tests'(Gradle) { + taskNames = ['test'] + } } } diff --git a/gradle.properties b/gradle.properties index 9c9699443..0cc77da3d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -68,6 +68,7 @@ junit_version=5.10.2 minecraft_junit_version=1.5.1 jmeasure_version=1.0.0 modworks_version=1.1.3 +resourceloader_version=1.5.5-teamii mockito_version=4.11.0 mirage_version=2.0.3-rc3-SNAPSHOT baubles_version=2518667 diff --git a/gradle/scripts/ide.gradle b/gradle/scripts/ide.gradle index a75a5a35a..420af1f19 100644 --- a/gradle/scripts/ide.gradle +++ b/gradle/scripts/ide.gradle @@ -27,6 +27,15 @@ idea { } } +dependencies { + runtimeOnlyNonPublishable rfg.deobf("lumien:ResourceLoader:${mkxString('resourceloader_version')}") +} + tasks.named('processIdeaSettings').configure { dependsOn tasks.named('mkxAfterSync') +} + +tasks.named('runClient').configure { + extraArgs.add('--resourceLoaderAssets') + extraArgs.add(rootProject.file('src/main/resources/assets').absolutePath) } \ No newline at end of file From a463c7039064e51e30e636fbd910c4fc2cdf09a3 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 9 Aug 2026 18:41:06 +0200 Subject: [PATCH 06/23] Added DecoPlayerDisplay, miscellaneous GUI improvements --- .../client/gui/GuiFactionInvitation.java | 9 +- .../client/gui/block/GuiChemicalBath.java | 10 +- .../client/gui/block/GuiChemicalPainter.java | 11 +- .../client/gui/block/GuiCoagulator.java | 19 +- .../client/gui/block/GuiElectrolyzer.java | 4 +- .../client/gui/block/GuiSawmill.java | 12 +- .../block/flagpole/GuiFlagpoleFaction.java | 16 +- .../component/visual/DecoPlayerDisplay.java | 209 ++++++++++++++++++ 8 files changed, 258 insertions(+), 32 deletions(-) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/DecoPlayerDisplay.java diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/GuiFactionInvitation.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/GuiFactionInvitation.java index 543c1171a..0eefd3d22 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/GuiFactionInvitation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/GuiFactionInvitation.java @@ -12,7 +12,7 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoEntryPanelBuilder; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoPanel; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoBannerDisplay; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoImage; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoPlayerDisplay; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Graphics; import pl.pabilo8.immersiveintelligence.common.IIGUI; @@ -89,10 +89,9 @@ public void onInit() .withBackgroundMask(DecoTextures.TEMPLATE_PAPER); userPanel.addComponents( //Player head - new DecoImage(3, 3) - .withSize(16, 16) - .withImageLocation(playerInfo.getSkin()) - .withUV(64, 8, 8, 16, 16), + new DecoPlayerDisplay(3, 3) + .withEntity(player) + .withSize(16, 16), //Faction banner new DecoBannerDisplay(220-48+4, 3) .withBanner(userIdentity.getBanner()) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiChemicalBath.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiChemicalBath.java index 40277ecb1..0ee89d798 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiChemicalBath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiChemicalBath.java @@ -24,7 +24,7 @@ public class GuiChemicalBath extends DecoTileGui { @DecoResource public static final ResourceLocation PROGRESS_ARROW = ResLoc.of(IIReference.RES_II, "gui/sawmill"); + private DecoImage imageProgress; public GuiSawmill(EntityPlayer player, TileEntitySawmill tile) { @@ -56,7 +59,7 @@ public void onInit() .withSize(49, 12) .withImageLocation(PROGRESS_ARROW, true) .withUV(64, 0, 12, 49, 24), - new DecoImage(66-10-1-14, 42-4) + this.imageProgress = new DecoImage(66-10-1-14, 42-4) .withSize(49, 12) .withImageLocation(PROGRESS_ARROW, true) .withUV(64, 0, 0, 49, 12) @@ -70,4 +73,11 @@ public void onGuiClosed() super.onGuiClosed(); syncAnimatedParts(tile.vise, false); } + + @Override + @Method(modid = "jei") + public void onInitJEICompat() + { + JEIHelper.addRecipesDecoGuiLink(this.imageProgress, "ii.sawmill"); + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java index d5c5b4032..a76e63587 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java @@ -20,7 +20,7 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoPanel; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoBannerDisplay; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.text.DecoTextField; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoImage; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoPlayerDisplay; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFlagpole; @@ -186,7 +186,7 @@ private DecoPanel buildMembersPage(OwnerIdentity identity) .withLabel("name", () -> new DecoLabel(fontRenderer, 20, 3) .withSize(78, 16) .withAlign(DecoAlignment.LEFT)) - .withComponent("head", () -> new DecoImage(3, 3).withSize(16, 16)) + .withComponent("head", () -> new DecoPlayerDisplay(3, 3).withSize(16, 16)) .withComponent("role", p -> new DecoDropdown(p.width-118, 3) .withSize(96, 16) .withEntries(assignableRoles) @@ -203,9 +203,8 @@ private DecoPanel buildMembersPage(OwnerIdentity identity) PlayerInfo info = handler.getPlayerInfo(uuid); PermissionRole role = identity.getRoleOf(uuid); entry.label("name").withRawText(info.getName()); - entry.component("head", DecoImage.class) - .withImageLocation(info.getSkin()) - .withUV(64, 8, 8, 16, 16); + entry.component("head", DecoPlayerDisplay.class) + .withPlayerInfo(info); DecoDropdown dropdown = entry.component("role", DecoDropdown.class); dropdown.withEntries(role!=null&&role.isOwner()?Collections.singletonList(role): assignableRoles) @@ -265,7 +264,7 @@ private DecoPanel buildInvitationsPage(OwnerIdentity identity, NetHandlerPlayCli .withLabel("name", () -> new DecoLabel(fontRenderer, 20, 3) .withSize(panel.width-62, 16) .withAlign(DecoAlignment.LEFT)) - .withComponent("head", () -> new DecoImage(3, 3).withSize(16, 16)) + .withComponent("head", () -> new DecoPlayerDisplay(3, 3).withSize(16, 16)) .withComponent("cancel", p -> new DecoButton(p.width-19, 3) .withSize(16, 16) .withTemplate(DecoTemplates.ACTION_BUTTON_REMOVE) @@ -275,9 +274,8 @@ private DecoPanel buildInvitationsPage(OwnerIdentity identity, NetHandlerPlayCli .withElementApplyMethod((uuid, entry) -> { PlayerInfo info = handler.getPlayerInfo(uuid); entry.label("name").withRawText(info.getName()); - entry.component("head", DecoImage.class) - .withImageLocation(info.getSkin()) - .withUV(64, 8, 8, 16, 16); + entry.component("head", DecoPlayerDisplay.class) + .withPlayerInfo(info); }) ) ); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/DecoPlayerDisplay.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/DecoPlayerDisplay.java new file mode 100644 index 000000000..c70377787 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/DecoPlayerDisplay.java @@ -0,0 +1,209 @@ +package pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual; + +import blusunrize.immersiveengineering.client.ClientUtils; +import net.minecraft.client.entity.AbstractClientPlayer; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.entity.Entity; +import net.minecraft.entity.monster.AbstractSkeleton; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntityWitherSkeleton; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ResourceLocation; +import pl.pabilo8.immersiveintelligence.client.IIClientUtils; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.DecoComponent; +import pl.pabilo8.immersiveintelligence.client.gui.deco.util.DecoTextures; +import pl.pabilo8.immersiveintelligence.client.util.IIDrawUtils; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.diplomacy.DiplomacyHandler; +import pl.pabilo8.immersiveintelligence.common.util.diplomacy.DiplomacyHandler.PlayerInfo; + +import javax.annotation.Nullable; +import java.util.Collections; + +/** + * Displays the face of a player or a vanilla mob that has a skull item. + * Unsupported entities use a black fallback image. + * + * @Author Pabilo8(pabilo.iiteam.net) + * @Since 06.08.2026 + */ +public class DecoPlayerDisplay extends DecoComponent +{ + private static final ResourceLocation CREEPER_TEXTURE = new ResourceLocation("textures/entity/creeper/creeper.png"); + private static final ResourceLocation SKELETON_TEXTURE = new ResourceLocation("textures/entity/skeleton/skeleton.png"); + private static final ResourceLocation WITHER_SKELETON_TEXTURE = new ResourceLocation("textures/entity/skeleton/wither_skeleton.png"); + private static final ResourceLocation ZOMBIE_TEXTURE = new ResourceLocation("textures/entity/zombie/zombie.png"); + + private ResourceLocation imageLocation = DecoTextures.TEXTURE_WHITE; + private boolean usesBlockAtlas = true; + private boolean drawPlayerOverlay; + private int textureWidth = 16; + private int textureHeight = 16; + private int u; + private int v; + private int faceWidth = 16; + private int faceHeight = 16; + private IIColor color = IIColor.BLACK; + private String displayedName = ""; + + /** + * Creates an empty player display. + * + * @param x x position + * @param y y position + */ + public DecoPlayerDisplay(int x, int y) + { + super(x, y); + withSize(16, 16); + withOnTooltip(component -> displayedName.isEmpty()?Collections.emptyList(): Collections.singletonList(displayedName)); + } + + /** + * Uses a player skin from diplomacy player information. + * + * @param playerInfo player information + * @return this display + */ + public DecoPlayerDisplay withPlayerInfo(@Nullable PlayerInfo playerInfo) + { + if(playerInfo==null) + return useFallback(""); + + displayedName = playerInfo.getName()==null?"": playerInfo.getName(); + try + { + return usePlayerSkin(playerInfo.getSkin()); + } catch(RuntimeException ignored) + { + return useFallback(displayedName); + } + } + + /** + * Uses the skin or skull texture that matches an entity. + * + * @param entity entity to display + * @return this display + */ + public DecoPlayerDisplay withEntity(@Nullable Entity entity) + { + if(entity==null) + return useFallback(""); + + displayedName = entity.getName()==null?"": entity.getName(); + if(entity instanceof AbstractClientPlayer) + return usePlayerSkin(((AbstractClientPlayer)entity).getLocationSkin()); + if(entity instanceof EntityPlayer) + { + PlayerInfo playerInfo = DiplomacyHandler.getInstance(true).getPlayerInfo(entity.getUniqueID()); + try + { + return usePlayerSkin(playerInfo.getSkin()); + } catch(RuntimeException ignored) + { + return useFallback(displayedName); + } + } + if(entity instanceof EntityCreeper) + return useMobTexture(CREEPER_TEXTURE, 64, 32); + if(entity instanceof EntityWitherSkeleton) + return useMobTexture(WITHER_SKELETON_TEXTURE, 64, 32); + if(entity instanceof AbstractSkeleton) + return useMobTexture(SKELETON_TEXTURE, 64, 32); + if(entity instanceof EntityZombie) + return useMobTexture(ZOMBIE_TEXTURE, 64, 64); + return useFallback(displayedName); + } + + private DecoPlayerDisplay usePlayerSkin(@Nullable ResourceLocation skin) + { + if(skin==null) + return useFallback(displayedName); + this.imageLocation = skin; + this.usesBlockAtlas = false; + this.drawPlayerOverlay = true; + this.textureWidth = 64; + this.textureHeight = 64; + this.u = 8; + this.v = 8; + this.faceWidth = 8; + this.faceHeight = 8; + this.color = IIColor.WHITE; + return this; + } + + private DecoPlayerDisplay useMobTexture(ResourceLocation texture, int textureWidth, int textureHeight) + { + this.imageLocation = texture; + this.usesBlockAtlas = false; + this.drawPlayerOverlay = false; + this.textureWidth = textureWidth; + this.textureHeight = textureHeight; + this.u = 8; + this.v = 8; + this.faceWidth = 8; + this.faceHeight = 8; + this.color = IIColor.WHITE; + return this; + } + + private DecoPlayerDisplay useFallback(String name) + { + this.displayedName = name==null?"": name; + this.imageLocation = DecoTextures.TEXTURE_WHITE; + this.usesBlockAtlas = true; + this.drawPlayerOverlay = false; + this.textureWidth = 16; + this.textureHeight = 16; + this.u = 0; + this.v = 0; + this.faceWidth = 16; + this.faceHeight = 16; + this.color = IIColor.BLACK; + return this; + } + + @Override + protected boolean initialize() + { + return imageLocation!=null; + } + + @Override + protected void draw(int mouseX, int mouseY, float partialTicks) + { + GlStateManager.enableBlend(); + drawFace(u, v, faceWidth, faceHeight, color); + if(drawPlayerOverlay) + drawFace(40, 8, 8, 8, IIColor.WHITE); + } + + private void drawFace(int sourceX, int sourceY, int sourceWidth, int sourceHeight, IIColor tint) + { + IIDrawUtils draw = IIDrawUtils.startTexturedColored(); + if(usesBlockAtlas) + { + ClientUtils.bindAtlas(); + TextureAtlasSprite sprite = ClientUtils.getSprite(imageLocation); + draw.drawTexColorRect(x, y, width, height, tint, + sprite.getMinU(), sprite.getMaxU(), sprite.getMinV(), sprite.getMaxV()); + } + else + { + IIClientUtils.bindTexture(imageLocation); + draw.drawTexColorRect(x, y, width, height, tint, + sourceX/(float)textureWidth, (sourceX+sourceWidth)/(float)textureWidth, + sourceY/(float)textureHeight, (sourceY+sourceHeight)/(float)textureHeight); + } + draw.finish(); + } + + @Override + public void cleanup() + { + + } +} From 675eff2c1476f83f191f82addb0844c17ad6ee51 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Mon, 10 Aug 2026 01:27:53 +0200 Subject: [PATCH 07/23] Added POL tests for all data operations, fixed script parser and improved data operation manual display Closes #569 --- .../advanced_arithmetic/DataOperationCos.java | 2 +- .../advanced_arithmetic/DataOperationSin.java | 2 +- .../advanced_arithmetic/DataOperationTan.java | 2 +- .../array/DataOperationArrayCreate.java | 2 +- .../array/DataOperationArraySet.java | 10 +- .../DataOperationDecryptNumber.java | 3 +- .../fluidstack/DataOperationFluidCreate.java | 7 +- .../fluidstack/DataOperationFluidIsEmpty.java | 2 +- .../DataOperationItemStackIsEmpty.java | 3 +- .../map/DataOperationMapContains.java | 4 +- .../operations/map/DataOperationMapGet.java | 4 +- .../map/DataOperationMapRemove.java | 8 +- .../operations/map/DataOperationMapSet.java | 8 +- .../type_conversion/DataOperationToNull.java | 2 +- .../vector/DataOperationVectorGetPitch.java | 5 +- .../vector/DataOperationVectorGetYaw.java | 3 +- .../api/data/pol/POLComputerMemory.java | 13 +- .../api/data/pol/POLScript.java | 432 +++++++++++------- .../manual/objects/IIManualDataOperation.java | 308 +++++++++++-- .../item/data/ItemIIFunctionalCircuit.java | 4 +- .../data/operations/DataOperationTest.java | 179 ++++++++ .../api/data/pol/POLComputerTest.java | 272 +++++++++-- .../computer_tests/circuits/arithmetic.out | 18 + .../computer_tests/circuits/arithmetic.pol | 22 + .../computer_tests/circuits/array.out | 9 + .../computer_tests/circuits/array.pol | 15 + .../computer_tests/circuits/cryptographer.out | 2 + .../computer_tests/circuits/cryptographer.pol | 8 + .../computer_tests/circuits/document.out | 5 + .../computer_tests/circuits/document.pol | 12 + .../computer_tests/circuits/entity.out | 8 + .../computer_tests/circuits/entity.pol | 12 + .../computer_tests/circuits/fluidstack.out | 8 + .../computer_tests/circuits/fluidstack.pol | 15 + .../computer_tests/circuits/itemstack.out | 11 + .../computer_tests/circuits/itemstack.pol | 20 + .../computer_tests/circuits/logic.out | 12 + .../computer_tests/circuits/logic.pol | 17 + .../resources/computer_tests/circuits/map.out | 9 + .../resources/computer_tests/circuits/map.pol | 21 + .../computer_tests/circuits/text.out | 26 +- .../computer_tests/circuits/text.pol | 32 +- .../circuits/type_conversion.out | 7 + .../circuits/type_conversion.pol | 11 + .../computer_tests/circuits/vector.out | 18 + .../computer_tests/circuits/vector.pol | 24 + 46 files changed, 1306 insertions(+), 311 deletions(-) create mode 100644 src/test/java/pl/pabilo8/immersiveintelligence/api/data/operations/DataOperationTest.java create mode 100644 src/test/resources/computer_tests/circuits/arithmetic.out create mode 100644 src/test/resources/computer_tests/circuits/arithmetic.pol create mode 100644 src/test/resources/computer_tests/circuits/array.out create mode 100644 src/test/resources/computer_tests/circuits/array.pol create mode 100644 src/test/resources/computer_tests/circuits/cryptographer.out create mode 100644 src/test/resources/computer_tests/circuits/cryptographer.pol create mode 100644 src/test/resources/computer_tests/circuits/document.out create mode 100644 src/test/resources/computer_tests/circuits/document.pol create mode 100644 src/test/resources/computer_tests/circuits/entity.out create mode 100644 src/test/resources/computer_tests/circuits/entity.pol create mode 100644 src/test/resources/computer_tests/circuits/fluidstack.out create mode 100644 src/test/resources/computer_tests/circuits/fluidstack.pol create mode 100644 src/test/resources/computer_tests/circuits/itemstack.out create mode 100644 src/test/resources/computer_tests/circuits/itemstack.pol create mode 100644 src/test/resources/computer_tests/circuits/logic.out create mode 100644 src/test/resources/computer_tests/circuits/logic.pol create mode 100644 src/test/resources/computer_tests/circuits/map.out create mode 100644 src/test/resources/computer_tests/circuits/map.pol create mode 100644 src/test/resources/computer_tests/circuits/type_conversion.out create mode 100644 src/test/resources/computer_tests/circuits/type_conversion.pol create mode 100644 src/test/resources/computer_tests/circuits/vector.out create mode 100644 src/test/resources/computer_tests/circuits/vector.pol diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationCos.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationCos.java index c3b3d4654..5832c2d21 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationCos.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationCos.java @@ -14,7 +14,7 @@ * @author Pabilo8 (pabilo@iiteam.net) * @since 05.07.2019 */ -@DataOperationMeta(name = "cos", allowedTypes = {NumericDataType.class}, params = {"angle"}, expectedResult = NumericDataType.class) +@DataOperationMeta(name = "cos", allowedTypes = {NumericDataType.class}, params = {"angle"}, expectedResult = DataTypeFloat.class) public class DataOperationCos extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationSin.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationSin.java index c1fc08d6e..61c6a7f09 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationSin.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationSin.java @@ -14,7 +14,7 @@ * @author Pabilo8 (pabilo@iiteam.net) * @since 05.07.2019 */ -@DataOperationMeta(name = "sin", allowedTypes = {NumericDataType.class}, params = {"angle"}, expectedResult = NumericDataType.class) +@DataOperationMeta(name = "sin", allowedTypes = {NumericDataType.class}, params = {"angle"}, expectedResult = DataTypeFloat.class) public class DataOperationSin extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationTan.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationTan.java index 0dcf21d40..dac4cd2e9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationTan.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/advanced_arithmetic/DataOperationTan.java @@ -14,7 +14,7 @@ * @author Pabilo8 (pabilo@iiteam.net) * @since 05.07.2019 */ -@DataOperationMeta(name = "tan", allowedTypes = {NumericDataType.class}, params = {"angle"}, expectedResult = NumericDataType.class) +@DataOperationMeta(name = "tan", allowedTypes = {NumericDataType.class}, params = {"angle"}, expectedResult = DataTypeFloat.class) public class DataOperationTan extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArrayCreate.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArrayCreate.java index 665d580f9..d5429d2f8 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArrayCreate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArrayCreate.java @@ -14,7 +14,7 @@ * @since 09.10.2024 */ @DataOperation.DataOperationMeta(name = "array_create", expression = "", - allowedTypes = {DataTypeArray.class, DataType.class}, + allowedTypes = {DataType.class}, params = {"first"}, expectedResult = DataTypeArray.class) public class DataOperationArrayCreate extends DataOperation { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArraySet.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArraySet.java index d93226d04..5bc48aca3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArraySet.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/array/DataOperationArraySet.java @@ -6,8 +6,6 @@ import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.Arrays; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -33,11 +31,9 @@ public DataType execute(DataPacket packet, DataTypeExpression data) tries++; } - DataType[] arr = array.value; - ArrayList dataTypes = new ArrayList<>(Arrays.asList(arr)); - dataTypes.add(index, t3); - array.value = dataTypes.toArray(new DataType[0]); + if(index >= 0&&index < array.value.length) + array.value[index] = t3; - return array; + return new DataTypeNull(); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/cryptographer/DataOperationDecryptNumber.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/cryptographer/DataOperationDecryptNumber.java index d5ee409da..1f535a603 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/cryptographer/DataOperationDecryptNumber.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/cryptographer/DataOperationDecryptNumber.java @@ -7,7 +7,6 @@ import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeInteger; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeString; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; -import pl.pabilo8.immersiveintelligence.api.data.types.generic.NumericDataType; import pl.pabilo8.immersiveintelligence.common.util.IIStringUtil; import javax.annotation.Nonnull; @@ -20,7 +19,7 @@ */ @DataOperation.DataOperationMeta(name = "decrypt_number", allowedTypes = {DataTypeEncrypted.class, DataTypeString.class}, params = {"encrypted", "password"}, - expectedResult = NumericDataType.class) + expectedResult = DataTypeInteger.class) public class DataOperationDecryptNumber extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidCreate.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidCreate.java index 16ac45fb5..55e83011f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidCreate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidCreate.java @@ -2,7 +2,10 @@ import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.operations.DataOperation; -import pl.pabilo8.immersiveintelligence.api.data.types.*; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeExpression; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeFluidStack; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeInteger; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeString; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; import javax.annotation.Nonnull; @@ -14,7 +17,7 @@ **/ @DataOperation.DataOperationMeta(name = "fluidstack_create", expression = "", allowedTypes = {DataTypeString.class, DataTypeInteger.class, DataTypeString.class}, params = {"fluid_id", "amount", "nbt"}, - expectedResult = DataTypeItemStack.class) + expectedResult = DataTypeFluidStack.class) public class DataOperationFluidCreate extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidIsEmpty.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidIsEmpty.java index 841ca19ea..a77582a4c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidIsEmpty.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/fluidstack/DataOperationFluidIsEmpty.java @@ -24,6 +24,6 @@ public class DataOperationFluidIsEmpty extends DataOperation public DataType execute(DataPacket packet, DataTypeExpression data) { DataTypeFluidStack fs = packet.getVarInType(DataTypeFluidStack.class, data.getArgument(0)); - return new DataTypeBoolean(fs.value!=null&&fs.value.amount > 0); + return new DataTypeBoolean(fs.value==null||fs.value.amount <= 0); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/itemstack/DataOperationItemStackIsEmpty.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/itemstack/DataOperationItemStackIsEmpty.java index f589f23ae..256c14b4e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/itemstack/DataOperationItemStackIsEmpty.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/itemstack/DataOperationItemStackIsEmpty.java @@ -20,6 +20,7 @@ public class DataOperationItemStackIsEmpty extends DataOperation @Override public DataType execute(DataPacket packet, DataTypeExpression data) { - return new DataTypeBoolean(packet.getVarInType(DataTypeItemStack.class, data.getArgument(0)).value.isEmpty()); + DataTypeItemStack stack = packet.getVarInType(DataTypeItemStack.class, data.getArgument(0)); + return new DataTypeBoolean(stack.value.isEmpty()); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapContains.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapContains.java index c9b99e72b..44c1aa16b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapContains.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapContains.java @@ -24,7 +24,7 @@ public class DataOperationMapContains extends DataOperation public DataType execute(DataPacket packet, DataTypeExpression data) { DataTypeMap map = packet.getVarInType(DataTypeMap.class, data.getArgument(0)); - DataType key = data.getArgument(1); + DataType key = packet.evaluateVariable(data.getArgument(1), false); return new DataTypeBoolean(map.containsKey(key)); } -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapGet.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapGet.java index 8ac3a6e0c..f2f6353ce 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapGet.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapGet.java @@ -23,6 +23,6 @@ public class DataOperationMapGet extends DataOperation public DataType execute(DataPacket packet, DataTypeExpression data) { DataTypeMap map = packet.getVarInType(DataTypeMap.class, data.getArgument(0)); - return map.get(data.getArgument(1)); + return map.get(packet.evaluateVariable(data.getArgument(1), false)); } -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapRemove.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapRemove.java index a2924bd90..10c4985e5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapRemove.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapRemove.java @@ -4,6 +4,7 @@ import pl.pabilo8.immersiveintelligence.api.data.operations.DataOperation; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeExpression; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeMap; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeNull; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; import javax.annotation.Nonnull; @@ -23,7 +24,8 @@ public class DataOperationMapRemove extends DataOperation public DataType execute(DataPacket packet, DataTypeExpression data) { DataTypeMap map = packet.getVarInType(DataTypeMap.class, data.getArgument(0)); - DataType key = data.getArgument(1); - return map.remove(key); + DataType key = packet.evaluateVariable(data.getArgument(1), false); + DataType removed = map.remove(key); + return removed==null?new DataTypeNull(): removed; } -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapSet.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapSet.java index 1ae28a2ce..5540ea370 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapSet.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/map/DataOperationMapSet.java @@ -16,7 +16,7 @@ **/ @DataOperation.DataOperationMeta(name = "map_set", allowedTypes = {DataTypeMap.class, DataType.class, DataType.class}, params = {"map", "key", "value"}, - expectedResult = DataTypeMap.class) + expectedResult = DataTypeNull.class, resultMatters = false) public class DataOperationMapSet extends DataOperation { @Nonnull @@ -24,9 +24,9 @@ public class DataOperationMapSet extends DataOperation public DataType execute(DataPacket packet, DataTypeExpression data) { DataTypeMap map = packet.getVarInType(DataTypeMap.class, data.getArgument(0)); - DataType key = data.getArgument(1); - DataType value = data.getArgument(2); + DataType key = packet.evaluateVariable(data.getArgument(1), false); + DataType value = packet.evaluateVariable(data.getArgument(2), false); map.put(key, value); return new DataTypeNull(); } -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/type_conversion/DataOperationToNull.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/type_conversion/DataOperationToNull.java index 055d6e02f..b1ba62ab5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/type_conversion/DataOperationToNull.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/type_conversion/DataOperationToNull.java @@ -12,7 +12,7 @@ * @author Pabilo8 (pabilo@iiteam.net) * @since 05.07.2019 */ -@DataOperation.DataOperationMeta(name = "to_null", allowedTypes = {DataType.class}, expression = "", params = {}, expectedResult = DataTypeNull.class) +@DataOperation.DataOperationMeta(name = "to_null", allowedTypes = {DataType.class}, expression = "", params = {"casted"}, expectedResult = DataTypeNull.class) public class DataOperationToNull extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetPitch.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetPitch.java index 89c846829..10422981f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetPitch.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetPitch.java @@ -6,7 +6,6 @@ import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeFloat; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeVector; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; -import pl.pabilo8.immersiveintelligence.api.data.types.generic.NumericDataType; import javax.annotation.Nonnull; @@ -17,7 +16,7 @@ **/ @DataOperation.DataOperationMeta(name = "vector_get_pitch", allowedTypes = {DataTypeVector.class}, params = {"vector"}, - expectedResult = NumericDataType.class) + expectedResult = DataTypeFloat.class) public class DataOperationVectorGetPitch extends DataOperation { @Nonnull @@ -25,6 +24,6 @@ public class DataOperationVectorGetPitch extends DataOperation public DataType execute(DataPacket packet, DataTypeExpression data) { DataTypeVector vector = packet.getVarInType(DataTypeVector.class, data.getArgument(0)); - return new DataTypeFloat((float)Math.atan2(vector.y, Math.sqrt(vector.x*vector.x+vector.z*vector.z))*180F); + return new DataTypeFloat((float)Math.toDegrees(Math.atan2(vector.y, Math.sqrt(vector.x*vector.x+vector.z*vector.z)))); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetYaw.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetYaw.java index 85d770f1b..ad2528a7d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetYaw.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/operations/vector/DataOperationVectorGetYaw.java @@ -6,7 +6,6 @@ import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeFloat; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeVector; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; -import pl.pabilo8.immersiveintelligence.api.data.types.generic.NumericDataType; import javax.annotation.Nonnull; @@ -17,7 +16,7 @@ **/ @DataOperation.DataOperationMeta(name = "vector_get_yaw", allowedTypes = {DataTypeVector.class}, params = {"vector"}, - expectedResult = NumericDataType.class) + expectedResult = DataTypeFloat.class) public class DataOperationVectorGetYaw extends DataOperation { @Nonnull diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerMemory.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerMemory.java index 53b482ee3..28d32dfd5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerMemory.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerMemory.java @@ -8,7 +8,10 @@ import java.util.HashMap; /** - * @author Pabilo8 (pabilo@iiteam.net) + * Stores POL data pages and compiled scripts. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 09.08.2026 * @since 16.04.2022 */ public class POLComputerMemory @@ -33,10 +36,14 @@ public POLComputerMemory(int memoryAmount) public POLComputerMemory(NBTTagCompound nbt) { NBTTagList list = nbt.getTagList("pages", NBT.TAG_COMPOUND); - pages = new DataPacket[list.tagCount()]; + pages = new DataPacket[Math.max(list.tagCount(), 1)]; - for(int i = 1; i < pages.length; i++) + for(int i = 0; i < list.tagCount(); i++) pages[i] = new DataPacket((NBTTagCompound)list.get(i)); + if(list.tagCount()==0) + pages[0] = new DataPacket(); + + packet = pages[0]; } /** diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLScript.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLScript.java index 35071bc42..bbde194fa 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLScript.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLScript.java @@ -13,19 +13,16 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.regex.Pattern; -import java.util.stream.Collectors; /** - * An executable script of the POL Programming Language + * Compiles and stores executable POL programs. * - * @author Pabilo8 (pabilo@iiteam.net) + * @author Pabilo8(pabilo@iiteam.net) + * @updated 09.08.2026 * @since 16.04.2022 */ public class POLScript { - private static final Pattern SPECIAL_REGEX_CHARS = Pattern.compile("[{}()\\[\\].+*?^$\\\\|]"); - private final HashMap> markers; private final POLInstruction[] instructions; @@ -48,62 +45,98 @@ public static POLScript prepareScript(ArrayList lines) */ protected static ArrayList> processText(ArrayList text) { - //remove comments and empty lines - text = (ArrayList)text.stream() - .map(s -> SPECIAL_REGEX_CHARS.matcher(s).replaceAll("\\\\$0")) //replace regex chars - .map(s -> s.replaceAll(";(?<=;).*$", "")) //remove comments - .map(s -> s.replaceAll("\\\\", "")) //revert regex chars - .map(s -> s.replaceAll("\\s+$", "")) //trim end whitespace - .map(s -> s.replaceAll(" {4}", "\t")) //turn 4x string into tabulations - .filter(s -> !s.isEmpty()) //remove empty lines - .collect(Collectors.toList()); - int level = 0; - ArrayList> output = new ArrayList<>(); - for(String next : text) + for(String line : text) { - int indents = countChars(next, '\t'); - next = next.replaceAll("\t", ""); + String next = stripComment(line); + if(next.trim().isEmpty()) + continue; + + int indents = getIndentLevel(next); + next = stripIndent(next).replaceFirst("\\s+$", ""); - //add BEGIN or END if the level differs + // Add BEGIN or END if the level differs. for(int j = level-indents; j > 0; j--) - output.add(new Tuple<>(POLKeywords.END, "")); //add end keywords + output.add(new Tuple<>(POLKeywords.END, "")); for(int j = indents-level; j > 0; j--) - output.add(new Tuple<>(POLKeywords.BEGIN, "")); //add begin keywords + output.add(new Tuple<>(POLKeywords.BEGIN, "")); level = indents; - String element = next.split(" ")[0]; + String[] split = next.split("\\s+", 2); + String element = split[0]; POLKeywords keyword = POLKeywords.v(element); - if(element.length()==0) //letter - output.add(new Tuple<>(POLKeywords.SET, "generic "+next)); - else if(IIDataTypeUtils.metaTypesByName.containsKey(element)) //type name + if(IIDataTypeUtils.metaTypesByName.containsKey(element)) output.add(new Tuple<>(POLKeywords.SET, next)); else if(keyword!=null) - { - output.add(new Tuple<>(keyword, - next.split(" ").length > 1?next.split(" ", 2)[1]: "" - )); - } + output.add(new Tuple<>(keyword, split.length > 1?split[1]: "")); } - //add END if there is no finish marker for(int i = 0; i < level; i++) output.add(new Tuple<>(POLKeywords.END, "")); return output; + } - /*return (ArrayList>) - text.stream().map(s -> { - String[] split = s.split(" ", 2); - return new Tuple<>( - Optional.ofNullable(POLKeywords.v(split[0])).orElse(POLKeywords.WAIT), //shouldn't happen - split.length>1?split[1]:"" - ); - }).collect(Collectors.toList());*/ + private static String stripComment(String line) + { + char quote = 0; + boolean escaped = false; + + for(int i = 0; i < line.length(); i++) + { + char c = line.charAt(i); + if(quote!=0) + { + if(escaped) + { + escaped = false; + continue; + } + if(c=='\\') + { + escaped = true; + continue; + } + if(c==quote) + quote = 0; + continue; + } + + if(c=='\''||c=='"') + quote = c; + else if(c==';') + return line.substring(0, i); + } + + return line; + } + + private static int getIndentLevel(String line) + { + int columns = 0; + for(int i = 0; i < line.length(); i++) + { + char c = line.charAt(i); + if(c==' ') + columns++; + else if(c=='\t') + columns += 4; + else + break; + } + return columns/4; + } + + private static String stripIndent(String line) + { + int index = 0; + while(index < line.length()&&(line.charAt(index)==' '||line.charAt(index)=='\t')) + index++; + return line.substring(index); } /** @@ -184,7 +217,7 @@ protected static POLScript compile(ArrayList> script) break; case SWAP: //swap variables { - String[] words = rest.split(" ", 4); + String[] words = rest.split("\\s+", 4); in = new POLInstructionSwap( words[0].charAt(0), words.length > 1?words[1].charAt(0): words[0].charAt(0), @@ -194,7 +227,7 @@ protected static POLScript compile(ArrayList> script) break; case MOVE: //move a variable { - String[] words = rest.split(" ", 4); + String[] words = rest.split("\\s+", 4); in = new POLInstructionMove( words[0].charAt(0), words.length > 1?words[1].charAt(0): words[0].charAt(0), @@ -204,7 +237,7 @@ protected static POLScript compile(ArrayList> script) break; case COPY: //copy a variable { - String[] words = rest.split(" ", 4); + String[] words = rest.split("\\s+", 4); in = new POLInstructionCopy( words[0].charAt(0), words.length > 1?words[1].charAt(0): words[0].charAt(0), @@ -214,7 +247,7 @@ protected static POLScript compile(ArrayList> script) break; case SET: //set variable value { - String[] words = rest.split(" ", 4); + String[] words = rest.split("\\s+", 4); char letter = words[1].charAt(0); in = new POLInstructionSet(letter, beginParseExpression(operations, words[3]), IIDataTypeUtils.getVarInstance(words[0]).getClass()); @@ -271,180 +304,253 @@ private static void addInstruction(ArrayList> subSets, private static DataType beginParseExpression(ArrayList operations, String text) { - if(countChars(text, '(')!=countChars(text, ')')) - return new DataTypeNull(); //unbalanced brackets - - if((countChars(text, '\'')+countChars(text, '\"'))%2!=0) - return new DataTypeNull(); //non even number of apostrophes - + text = text.trim(); + if(!isExpressionBalanced(text)) + return new DataTypeNull(); return parseExpression(operations, text); } - // TODO: 19.04.2022 somehow add escaping special characters - /** - * Polish Notation for the win! - * (what else would you expect in a language named POL) :D + * Parses a POL expression in prefix notation. */ private static DataType parseExpression(ArrayList operations, String text) { - if(text.length()==0) + text = text.trim(); + if(text.isEmpty()) return new DataTypeNull(); - if(text.startsWith("(")) + if(text.charAt(0)=='(') { - return parseExpression(operations, text.substring(1, Math.max(text.length()-2, 1))); + int closing = findClosingBracket(text); + if(closing==text.length()-1) + return parseExpression(operations, text.substring(1, closing)); } - DataOperation op = null; - ArrayList arguments = new ArrayList<>(); - String keyword = text.split(" ")[0]; - - for(DataOperation operation : operations) - if(operation.getMeta().name().equals(keyword)) - { - op = operation; - break; - } - if(op==null) - for(DataOperation operation : operations) - { - String expression = operation.getMeta().expression(); - if(!expression.isEmpty()&&expression.equals(keyword)) - { - op = operation; - keyword = SPECIAL_REGEX_CHARS.matcher(keyword).replaceAll("\\\\$0"); //replace special chars, like +, -, etc. - break; - } - } + String keyword = firstToken(text); + DataOperation operation = findOperation(operations, keyword); + if(operation==null) + return parseValue(text).getFirst(); - if(op!=null) + ArrayList arguments = new ArrayList<>(); + String remaining = text.substring(keyword.length()).trim(); + while(!remaining.isEmpty()) { - String remaining = text.replaceFirst(keyword, "").trim(); - while(remaining.length() > 0) + Tuple tuple; + if(remaining.charAt(0)=='(') { - Tuple tuple; - if(remaining.startsWith("(")) - { - String exp = findFullBracket(remaining); - tuple = new Tuple<>( - parseExpression(operations, exp), - remaining - .replaceFirst("\\(", "") - .replaceFirst(SPECIAL_REGEX_CHARS.matcher(exp).replaceAll("\\\\$0"), "") //replace special chars, like +, -, etc. - .replaceFirst("\\)", "") - ); - } - else - tuple = parseValue(remaining); - - arguments.add(tuple.getFirst()); - remaining = tuple.getSecond().trim(); + int closing = findClosingBracket(remaining); + if(closing < 0) + return new DataTypeNull(); + tuple = new Tuple<>( + parseExpression(operations, remaining.substring(1, closing)), + remaining.substring(closing+1) + ); } + else + tuple = parseValue(remaining); - return new DataTypeExpression(arguments.toArray(new DataType[0]), op, ' '); + arguments.add(tuple.getFirst()); + String next = tuple.getSecond().trim(); + if(next.equals(remaining)) + break; + remaining = next; } - else + + return new DataTypeExpression(arguments.toArray(new DataType[0]), operation, ' '); + } + + private static DataOperation findOperation(ArrayList operations, String keyword) + { + for(DataOperation operation : operations) { - return parseValue(text).getFirst(); + if(operation.getMeta().name().equals(keyword)||operation.getMeta().expression().equals(keyword)) + return operation; } + return null; + } + private static int findClosingBracket(String text) + { + int depth = 0; + char quote = 0; + boolean escaped = false; - //parse into operation - /*for(DataOperation op : operations) + for(int i = 0; i < text.length(); i++) { - if(op.expression!=null) + char c = text.charAt(i); + if(quote!=0) { - Pattern pattern = Pattern.compile(op.expression.replaceAll("%s", "\\w")); + if(escaped) + { + escaped = false; + continue; + } + if(c=='\\') + { + escaped = true; + continue; + } + if(c==quote) + quote = 0; + continue; } - }*/ + + if(c=='\''||c=='"') + quote = c; + else if(c=='(') + depth++; + else if(c==')'&&--depth==0) + return i; + } + + return -1; } - private static String findFullBracket(String remaining) + private static boolean isExpressionBalanced(String text) { - int opening = 1, closing = 0, c = 1; - final int l = remaining.length(); - while(opening!=closing&&c < l) + int depth = 0; + char quote = 0; + boolean escaped = false; + + for(int i = 0; i < text.length(); i++) { - switch(remaining.charAt(c)) + char c = text.charAt(i); + if(quote!=0) { - case '(': - opening++; - break; - case ')': - closing++; - break; - default: - break; + if(escaped) + { + escaped = false; + continue; + } + if(c=='\\') + { + escaped = true; + continue; + } + if(c==quote) + quote = 0; + continue; } - c++; + + if(c=='\''||c=='"') + quote = c; + else if(c=='(') + depth++; + else if(c==')'&&--depth < 0) + return false; } - return remaining.substring(1, c-1); + return depth==0&"e==0; } private static Tuple parseValue(String text) { - DataType data; + text = text.trim(); + if(text.isEmpty()) + return new Tuple<>(new DataTypeNull(), ""); - if(text.charAt(0)=='\"') - { - data = new DataTypeString(text.substring(1, text.indexOf('\"', 1))); - text = text.replaceFirst("\".+\"", ""); - } - else if(text.charAt(0)=='\'') + char first = text.charAt(0); + if(first=='"'||first=='\'') { - data = new DataTypeString(text.substring(1, text.indexOf('\'', 1))); - text = text.replaceFirst("'.+'", ""); + int closing = findClosingQuote(text, first); + if(closing < 0) + return new Tuple<>(new DataTypeNull(), ""); + return new Tuple<>( + new DataTypeString(unescapeString(text.substring(1, closing), first)), + text.substring(closing+1) + ); } - else if(text.charAt(0)=='@') + + if(first=='@') { - data = new DataTypeAccessor(text.charAt(1)); - text = text.replaceFirst("@.", ""); + if(text.length() < 2) + return new Tuple<>(new DataTypeNull(), ""); + return new Tuple<>(new DataTypeAccessor(text.charAt(1)), text.substring(2)); } - else if(Character.isDigit(text.charAt(0))) + + String token = firstToken(text); + if(isNumericToken(token)) { - String num = text.split(" ")[0]; try { - data = countChars(num, '.') > 0?new DataTypeFloat(Float.parseFloat(num)): new DataTypeInteger(Integer.parseInt(num)); - } catch(Exception i) + DataType value = token.indexOf('.') >= 0||token.indexOf('e') >= 0||token.indexOf('E') >= 0? + new DataTypeFloat(Float.parseFloat(token)): + new DataTypeInteger(Integer.parseInt(token)); + return new Tuple<>(value, text.substring(token.length())); + } catch(NumberFormatException ignored) { - try - { - data = new DataTypeInteger(Integer.parseInt(num)); - } catch(Exception i2) - { - data = new DataTypeInteger(0); - } + return new Tuple<>(new DataTypeInteger(0), text.substring(token.length())); } - - text = text.replaceFirst(num, ""); - } - else if(text.split(" ")[0].equals("true")) - { - return new Tuple<>(new DataTypeBoolean(true), text.replaceFirst("true", "")); - } - else if(text.split(" ")[0].equals("false")) - { - return new Tuple<>(new DataTypeBoolean(false), text.replaceFirst("false", "")); } - else if(text.split(" ")[0].equals("null")) + + if(token.equals("true")) + return new Tuple<>(new DataTypeBoolean(true), text.substring(token.length())); + if(token.equals("false")) + return new Tuple<>(new DataTypeBoolean(false), text.substring(token.length())); + if(token.equals("null")) + return new Tuple<>(new DataTypeNull(), text.substring(token.length())); + + return new Tuple<>(new DataTypeNull(), text.substring(token.length())); + } + + private static int findClosingQuote(String text, char quote) + { + boolean escaped = false; + for(int i = 1; i < text.length(); i++) { - return new Tuple<>(new DataTypeNull(), text.replaceFirst("null", "")); + char c = text.charAt(i); + if(escaped) + { + escaped = false; + continue; + } + if(c=='\\') + { + escaped = true; + continue; + } + if(c==quote) + return i; } - else + return -1; + } + + private static String unescapeString(String text, char quote) + { + StringBuilder result = new StringBuilder(text.length()); + for(int i = 0; i < text.length(); i++) { - data = new DataTypeNull(); - text = ""; + char c = text.charAt(i); + if(c=='\\'&&i+1 < text.length()) + { + char next = text.charAt(i+1); + if(next==quote||next=='\\') + { + result.append(next); + i++; + continue; + } + } + result.append(c); } + return result.toString(); + } - return new Tuple<>(data, text); + private static String firstToken(String text) + { + int end = 0; + while(end < text.length()&&!Character.isWhitespace(text.charAt(end))) + end++; + return text.substring(0, end); } - private static int countChars(String s, char c) + private static boolean isNumericToken(String token) { - return (int)s.chars().filter(v -> v==c).count(); + if(token.isEmpty()) + return false; + char first = token.charAt(0); + return Character.isDigit(first)||((first=='-'||first=='+')&&token.length() > 1&& + (Character.isDigit(token.charAt(1))||token.charAt(1)=='.')); } public POLInstruction[] getInstructions() diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/manual/objects/IIManualDataOperation.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/manual/objects/IIManualDataOperation.java index a2ddf32f6..244701bf2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/manual/objects/IIManualDataOperation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/manual/objects/IIManualDataOperation.java @@ -3,10 +3,13 @@ import blusunrize.immersiveengineering.client.ClientUtils; import blusunrize.immersiveengineering.client.gui.elements.GuiButtonState; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.I18n; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.text.TextFormatting; +import org.lwjgl.opengl.GL11; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.IIDataOperationUtils; import pl.pabilo8.immersiveintelligence.api.data.IIDataTypeUtils; @@ -17,6 +20,8 @@ import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType.IGenericDataType; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType.TypeMetaInfo; import pl.pabilo8.immersiveintelligence.client.IIClientUtils; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.text.highlight.POLHighlighter; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.text.highlight.TextHighlighter.Segment; import pl.pabilo8.immersiveintelligence.client.manual.IIManualObject; import pl.pabilo8.immersiveintelligence.client.manual.IIManualPage; import pl.pabilo8.immersiveintelligence.client.util.IIDrawUtils; @@ -34,24 +39,34 @@ import java.util.List; /** - * @author Pabilo8 (pabilo@iiteam.net) + * Displays a data operation reference with parameters, result information, and a POL example. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 10.08.2026 * @since 02.11.2022 */ public class IIManualDataOperation extends IIManualObject { - private static final IIColor COLOR_CODE_PLAIN_TEXT = IIColor.fromPackedRGB(0xA9B7C6); - private static final IIColor COLOR_CODE_KEYWORD = IIColor.fromPackedRGB(0xCC7832); - private static final IIColor COLOR_CODE_VARIABLE = IIColor.fromPackedRGB(0x7e6b80); - private static final IIColor COLOR_CODE_STRING = IIColor.fromPackedRGB(0x6A8759); - private static final IIColor COLOR_CODE_COMMENT = IIColor.fromPackedRGB(0x49633f); - private static final IIColor COLOR_CODE_NUMBER = IIColor.fromPackedRGB(0x6897BB); + private static final IIColor COLOR_CODE_BACKGROUND = IIColor.fromPackedARGB(0xAA000000L); + private static final IIColor COLOR_SCROLLBAR_TRACK = IIColor.fromPackedARGB(0x663C3F41L); + private static final IIColor COLOR_SCROLLBAR_THUMB = IIColor.fromPackedARGB(0xAAA9B7C6L); + private static final POLHighlighter POL_HIGHLIGHTER = new POLHighlighter(); + + private static final int VARIABLE_TEXT_OFFSET = 18; + private static final int SCROLLBAR_HEIGHT = 4; + private static final int SCROLLBAR_GAP = 2; + private static final int SCROLLBAR_MIN_THUMB_WIDTH = 12; private static boolean lastState = false; private GuiButtonState codeSwitch; private DataOperationMeta dataOperation; - private String[][] codeSnippets; + private List>[] highlightedCodeCache; private TypeMetaInfo[][] parametersInfo; private TypeMetaInfo[] resultTypes; + private int codeWidth; + private int codeLineCount; + private int codeScrollbarY; + private int codeScroll; //--- Setup ---// @@ -69,21 +84,35 @@ public void postInit(IIManualPage page) if(dataOperation==null) dataOperation = DataOperationNull.INSTANCE_META; - int yOffset = y+manual.fontRenderer.FONT_HEIGHT - +manual.fontRenderer.getWordWrappedHeight(I18n.format("datasystem.immersiveintelligence.function."+dataOperation.name()+".desc"), width) - -3; - codeSwitch = new GuiButtonState(0, x+width-16, yOffset, 16, 16, "", - lastState, IIReference.RES_TEXTURES_GUI.with("manual").withExtension(ResLoc.EXT_PNG).toString(), - 30, 0, 0 - ); - this.resultTypes = getCompatibleTypes(dataOperation.expectedResult()); parametersInfo = new TypeMetaInfo[dataOperation.params().length][]; for(int i = 0; i < dataOperation.params().length; i++) parametersInfo[i] = getCompatibleTypes(dataOperation.allowedTypes()[i]); - codeSnippets = new String[resultTypes.length][]; + //noinspection unchecked + highlightedCodeCache = new List[resultTypes.length]; for(int i = 0; i < resultTypes.length; i++) - codeSnippets[i] = generateSnippet(resultTypes[i]); + highlightedCodeCache[i] = highlightSnippet(generateSnippet(resultTypes[i])); + + boolean manualUnicode = manual.fontRenderer.getUnicodeFlag(); + boolean codeUnicode = IIClientUtils.fontRegular.getUnicodeFlag(); + manual.fontRenderer.setUnicodeFlag(true); + IIClientUtils.fontRegular.setUnicodeFlag(true); + + codeWidth = getCodeWidth(); + codeLineCount = Arrays.stream(highlightedCodeCache).mapToInt(List::size).max().orElse(0); + + int headerHeight = getHeaderHeight(); + codeSwitch = new GuiButtonState(0, x+width-16, y+headerHeight-3, 16, 16, "", + lastState, IIReference.RES_TEXTURES_GUI.with("manual").withExtension(ResLoc.EXT_PNG).toString(), + 30, 0, 0 + ); + + int codeTop = y+headerHeight+manual.fontRenderer.FONT_HEIGHT*2; + codeScrollbarY = codeTop+codeLineCount*IIClientUtils.fontRegular.FONT_HEIGHT+SCROLLBAR_GAP; + height = Math.max(height, Math.max(getDataHeight(headerHeight), getCodeHeight(headerHeight))); + + manual.fontRenderer.setUnicodeFlag(manualUnicode); + IIClientUtils.fontRegular.setUnicodeFlag(codeUnicode); } @Override @@ -94,6 +123,110 @@ protected int getDefaultHeight() //--- Content Preparation ---// + private int getHeaderHeight() + { + String description = I18n.format("datasystem.immersiveintelligence.function."+dataOperation.name()+".desc"); + return manual.fontRenderer.FONT_HEIGHT+manual.fontRenderer.getWordWrappedHeight(description, width); + } + + private int getDataHeight(int headerHeight) + { + int result = headerHeight; + int fontHeight = manual.fontRenderer.FONT_HEIGHT; + + if(dataOperation.params().length > 0) + { + result += fontHeight+2; + for(String param : dataOperation.params()) + result += getVariableHeight(I18n.format( + "datasystem.immersiveintelligence.function."+dataOperation.name()+".param."+param+".desc" + )); + } + + if(dataOperation.resultMatters()) + { + result += fontHeight+2; + result += getVariableHeight(I18n.format( + "datasystem.immersiveintelligence.function."+dataOperation.name()+".result.desc" + )); + } + + return result; + } + + private int getCodeHeight(int headerHeight) + { + int codeHeight = codeLineCount*IIClientUtils.fontRegular.FONT_HEIGHT+4; + if(hasHorizontalScroll()) + codeHeight += SCROLLBAR_GAP+SCROLLBAR_HEIGHT; + return headerHeight+manual.fontRenderer.FONT_HEIGHT*2+codeHeight; + } + + private int getVariableTextWidth() + { + return Math.max(1, width-VARIABLE_TEXT_OFFSET); + } + + private int getVariableHeight(String description) + { + return Math.max(20, 8+manual.fontRenderer.getWordWrappedHeight(description, getVariableTextWidth())); + } + + private int getCodeWidth() + { + return Arrays.stream(highlightedCodeCache) + .flatMap(List::stream) + .mapToInt(this::getHighlightedLineWidth) + .max() + .orElse(0); + } + + private int getHighlightedLineWidth(List line) + { + return line.stream() + .mapToInt(segment -> IIClientUtils.fontRegular.getStringWidth(getFormattedSegmentText(segment))) + .sum(); + } + + private boolean hasHorizontalScroll() + { + return codeWidth > width; + } + + private int getMaxCodeScroll() + { + return Math.max(0, codeWidth-width); + } + + private int getScrollbarThumbWidth() + { + if(!hasHorizontalScroll()) + return width; + return Math.max(SCROLLBAR_MIN_THUMB_WIDTH, width*width/codeWidth); + } + + private void updateCodeScroll(int mouseX) + { + int thumbWidth = getScrollbarThumbWidth(); + int trackRange = width-thumbWidth; + if(trackRange <= 0) + { + codeScroll = 0; + return; + } + + float progress = (mouseX-x-thumbWidth*0.5f)/trackRange; + progress = MathHelper.clamp(progress, 0, 1); + codeScroll = Math.round(progress*getMaxCodeScroll()); + } + + private boolean isMouseOverScrollbar(int mouseX, int mouseY) + { + return codeSwitch.state&&hasHorizontalScroll() + &&mouseX >= x&&mouseX < x+width + &&mouseY >= codeScrollbarY&&mouseY < codeScrollbarY+SCROLLBAR_HEIGHT; + } + private TypeMetaInfo[] getCompatibleTypes(Class type) { //Allowing all types @@ -119,7 +252,7 @@ private String[] generateSnippet(TypeMetaInfo resultingType) ArrayList code = new ArrayList<>(); //Comment about importing - code.add(COLOR_CODE_COMMENT.getHexCol(TextFormatting.ITALIC+";"+I18n.format("ie.manual.entry.data_operation.comment.import"))); + code.add(";"+I18n.format("ie.manual.entry.data_operation.comment.import")); //Operation Import boolean importPresent = false; @@ -127,16 +260,13 @@ private String[] generateSnippet(TypeMetaInfo resultingType) if(Arrays.stream(value.getFunctions()).anyMatch(s -> s.equals(dataOperation.name()))) { if(importPresent) - code.add(COLOR_CODE_COMMENT.getHexCol(TextFormatting.ITALIC+";"+I18n.format("ie.manual.entry.data_operation.comment.import_more"))); - builder = new StringBuilder() - .append(COLOR_CODE_KEYWORD.getHexCol("use ")) - .append(COLOR_CODE_VARIABLE.getHexCol(value.getName().toUpperCase())); - code.add(builder.toString()); + code.add(";"+I18n.format("ie.manual.entry.data_operation.comment.import_more")); + code.add("use "+value.getName().toUpperCase()); importPresent = true; } //Comment about use cases - code.add(COLOR_CODE_COMMENT.getHexCol(TextFormatting.ITALIC+";"+I18n.format("ie.manual.entry.data_operation.comment.example"))); + code.add(";"+I18n.format("ie.manual.entry.data_operation.comment.example")); //If the result is saved to a variable (a), start from letter b final int startFromLetter = dataOperation.resultMatters()?1: 0; @@ -146,10 +276,8 @@ private String[] generateSnippet(TypeMetaInfo resultingType) { builder = new StringBuilder(); if(dataOperation.resultMatters()) - builder.append(COLOR_CODE_KEYWORD.getHexCol(resultingType.name)).append(' '); - builder.append(COLOR_CODE_VARIABLE.getHexCol("a")) - .append(" = "); - builder.append(COLOR_CODE_PLAIN_TEXT.getHexCol(dataOperation.expression())); + builder.append(resultingType.name).append(" a = "); + builder.append(dataOperation.expression()); for(int i = 0; i < dataOperation.params().length; i++) builder.append(" @").append(DataPacket.VARIABLE_NAMES[startFromLetter+i]); code.add(builder.toString()); @@ -158,10 +286,8 @@ private String[] generateSnippet(TypeMetaInfo resultingType) //Operation example using name builder = new StringBuilder(); if(dataOperation.resultMatters()) - builder.append(COLOR_CODE_KEYWORD.getHexCol(resultingType.name)).append(' ') - .append(COLOR_CODE_VARIABLE.getHexCol("a")) - .append(" = "); - builder.append(COLOR_CODE_PLAIN_TEXT.getHexCol(dataOperation.name())); + builder.append(resultingType.name).append(" a = "); + builder.append(dataOperation.name()); for(int i = 0; i < dataOperation.params().length; i++) builder.append(" @").append(DataPacket.VARIABLE_NAMES[startFromLetter+i]); code.add(builder.toString()); @@ -169,6 +295,23 @@ private String[] generateSnippet(TypeMetaInfo resultingType) return code.toArray(new String[0]); } + private List> highlightSnippet(String[] snippet) + { + ArrayList> highlighted = new ArrayList<>(snippet.length); + for(String line : snippet) + highlighted.add(Collections.unmodifiableList(POL_HIGHLIGHTER.highlight(line))); + return Collections.unmodifiableList(highlighted); + } + + private String getFormattedSegmentText(Segment segment) + { + if(!segment.bold&&!segment.italic) + return segment.text; + if(segment.bold&&segment.italic) + return TextFormatting.BOLD.toString()+TextFormatting.ITALIC+segment.text; + return (segment.bold?TextFormatting.BOLD: TextFormatting.ITALIC)+segment.text; + } + T getArrayElementForTime(T[] parameters) { float progress = AMTUtils.getDebugProgress(parameters.length*20, 0); @@ -195,25 +338,91 @@ private int drawVariable(@Nullable TypeMetaInfo typeInfo, boolean inputVariab .finish(); manual.fontRenderer.setUnicodeFlag(true); - manual.fontRenderer.drawString(TextFormatting.BOLD+paramName, x+18, yOffset-4, manual.getTextColour()); - manual.fontRenderer.drawSplitString(paramDesc, x+18, yOffset+4, 110, manual.getTextColour()); + manual.fontRenderer.drawString(TextFormatting.BOLD+paramName, x+VARIABLE_TEXT_OFFSET, yOffset-4, manual.getTextColour()); + manual.fontRenderer.drawSplitString(paramDesc, x+VARIABLE_TEXT_OFFSET, yOffset+4, getVariableTextWidth(), manual.getTextColour()); - return Math.max(20, 8+manual.fontRenderer.getWordWrappedHeight(paramDesc, width)); + return getVariableHeight(paramDesc); } //--- Rendering, Reaction ---// + private void drawCodeSnippet(Minecraft mc, int yOffset) + { + List> snippet = getArrayElementForTime(highlightedCodeCache); + int codeFontHeight = IIClientUtils.fontRegular.FONT_HEIGHT; + int codeTextHeight = codeLineCount*codeFontHeight; + int panelHeight = codeTextHeight+4+(hasHorizontalScroll()?SCROLLBAR_GAP+SCROLLBAR_HEIGHT: 0); + + boolean codeFontUnicode = IIClientUtils.fontRegular.getUnicodeFlag(); + IIClientUtils.fontRegular.setUnicodeFlag(true); + drawCodePanel(yOffset, panelHeight); + + GL11.glPushAttrib(GL11.GL_SCISSOR_BIT); + GL11.glEnable(GL11.GL_SCISSOR_TEST); + ScaledResolution resolution = new ScaledResolution(mc); + int scale = resolution.getScaleFactor(); + GL11.glScissor( + x*scale, + mc.displayHeight-(yOffset+codeTextHeight)*scale, + width*scale, + codeTextHeight*scale + ); + + int lineY = yOffset; + for(List line : snippet) + { + drawHighlightedLine(line, x-codeScroll, lineY); + lineY += codeFontHeight; + } + GL11.glPopAttrib(); + + IIClientUtils.fontRegular.setUnicodeFlag(codeFontUnicode); + } + + private void drawCodePanel(int yOffset, int panelHeight) + { + GlStateManager.disableTexture2D(); + GlStateManager.enableBlend(); + IIDrawUtils draw = IIDrawUtils.startColored() + .drawColorRect(x-2, yOffset-2, width+4, panelHeight, COLOR_CODE_BACKGROUND); + + if(hasHorizontalScroll()) + { + int thumbWidth = getScrollbarThumbWidth(); + int thumbRange = width-thumbWidth; + int thumbX = x; + if(getMaxCodeScroll() > 0) + thumbX += Math.round(thumbRange*(codeScroll/(float)getMaxCodeScroll())); + + draw.drawColorRect(x, codeScrollbarY, width, SCROLLBAR_HEIGHT, COLOR_SCROLLBAR_TRACK) + .drawColorRect(thumbX, codeScrollbarY, thumbWidth, SCROLLBAR_HEIGHT, COLOR_SCROLLBAR_THUMB); + } + + draw.finish(); + GlStateManager.enableTexture2D(); + } + + private void drawHighlightedLine(List line, int xOffset, int yOffset) + { + for(Segment segment : line) + { + String text = getFormattedSegmentText(segment); + IIClientUtils.fontRegular.drawString(text, xOffset, yOffset, segment.color.getPackedRGB()); + xOffset += IIClientUtils.fontRegular.getStringWidth(text); + } + } + @Override public void drawButton(Minecraft mc, int mx, int my, float partialTicks) { super.drawButton(mc, mx, my, partialTicks); codeSwitch.drawButton(mc, mx, my, partialTicks); - boolean unicode = mc.fontRenderer.getUnicodeFlag(); + boolean unicode = manual.fontRenderer.getUnicodeFlag(); int fontHeight = manual.fontRenderer.FONT_HEIGHT; int yOffset = y; - mc.fontRenderer.setUnicodeFlag(true); + manual.fontRenderer.setUnicodeFlag(true); GlStateManager.pushMatrix(); String title = I18n.format("datasystem.immersiveintelligence.function."+dataOperation.name()); @@ -228,17 +437,9 @@ public void drawButton(Minecraft mc, int mx, int my, float partialTicks) //POL code String polCode = I18n.format("ie.manual.entry.data_operation.pol"); IIClientUtils.drawStringCentered(manual.fontRenderer, TextFormatting.BOLD+polCode, x, yOffset, width, 0, manual.getTextColour()); - yOffset += (int)(fontHeight*2f); + yOffset += fontHeight*2; - boolean codeFontUnicode = IIClientUtils.fontRegular.getUnicodeFlag(); - IIClientUtils.fontRegular.setUnicodeFlag(true); - ClientUtils.drawColouredRect(x-2, yOffset-2, width+4, manual.getGui().height-yOffset-80-12, 0xaa000000); - for(String codeSnippet : getArrayElementForTime(codeSnippets)) - { - IIClientUtils.fontRegular.drawString(codeSnippet, x, yOffset, COLOR_CODE_PLAIN_TEXT.getPackedRGB()); - yOffset += fontHeight; - } - IIClientUtils.fontRegular.setUnicodeFlag(codeFontUnicode); + drawCodeSnippet(mc, yOffset); } else { @@ -275,7 +476,7 @@ public void drawButton(Minecraft mc, int mx, int my, float partialTicks) } GlStateManager.popMatrix(); - mc.fontRenderer.setUnicodeFlag(unicode); + manual.fontRenderer.setUnicodeFlag(unicode); } @@ -287,12 +488,19 @@ public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) lastState = codeSwitch.state; return true; } + if(isMouseOverScrollbar(mouseX, mouseY)) + { + updateCodeScroll(mouseX); + return true; + } return false; } @Override public void mouseDragged(int x, int y, int clickX, int clickY, int mx, int my, int lastX, int lastY, int button) { + if(button==0&&isMouseOverScrollbar(x, y)) + updateCodeScroll(x); } @Override @@ -300,6 +508,6 @@ public List getTooltip(Minecraft mc, int mx, int my) { return codeSwitch.isMouseOver()? Collections.singletonList(I18n.format(codeSwitch.state?"ie.manual.entry.data_operation.tooltip_data": - "ie.manual.entry.data_operation.tooltip_pol")): null; + "ie.manual.entry.data_operation.tooltip_pol")): null; } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/data/ItemIIFunctionalCircuit.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/data/ItemIIFunctionalCircuit.java index cecd50ca9..9e17421e6 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/data/ItemIIFunctionalCircuit.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/data/ItemIIFunctionalCircuit.java @@ -260,7 +260,8 @@ public enum Circuits implements IIItemEnum "item_set_nbt", "item_get_id", "item_is_empty", - "item_stacks_with" + "item_stacks_with", + "item_matches_oredict" ), ARRAY(CircuitTypes.BASIC, "array_create", @@ -288,6 +289,7 @@ public enum Circuits implements IIItemEnum ), TYPE_CONVERSION(CircuitTypes.BASIC, "is_null", + "is_same_type", "to_integer", "to_float", "to_string", diff --git a/src/test/java/pl/pabilo8/immersiveintelligence/api/data/operations/DataOperationTest.java b/src/test/java/pl/pabilo8/immersiveintelligence/api/data/operations/DataOperationTest.java new file mode 100644 index 000000000..717238561 --- /dev/null +++ b/src/test/java/pl/pabilo8/immersiveintelligence/api/data/operations/DataOperationTest.java @@ -0,0 +1,179 @@ +package pl.pabilo8.immersiveintelligence.api.data.operations; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.Vec3d; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.DynamicTest; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestFactory; +import pl.pabilo8.immersiveintelligence.api.data.DataPacket; +import pl.pabilo8.immersiveintelligence.api.data.IIDataOperationUtils; +import pl.pabilo8.immersiveintelligence.api.data.IIDataTypeUtils; +import pl.pabilo8.immersiveintelligence.api.data.operations.DataOperation.DataOperationMeta; +import pl.pabilo8.immersiveintelligence.api.data.operations.cryptographer.Cryptographer; +import pl.pabilo8.immersiveintelligence.api.data.types.*; +import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; +import pl.pabilo8.immersiveintelligence.api.data.types.generic.IterableDataType; +import pl.pabilo8.immersiveintelligence.api.data.types.generic.NumericDataType; +import pl.pabilo8.immersiveintelligence.common.item.data.ItemIIFunctionalCircuit.Circuits; +import pl.pabilo8.immersiveintelligence.test.GameTestBasic; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.DynamicTest.dynamicTest; + +/** + * Verifies registered data operations and their metadata contracts. + * + * @author Pabilo8(pabilo@iiteam.net) + * @since 09.08.2026 + */ +public class DataOperationTest extends GameTestBasic +{ + /** + * Registers the data system before the tests. + */ + @BeforeAll + public static void init() + { + IIDataOperationUtils.registerDataOperations(); + IIDataTypeUtils.registerDataTypes(); + } + + /** + * @return one metadata contract test for each registered operation + */ + @TestFactory + public Stream operationMetadataMatchesExecution() + { + return IIDataOperationUtils.getAllOperationNames() + .stream() + .sorted() + .map(name -> dynamicTest(name, () -> verifyOperation(name))); + } + + /** + * Checks that every registered operation is available from a functional circuit. + */ + @Test + public void registeredOperationsAreAvailableFromCircuits() + { + Set registered = new HashSet<>(IIDataOperationUtils.getAllOperationNames()); + Set available = Arrays.stream(Circuits.values()) + .flatMap(circuit -> Arrays.stream(circuit.getFunctions())) + .collect(Collectors.toSet()); + + assertEquals(registered, available, "Functional circuits and registered data operations differ"); + } + + private static void verifyOperation(String name) + { + DataOperation operation = IIDataOperationUtils.getOperationInstance(name); + DataOperationMeta meta = operation.getMeta(); + + assertNotNull(meta, "Operation metadata is missing: "+name); + assertEquals(name, meta.name(), "Registered operation name differs from metadata"); + assertEquals(meta.allowedTypes().length, meta.params().length, "Parameter metadata differs for "+name); + + DataType[] arguments = Arrays.stream(meta.allowedTypes()) + .map(DataOperationTest::createArgument) + .toArray(DataType[]::new); + prepareArguments(name, arguments); + + DataType result = operation.execute(new DataPacket(), new DataTypeExpression(arguments, operation, ' ')); + assertNotNull(result, "Operation returned Java null: "+name); + assertTrue(meta.expectedResult().isInstance(result), + "Operation "+name+" declares "+meta.expectedResult().getSimpleName()+" but returned "+result.getClass().getSimpleName()); + + if(!meta.resultMatters()) + { + assertEquals(DataTypeNull.class, meta.expectedResult(), "Void operation must declare DataTypeNull: "+name); + assertTrue(result instanceof DataTypeNull, "Void operation must return DataTypeNull: "+name); + } + } + + private static DataType createArgument(Class type) + { + if(type==DataType.class) + return new DataTypeString("2"); + if(type==NumericDataType.class) + return new DataTypeInteger(2); + if(type==IterableDataType.class) + return createArray(); + if(type==DataTypeInteger.class) + return new DataTypeInteger(1); + if(type==DataTypeFloat.class) + return new DataTypeFloat(2f); + if(type==DataTypeBoolean.class) + return new DataTypeBoolean(true); + if(type==DataTypeString.class) + return new DataTypeString("test"); + if(type==DataTypeArray.class) + return createArray(); + if(type==DataTypeMap.class) + return new DataTypeMap(new DataTypeString("test"), new DataTypeInteger(2)); + if(type==DataTypeItemStack.class) + return createItemStack(); + if(type==DataTypeFluidStack.class) + return new DataTypeFluidStack(new FluidStack(FluidRegistry.WATER, 1000)); + if(type==DataTypeEntity.class) + { + DataTypeEntity entity = new DataTypeEntity(); + entity.entityID = 1; + entity.dimensionID = 0; + entity.entityClass = "test:entity"; + entity.customName = "Test Entity"; + entity.lastPos = new Vec3d(1, 2, 3); + return entity; + } + if(type==DataTypeVector.class) + return new DataTypeVector(1, 2, 3); + if(type==DataTypeEncrypted.class) + return new DataTypeEncrypted(Cryptographer.encrypt("2", "test")); + + return IIDataTypeUtils.getVarInstance(type); + } + + private static DataTypeItemStack createItemStack() + { + Item item = new Item().setRegistryName(new ResourceLocation("minecraft", "operation_test_item")); + ItemStack stack = new ItemStack(item); + NBTTagCompound tag = new NBTTagCompound(); + NBTTagList pages = new NBTTagList(); + pages.appendTag(new NBTTagString("{\"text\":\"Test page one\"}")); + pages.appendTag(new NBTTagString("{\"text\":\"Test page two\"}")); + pages.appendTag(new NBTTagString("{\"text\":\"Test page three\"}")); + tag.setTag("pages", pages); + tag.setString("author", "Pabilo8"); + tag.setString("title", "Test Document"); + stack.setTagCompound(tag); + return new DataTypeItemStack(stack); + } + + private static DataTypeArray createArray() + { + return new DataTypeArray( + new DataTypeString("test"), + new DataTypeString("other"), + new DataTypeString("third") + ); + } + + private static void prepareArguments(String name, DataType[] arguments) + { + if(name.equals("item_set_nbt")||name.equals("fluid_set_nbt")) + arguments[1] = new DataTypeString("{test:1}"); + } +} diff --git a/src/test/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerTest.java b/src/test/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerTest.java index 220c0b103..b9bba087a 100644 --- a/src/test/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerTest.java +++ b/src/test/java/pl/pabilo8/immersiveintelligence/api/data/pol/POLComputerTest.java @@ -1,5 +1,14 @@ package pl.pabilo8.immersiveintelligence.api.data.pol; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.Vec3d; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.jupiter.api.BeforeEach; @@ -7,51 +16,71 @@ import pl.pabilo8.immersiveintelligence.api.data.IIDataOperationUtils; import pl.pabilo8.immersiveintelligence.api.data.IIDataTypeUtils; import pl.pabilo8.immersiveintelligence.api.data.device.IDataDevice; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeEntity; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeFluidStack; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeItemStack; +import pl.pabilo8.immersiveintelligence.test.GameTestBasic; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Pattern; import java.util.stream.Collectors; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; /** * A test of the POL Programming Language working in a mock computer * * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 - * @updated 13.12.2024 + * @updated 09.08.2026 * @since 23.02.2021 */ -public class POLComputerTest +public class POLComputerTest extends GameTestBasic { - static Logger log = LogManager.getLogger("POLComputerTest"); + private static final Logger log = LogManager.getLogger("POLComputerTest"); + private static final String[] CIRCUIT_PROGRAMS = { + "arithmetic", + "logic", + "text", + "itemstack", + "array", + "entity", + "document", + "type_conversion", + "fluidstack", + "map", + "vector", + "cryptographer" + }; + static POLComputerMemory MEMORY; static POLTerminal TERMINAL; - /** - * load a POL file into scripts - */ - private static String readFile(String name) + private static ArrayList readLines(String resource) { - try + try(InputStream inputStream = POLComputerTest.class.getClassLoader().getResourceAsStream(resource)) { - InputStream inputStream = POLComputerTest.class.getClassLoader().getResourceAsStream("computer_tests/"+name+".pol"); - assert inputStream!=null; - BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); - ArrayList c = reader.lines().collect(Collectors.toCollection(ArrayList::new)); - - MEMORY.putScript(name, POLScript.prepareScript(c)); - reader.close(); - return name; - } catch(IOException ignored) + assertNotNull(inputStream, "Missing POL test resource: "+resource); + try(BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) + { + return reader.lines().collect(Collectors.toCollection(ArrayList::new)); + } + } catch(IOException e) { - + throw new AssertionError("Failed to read POL test resource: "+resource, e); } - return ""; + } + + private static String readFile(String name) + { + MEMORY.putScript(name, POLScript.prepareScript(readLines("computer_tests/"+name+".pol"))); + return name; } private static void execute(String id) @@ -69,62 +98,207 @@ private static void execute(String id) private static void compareOutputs(String name) { - try - { - InputStream inputStream = POLComputerTest.class.getClassLoader().getResourceAsStream("computer_tests/"+name+".out"); - assert inputStream!=null; - BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); - ArrayList c = reader.lines().collect(Collectors.toCollection(ArrayList::new)); - POLMockupTerminal mockupTerminal = (POLMockupTerminal)TERMINAL; + List expected = readLines("computer_tests/"+name+".out"); + POLMockupTerminal mockupTerminal = (POLMockupTerminal)TERMINAL; + assertEquals(expected, mockupTerminal.output, "Unexpected output for POL program: "+name); + } + + private static void runProgram(String name) + { + execute(readFile(name)); + compareOutputs(name); + } + + private static void runCircuitProgram(String program) + { + prepareCircuitFixture(program); + runProgram("circuits/"+program); + } + + private static void resetComputer() + { + MEMORY = new POLComputerMemory(8); + TERMINAL = new POLMockupTerminal("POL"); + } - for(int i = 0; i < c.size(); i++) + private static void prepareCircuitFixture(String program) + { + switch(program) + { + case "itemstack": { - assertTrue(mockupTerminal.output.size() > i); - assertEquals(c.get(i), mockupTerminal.output.get(i)); + Item item = new Item().setRegistryName(new ResourceLocation("minecraft", "pol_test_item")); + MEMORY.packet.with('i', new DataTypeItemStack(new ItemStack(item, 3, 0))); } - reader.close(); - } catch(IOException ignored) - { - + break; + case "fluidstack": + { + MEMORY.packet.with('f', new DataTypeFluidStack(new FluidStack(FluidRegistry.WATER, 1000))); + } + break; + case "entity": + { + DataTypeEntity entity = new DataTypeEntity(); + entity.entityID = 42; + entity.dimensionID = -1; + entity.entityClass = "minecraft:villager"; + entity.customName = "Psi Syn"; + entity.lastPos = new Vec3d(1.5, 64, -2.25); + MEMORY.packet.with('e', entity); + } + break; + case "document": + { + Item item = new Item().setRegistryName(new ResourceLocation("minecraft", "pol_test_item")); + ItemStack document = new ItemStack(item); + NBTTagCompound tag = new NBTTagCompound(); + NBTTagList pages = new NBTTagList(); + pages.appendTag(new NBTTagString("{\"text\":\"First page\"}")); + pages.appendTag(new NBTTagString("{\"text\":\"Second page\"}")); + tag.setTag("pages", pages); + tag.setString("author", "HAZARD PAN NASZ"); + tag.setString("title", "Engineer's Manual"); + document.setTagCompound(tag); + MEMORY.packet.with('d', new DataTypeItemStack(document)); + } + break; } } + private static boolean containsOperation(String source, String operation) + { + return Pattern.compile("(? readLines("computer_tests/circuits/"+program+".pol").stream()) + .map(line -> line.replaceFirst(";.*$", "")) + .collect(Collectors.joining("\n")); + + List missing = IIDataOperationUtils.getAllOperationNames() + .stream() + .filter(operation -> !containsOperation(source, operation)) + .sorted() + .collect(Collectors.toList()); + + assertTrue(missing.isEmpty(), "Missing POL operation coverage: "+missing); } private static class POLMockupTerminal extends POLTerminal @@ -132,7 +306,7 @@ private static class POLMockupTerminal extends POLTerminal private final ArrayList output = new ArrayList<>(); private final String name; - public POLMockupTerminal(String name) + private POLMockupTerminal(String name) { this.name = "["+name+"]"; } @@ -165,7 +339,7 @@ public IDataDevice getDeviceAt(int section, int id) @Override public void sleep(int value) { - //Do nothing + // Do nothing. } } } diff --git a/src/test/resources/computer_tests/circuits/arithmetic.out b/src/test/resources/computer_tests/circuits/arithmetic.out new file mode 100644 index 000000000..ed7117c6d --- /dev/null +++ b/src/test/resources/computer_tests/circuits/arithmetic.out @@ -0,0 +1,18 @@ +[POL] 12 +[POL] -2 +[POL] 42 +[POL] 3 +[POL] 2 +[POL] 8 +[POL] 256 +[POL] 9 +[POL] 3 +[POL] 7 +[POL] -1 +[POL] 3 +[POL] 3 +[POL] 2 +[POL] 0.5 +[POL] 0.5 +[POL] 1.0 +[POL] 3 diff --git a/src/test/resources/computer_tests/circuits/arithmetic.pol b/src/test/resources/computer_tests/circuits/arithmetic.pol new file mode 100644 index 000000000..6e321fc36 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/arithmetic.pol @@ -0,0 +1,22 @@ +use ADVANCED_ARITHMETIC + +type add 5 7 +type subtract 5 7 +type multiply 6 7 +type divide 7 2 +type modulo 17 5 +type abs (subtract 0 8) +type power 2 8 +type root 81 2 +type min 7 3 +type max 7 3 +type sign (subtract 0 12) +type ceil 2.1 +type round 2.6 +type floor 2.9 +type sin 30 +type cos 60 +type tan 45 +type add -2 5 + +end diff --git a/src/test/resources/computer_tests/circuits/array.out b/src/test/resources/computer_tests/circuits/array.out new file mode 100644 index 000000000..ee51cd341 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/array.out @@ -0,0 +1,9 @@ +[POL] 1 +[POL] 2 +[POL] 10 +[POL] null +[POL] 15 +[POL] null +[POL] 20 +[POL] 15 +[POL] 1 diff --git a/src/test/resources/computer_tests/circuits/array.pol b/src/test/resources/computer_tests/circuits/array.pol new file mode 100644 index 000000000..dd493e7a0 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/array.pol @@ -0,0 +1,15 @@ +use ARRAY + +array a = array_create 10 +type array_length @a +null n = array_push @a 20 +type array_length @a +type array_get @a 0 +type array_set @a 0 15 +type array_get @a 0 +type array_swap @a 0 1 +type array_get @a 0 +type array_pop @a +type array_length @a + +end diff --git a/src/test/resources/computer_tests/circuits/cryptographer.out b/src/test/resources/computer_tests/circuits/cryptographer.out new file mode 100644 index 000000000..a89c3dfe9 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/cryptographer.out @@ -0,0 +1,2 @@ +[POL] Immersive Intelligence +[POL] 1942 diff --git a/src/test/resources/computer_tests/circuits/cryptographer.pol b/src/test/resources/computer_tests/circuits/cryptographer.pol new file mode 100644 index 000000000..ab69a71d3 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/cryptographer.pol @@ -0,0 +1,8 @@ +use CRYPTOGRAPHER + +encrypted a = encrypt_text "Immersive Intelligence" "key" +type decrypt_text @a "key" +encrypted b = encrypt_number 1942 "key" +type decrypt_number @b "key" + +end diff --git a/src/test/resources/computer_tests/circuits/document.out b/src/test/resources/computer_tests/circuits/document.out new file mode 100644 index 000000000..9e005ce19 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/document.out @@ -0,0 +1,5 @@ +[POL] First page +[POL] Second page +[POL] true +[POL] HAZARD PAN NASZ +[POL] Engineer's Manual diff --git a/src/test/resources/computer_tests/circuits/document.pol b/src/test/resources/computer_tests/circuits/document.pol new file mode 100644 index 000000000..a48f224fa --- /dev/null +++ b/src/test/resources/computer_tests/circuits/document.pol @@ -0,0 +1,12 @@ +use DOCUMENT +use ARRAY +use TEXT + +type document_read_page @d 0 +array p = document_read_all_pages_array @d +type array_get @p 1 +type string_contains (document_read_all_pages_string @d) "Second page" +type document_get_author @d +type document_get_title @d + +end diff --git a/src/test/resources/computer_tests/circuits/entity.out b/src/test/resources/computer_tests/circuits/entity.out new file mode 100644 index 000000000..317eeeccd --- /dev/null +++ b/src/test/resources/computer_tests/circuits/entity.out @@ -0,0 +1,8 @@ +[POL] 42 +[POL] minecraft:villager +[POL] Psi Syn +[POL] -1 +[POL] [1.5,64.0,-2.25] +[POL] 1.5 +[POL] 64.0 +[POL] -2.25 diff --git a/src/test/resources/computer_tests/circuits/entity.pol b/src/test/resources/computer_tests/circuits/entity.pol new file mode 100644 index 000000000..bc5308870 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/entity.pol @@ -0,0 +1,12 @@ +use ENTITY + +type entity_get_id @e +type entity_get_type @e +type entity_get_name @e +type entity_get_dimension_id @e +type entity_get_pos @e +type entity_get_x @e +type entity_get_y @e +type entity_get_z @e + +end diff --git a/src/test/resources/computer_tests/circuits/fluidstack.out b/src/test/resources/computer_tests/circuits/fluidstack.out new file mode 100644 index 000000000..0c1e153d4 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/fluidstack.out @@ -0,0 +1,8 @@ +[POL] false +[POL] water +[POL] 1000 +[POL] {} +[POL] false +[POL] 250 +[POL] true +[POL] {ii_test:1} diff --git a/src/test/resources/computer_tests/circuits/fluidstack.pol b/src/test/resources/computer_tests/circuits/fluidstack.pol new file mode 100644 index 000000000..244d85e6c --- /dev/null +++ b/src/test/resources/computer_tests/circuits/fluidstack.pol @@ -0,0 +1,15 @@ +use FLUIDSTACK + +fluidstack a = fluidstack_create "water" 1000 "{}" +type fluid_is_empty @a +type fluid_get_id @f +type fluid_get_amount @f +type fluid_get_nbt @f +type fluid_is_empty @f +fluidstack b = fluid_set_amount @f 250 +type fluid_get_amount @b +type fluid_stacks_with @f @b +fluidstack c = fluid_set_nbt @b "{ii_test:1}" +type fluid_get_nbt @c + +end diff --git a/src/test/resources/computer_tests/circuits/itemstack.out b/src/test/resources/computer_tests/circuits/itemstack.out new file mode 100644 index 000000000..1a5148603 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/itemstack.out @@ -0,0 +1,11 @@ +[POL] true +[POL] false +[POL] 3 +[POL] 0 +[POL] minecraft:pol_test_item +[POL] false +[POL] 5 +[POL] 2 +[POL] {ii_test:1} +[POL] true +[POL] false diff --git a/src/test/resources/computer_tests/circuits/itemstack.pol b/src/test/resources/computer_tests/circuits/itemstack.pol new file mode 100644 index 000000000..bab838204 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/itemstack.pol @@ -0,0 +1,20 @@ +use ITEMSTACK + +itemstack a = itemstack_create "minecraft:air" 1 0 +type item_is_empty @a +itemstack a = itemstack_create "minecraft:apple" 1 0 +type item_is_empty @a +type item_get_count @i +type item_get_meta @i +type item_get_id @i +type item_is_empty @i +itemstack b = item_set_count @i 5 +type item_get_count @b +itemstack c = item_set_meta @b 2 +type item_get_meta @c +itemstack d = item_set_nbt @c "{ii_test:1}" +type item_get_nbt @d +type item_stacks_with @i @b +type item_matches_oredict @i "oreDefinitelyMissing" + +end diff --git a/src/test/resources/computer_tests/circuits/logic.out b/src/test/resources/computer_tests/circuits/logic.out new file mode 100644 index 000000000..a1f6da693 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/logic.out @@ -0,0 +1,12 @@ +[POL] false +[POL] true +[POL] true +[POL] false +[POL] true +[POL] true +[POL] true +[POL] true +[POL] true +[POL] true +[POL] true +[POL] true diff --git a/src/test/resources/computer_tests/circuits/logic.pol b/src/test/resources/computer_tests/circuits/logic.pol new file mode 100644 index 000000000..027992acb --- /dev/null +++ b/src/test/resources/computer_tests/circuits/logic.pol @@ -0,0 +1,17 @@ +use ADVANCED_LOGIC +use COMPARATOR + +type and true false +type or true false +type not false +type nand true true +type nor false false +type xor true false +type xnor true true +type greater 5 2 +type less 2 5 +type greater_or_equal 5 5 +type less_or_equal 5 5 +type equal 5 5 + +end diff --git a/src/test/resources/computer_tests/circuits/map.out b/src/test/resources/computer_tests/circuits/map.out new file mode 100644 index 000000000..af0092021 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/map.out @@ -0,0 +1,9 @@ +[POL] 1 +[POL] true +[POL] alpha +[POL] 1 +[POL] null +[POL] 2 +[POL] 2 +[POL] false +[POL] false diff --git a/src/test/resources/computer_tests/circuits/map.pol b/src/test/resources/computer_tests/circuits/map.pol new file mode 100644 index 000000000..a17cad021 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/map.pol @@ -0,0 +1,21 @@ +use MAP +use ARRAY + +string k = "alpha" +map m = map_create @k 1 +type map_get @m @k +type map_contains @m @k +array a = map_keys @m +type array_get @a 0 +array b = map_values @m +type array_get @b 0 +string k = "beta" +integer v = 2 +type map_set @m @k @v +type map_get @m @k +type map_remove @m @k +type map_contains @m @k +map c = map_clear @m +type map_contains @c "alpha" + +end diff --git a/src/test/resources/computer_tests/circuits/text.out b/src/test/resources/computer_tests/circuits/text.out index 3f9502228..c3c2a8098 100644 --- a/src/test/resources/computer_tests/circuits/text.out +++ b/src/test/resources/computer_tests/circuits/text.out @@ -1,6 +1,22 @@ -[POL] smol_letter text -[POL] BIGLETTER_TEXT -[POL] SnakeCaseMadeIntoCamel -[POL] SnakeCaseMadeIntoCamel +[POL] Immersive Intelligence +[POL] beta +[POL] 7 +[POL] g +[POL] nals +[POL] trimmed +[POL] +[POL] plain +[POL] true +[POL] 2 +[POL] blue red +[POL] blue blue +[POL] mixed +[POL] MIXED +[POL] camel_case_made_into_snake [POL] snakeCaseMadeIntoCamel -[POL] camel_case_made_into_snake \ No newline at end of file +[POL] 321cba +[POL] semi;colon safe +[POL] left ( right +[POL] Engineer's test +[POL] empty +[POL] quote: "ok diff --git a/src/test/resources/computer_tests/circuits/text.pol b/src/test/resources/computer_tests/circuits/text.pol index 5a8a35141..b714a1373 100644 --- a/src/test/resources/computer_tests/circuits/text.pol +++ b/src/test/resources/computer_tests/circuits/text.pol @@ -1,10 +1,30 @@ use TEXT +use ARRAY -type string_lowercase "sMoL_Letter TEXT" -type string_uppercase "BiGLetter_text" -type string_camel_case "snake_case Made into_Camel" -type string_camel_case "snake_case Made into_Camel" false -type string_camel_case "snake_case Made into_Camel" true +type string_join "Immersive " "Intelligence" +array a = string_split "alpha,beta,gamma" "," +type array_get @a 1 +type string_length "signals" +type string_char_at "signals" 2 +type string_substring "signals" 3 +type string_trim "trimmed text" 7 +type string_hexcol "warning" 16711935 +type string_format "plain" 99 +type string_contains "radar contact" "contact" +type string_contains_count "aaaa" "aa" +type string_replace_first "red red" "red" "blue" +type string_replace_all "red red" "red" "blue" +type string_lowercase "MiXeD" +type string_uppercase "MiXeD" type string_snake_case "CamelCase Made into_snake" +type string_camel_case "snake_case made_into_camel" true +type string_reverse "abc123" -end \ No newline at end of file +; Parser regression cases. +type string_join "semi;colon " "safe" ; comments start only outside strings +type string_join "left ( " "right" +type string_join "Engineer's " "test" +type string_join "" "empty" +type string_join "quote: \"" "ok" + +end diff --git a/src/test/resources/computer_tests/circuits/type_conversion.out b/src/test/resources/computer_tests/circuits/type_conversion.out new file mode 100644 index 000000000..04b91c504 --- /dev/null +++ b/src/test/resources/computer_tests/circuits/type_conversion.out @@ -0,0 +1,7 @@ +[POL] true +[POL] true +[POL] 3 +[POL] 7.0 +[POL] false +[POL] true +[POL] null diff --git a/src/test/resources/computer_tests/circuits/type_conversion.pol b/src/test/resources/computer_tests/circuits/type_conversion.pol new file mode 100644 index 000000000..a4a7b003a --- /dev/null +++ b/src/test/resources/computer_tests/circuits/type_conversion.pol @@ -0,0 +1,11 @@ +use TYPE_CONVERSION + +type is_null null +type is_same_type 1 2 +type to_integer 3.75 +type to_float 7 +type to_string false +type to_boolean "TRUE" +type to_null 123 + +end diff --git a/src/test/resources/computer_tests/circuits/vector.out b/src/test/resources/computer_tests/circuits/vector.out new file mode 100644 index 000000000..8bf00e45d --- /dev/null +++ b/src/test/resources/computer_tests/circuits/vector.out @@ -0,0 +1,18 @@ +[POL] 0.0 +[POL] [5.0,7.0,9.0] +[POL] [-3.0,-3.0,-3.0] +[POL] [4.0,10.0,18.0] +[POL] [2.0,4.0,6.0] +[POL] 5.0 +[POL] 32.0 +[POL] [-3.0,6.0,-3.0] +[POL] [0.6,0.8,0.0] +[POL] 0.0 +[POL] 1 +[POL] 2 +[POL] 3 +[POL] [9.0,2.0,3.0] +[POL] [1.0,9.0,3.0] +[POL] [1.0,2.0,9.0] +[POL] 270.0 +[POL] 90.0 diff --git a/src/test/resources/computer_tests/circuits/vector.pol b/src/test/resources/computer_tests/circuits/vector.pol new file mode 100644 index 000000000..c18bc6e1e --- /dev/null +++ b/src/test/resources/computer_tests/circuits/vector.pol @@ -0,0 +1,24 @@ +use VECTOR_ARITHMETIC + +vector a = vector_create 1 2 3 +vector b = vector_create 4 5 6 +type vector_length (vector_create_angle 0 45 30) +type vector_add @a @b +type vector_sub @a @b +type vector_mul @a @b +type vector_scale @a 2 +type vector_length (vector_create 3 4 0) +type vector_dot @a @b +type vector_cross @a @b +type vector_normalize (vector_create 3 4 0) +type vector_distance @a @a +type vector_get_x @a +type vector_get_y @a +type vector_get_z @a +type vector_set_x @a 9.0 +type vector_set_y @a 9.0 +type vector_set_z @a 9.0 +type vector_get_yaw (vector_create 1 0 0) +type vector_get_pitch (vector_create 0 1 0) + +end From 9d01ef5f9c751d6103f4a3e7a3c574945067948d Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Mon, 10 Aug 2026 01:38:34 +0200 Subject: [PATCH 08/23] Fixed Mechanical Pump texture Closes #682 --- .../blockstates/mechanical_device1.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/mechanical_device1.json b/src/main/resources/assets/immersiveintelligence/blockstates/mechanical_device1.json index 2565eb2d9..968207eb6 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/mechanical_device1.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/mechanical_device1.json @@ -77,7 +77,11 @@ } ], "type": { - "mechanical_pump": {} + "mechanical_pump": { + "textures": { + "name": "immersiveintelligence:blocks/mechanical_device/pump/pump" + } + } }, "_0multiblockslave": { "false": {}, From 402a1347b26548891c235511d4ef3fe65c66c76e Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Mon, 10 Aug 2026 16:52:51 +0200 Subject: [PATCH 09/23] Reworked Point-Of-Interest logic in multiblocks, fixes Radio Station and Emplacement data ports. Improved network sync in Artillery Howitzer. --- .../api/data/radio/RadioNetwork.java | 7 +- .../multiblock/MultiblockFenceGateBase.java | 3 + .../tileentity/TileEntityGateBase.java | 13 -- .../MultiblockArithmeticLogicMachine.java | 9 + .../MultiblockArtilleryHowitzer.java | 10 + .../MultiblockBallisticComputer.java | 6 + .../multiblock/MultiblockChemicalBath.java | 8 + .../MultiblockDataInputMachine.java | 7 + .../multiblock/MultiblockElectrolyzer.java | 7 + .../multiblock/MultiblockPacker.java | 7 + .../MultiblockPrecisionAssembler.java | 7 + .../multiblock/MultiblockPrintingPress.java | 9 + .../multiblock/MultiblockRadioStation.java | 5 + .../MultiblockScanningConveyor.java | 6 + .../TileEntityArithmeticLogicMachine.java | 22 -- .../TileEntityArtilleryHowitzer.java | 127 +++++++---- .../TileEntityBallisticComputer.java | 16 -- .../tileentity/TileEntityChemicalBath.java | 21 -- .../TileEntityDataInputMachine.java | 16 -- .../tileentity/TileEntityElectrolyzer.java | 18 -- .../tileentity/TileEntityPacker.java | 15 +- .../TileEntityPrecisionAssembler.java | 21 +- .../tileentity/TileEntityPrintingPress.java | 20 -- .../tileentity/TileEntityRadioStation.java | 23 +- .../TileEntityScanningConveyor.java | 14 -- .../MultiblockAmmunitionAssembler.java | 8 + .../multiblock/MultiblockChemicalPainter.java | 9 + .../multiblock/MultiblockCoagulator.java | 15 +- .../multiblock/MultiblockEmplacement.java | 25 ++- .../multiblock/MultiblockFiller.java | 7 + .../multiblock/MultiblockFlagpole.java | 7 + .../multiblock/MultiblockFuelStation.java | 9 + .../MultiblockHeavyAmmunitionAssembler.java | 8 + .../MultiblockProjectileWorkshop.java | 10 + .../multiblock/MultiblockRadar.java | 9 + .../MultiblockRedstoneInterface.java | 5 + .../multiblock/MultiblockVulcanizer.java | 53 +---- .../TileEntityAmmunitionAssembler.java | 20 -- .../tileentity/TileEntityChemicalPainter.java | 22 -- .../tileentity/TileEntityCoagulator.java | 20 -- .../tileentity/TileEntityFiller.java | 16 -- .../tileentity/TileEntityFlagpole.java | 9 - .../tileentity/TileEntityFuelStation.java | 17 -- .../TileEntityHeavyAmmunitionAssembler.java | 20 -- .../TileEntityProjectileWorkshop.java | 19 -- .../tileentity/TileEntityRadar.java | 14 -- .../TileEntityRedstoneDataInterface.java | 14 -- .../tileentity/TileEntityVulcanizer.java | 18 -- .../emplacement/TileEntityEmplacement.java | 30 --- .../multiblock/MultiblockSawmill.java | 5 + .../tileentity/TileEntitySawmill.java | 15 -- .../multiblock/MultiblockStuctureBase.java | 209 +++++++++++++----- .../TileEntityMultiblockIIBase.java | 42 ++-- .../util/multiblock/util/MultiblockPOI.java | 41 +++- .../aabb/multiblock/radio_station.json | 3 + .../MultiblockStuctureBaseTest.java | 131 +++++++++++ .../TileEntityMultiblockIIBaseTest.java | 131 +++++++++++ 57 files changed, 779 insertions(+), 599 deletions(-) create mode 100644 src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java create mode 100644 src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBaseTest.java diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java index 4760a0945..5814e7f8c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/radio/RadioNetwork.java @@ -1,6 +1,7 @@ package pl.pabilo8.immersiveintelligence.api.data.radio; import blusunrize.immersiveengineering.api.DimensionBlockPos; +import lombok.Getter; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; @@ -19,6 +20,7 @@ public class RadioNetwork { public static RadioNetwork INSTANCE = new RadioNetwork(); + @Getter ArrayList devices = new ArrayList<>(); ArrayList toRemove = new ArrayList<>(); @@ -48,11 +50,6 @@ public void clearDevices() toRemove.clear(); } - public ArrayList getDevices() - { - return devices; - } - /** * Sends a packet through all available radios that can receive it. */ diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/multiblock/MultiblockFenceGateBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/multiblock/MultiblockFenceGateBase.java index dd8a5a45f..6cf63926e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/multiblock/MultiblockFenceGateBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/multiblock/MultiblockFenceGateBase.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -21,6 +22,8 @@ public MultiblockFenceGateBase(Class klass, ResourceLocation loc) { super(loc); offset = new Vec3i(0, 1, 0); + addPOI(MultiblockPOI.MISC_DOOR, "gate"); + addPOI(MultiblockPOI.REDSTONE_CABLE_MOUNT, "redstone"); UpgradeTechTree.getTreeFor(klass) .withUpgrade(IIContent.UPGRADE_REDSTONE_ACTIVATION, UpgradeTier.TIER_1) .withUpgrade(IIContent.UPGRADE_RAZOR_WIRE, UpgradeTier.TIER_1); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java index fb2104da6..3fef75be6 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java @@ -32,7 +32,6 @@ import pl.pabilo8.immersiveintelligence.common.util.item.IIItemUtils; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIConnectable; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockRedstoneNetwork; import javax.annotation.Nonnull; @@ -90,18 +89,6 @@ public List getBounds(boolean collision) return super.getBounds(collision); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case MISC_DOOR: - return getPOI("gate"); - case REDSTONE_CABLE_MOUNT: - return getPOI("redstone"); - } - return new int[0]; - } public boolean isDoorPart() { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArithmeticLogicMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArithmeticLogicMachine.java index 00d44245d..c994fdad4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArithmeticLogicMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArithmeticLogicMachine.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityArithmeticLogicMachine; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -32,6 +33,14 @@ public MultiblockArithmeticLogicMachine() offset = new Vec3i(0, 1, 1); INSTANCE = this; + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.DATA_INPUT, "data_in"); + addPOI(MultiblockPOI.DATA_OUTPUT, "data_out"); + addPOI(MultiblockPOI.MISC_CONTROL_PANEL, "front_panel"); + addPOI(MultiblockPOI.MISC_CRATE, "crates"); + addPOI(MultiblockPOI.MISC_DOOR, "door"); + //Init Tech Tree UpgradeTechTree.getTreeFor(TileEntityArithmeticLogicMachine.class) .reset() diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArtilleryHowitzer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArtilleryHowitzer.java index 61387df11..541c1629c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArtilleryHowitzer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockArtilleryHowitzer.java @@ -13,6 +13,7 @@ import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import pl.pabilo8.immersiveintelligence.common.util.sound.IISoundAnimation; /** @@ -42,6 +43,15 @@ public MultiblockArtilleryHowitzer() offset = new Vec3i(4, 5, 0); INSTANCE = this; + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.ITEM_INPUT, "item_input"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_output"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.DATA_INPUT, "data"); + addPOI(MultiblockPOI.MISC_DOOR, "bunker_door"); + addPOI(MultiblockPOI.MISC_WEAPON, "gun"); + //Load tactile animations animationOpen = ResLoc.of(IIReference.RES_II, "artillery_howitzer/artillery_howitzer_door"); animationPlatform = ResLoc.of(IIReference.RES_II, "artillery_howitzer/artillery_howitzer_platform"); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockBallisticComputer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockBallisticComputer.java index e43ef3129..e87bffa64 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockBallisticComputer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockBallisticComputer.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityBallisticComputer; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -22,6 +23,11 @@ public MultiblockBallisticComputer() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/ballistic_computer")); offset = new Vec3i(0, 0, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.DATA_INPUT, "data_input"); + addPOI(MultiblockPOI.DATA_OUTPUT, "data_output"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockChemicalBath.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockChemicalBath.java index 4f2ff4779..6b8faad0e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockChemicalBath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockChemicalBath.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityChemicalBath; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -26,6 +27,13 @@ public MultiblockChemicalBath() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/chemical_bath")); offset = new Vec3i(2, 1, 1); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE, "redstone"); + addPOI(MultiblockPOI.ITEM_INPUT, "item_in"); + addPOI(MultiblockPOI.FLUID_INPUT, "fluid"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_out"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockDataInputMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockDataInputMachine.java index 73d41b2a7..b2f9fd2e1 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockDataInputMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockDataInputMachine.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityDataInputMachine; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -27,6 +28,12 @@ public MultiblockDataInputMachine() offset = new Vec3i(0, 1, 0); INSTANCE = this; + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.DATA_OUTPUT, "data"); + addPOI(MultiblockPOI.MISC_HATCH, "hatch"); + //Init Tech Tree UpgradeTechTree.getTreeFor(TileEntityDataInputMachine.class) .reset() diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockElectrolyzer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockElectrolyzer.java index 562a188d7..b3711036c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockElectrolyzer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockElectrolyzer.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityElectrolyzer; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -28,6 +29,12 @@ public MultiblockElectrolyzer() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/electrolyzer")); offset = new Vec3i(1, 1, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy_input"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone_input"); + addPOI(MultiblockPOI.FLUID_INPUT, "fluid_input"); + addPOI(MultiblockPOI.FLUID_OUTPUT, "fluid_output"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPacker.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPacker.java index 10b98823d..16580d194 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPacker.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPacker.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityPacker; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; public class MultiblockPacker extends MultiblockStuctureBase { @@ -23,6 +24,12 @@ public MultiblockPacker() offset = new Vec3i(1, 1, 0); INSTANCE = this; + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.DATA_INPUT, "data"); + + //Upgrades UpgradeTechTree.getTreeFor(TileEntityPacker.class) .reset() .withUpgrade(IIContent.UPGRADE_PACKER_FLUID, UpgradeTier.TIER_1) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrecisionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrecisionAssembler.java index 8421ed158..228ec9b7a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrecisionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrecisionAssembler.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityPrecisionAssembler; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -27,6 +28,12 @@ public MultiblockPrecisionAssembler() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/precision_assembler")); offset = new Vec3i(2, 0, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.ITEM_INPUT, "all_item_inputs"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_out"); + addPOI(MultiblockPOI.REDSTONE, "redstone"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrintingPress.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrintingPress.java index b78944754..b0ce088e9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrintingPress.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockPrintingPress.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityPrintingPress; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -29,6 +30,14 @@ public MultiblockPrintingPress() offset = new Vec3i(1, 1, 0); INSTANCE = this; + //POI + addPOI(MultiblockPOI.DATA_INPUT, "data"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.ITEM_INPUT, "paper_input"); + addPOI(MultiblockPOI.FLUID_INPUT, "fluid_input"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "output"); + + //Upgrades UpgradeTechTree.getTreeFor(TileEntityPrintingPress.class) .withUpgrade(IIContent.UPGRADE_PRESS_PUNCHTAPES, UpgradeTier.TIER_1) .withUpgrade(IIContent.UPGRADE_PRESS_BATCHING, UpgradeTier.TIER_1) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockRadioStation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockRadioStation.java index ec62ab316..ec0fb5891 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockRadioStation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockRadioStation.java @@ -9,6 +9,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityRadioStation; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -24,6 +25,10 @@ public MultiblockRadioStation() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/radio_station")); offset = new Vec3i(0, 1, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.DATA, "data"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockScanningConveyor.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockScanningConveyor.java index 99573a4c7..28c208944 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockScanningConveyor.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/multiblock/MultiblockScanningConveyor.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityScanningConveyor; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -22,6 +23,11 @@ public MultiblockScanningConveyor() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/scanning_conveyor")); offset = new Vec3i(0, 1, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.DATA_OUTPUT, "data"); + addPOI(MultiblockPOI.ENERGY_INPUT, "power"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java index 61a5f14bc..950916027 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java @@ -31,7 +31,6 @@ import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIGuiMultiblockTile; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIGeneric; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -142,27 +141,6 @@ protected void onUpdate() upgradeManager.update(); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case DATA_INPUT: - return getPOI("data_in"); - case DATA_OUTPUT: - return getPOI("data_out"); - case MISC_CONTROL_PANEL: - return getPOI("front_panel"); - case MISC_CRATE: - return getPOI("crates"); - case MISC_DOOR: - return getPOI("door"); - } - return new int[0]; - } - @Override public void receiveData(DataPacket packet, int pos) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java index bfb1a9ee7..b35df18ed 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java @@ -44,13 +44,13 @@ import pl.pabilo8.immersiveintelligence.common.util.IIMath; import pl.pabilo8.immersiveintelligence.common.util.ISerializableEnum; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.lambda.NBTTagCollector; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.ILadderMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IManagedDamageResistantMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.MultiblockHealth; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIGeneric; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import pl.pabilo8.immersiveintelligence.common.util.sound.IISoundAnimation; import pl.pabilo8.immersiveintelligence.common.util.sound.SoundHandler; @@ -63,7 +63,11 @@ import java.util.function.Supplier; /** + * A strategic artillery gun multiblock. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 09.08.2026 + * @ii-approved 0.3.1 * @since 28.06.2019 */ public class TileEntityArtilleryHowitzer extends TileEntityMultiblockIIGeneric @@ -72,21 +76,24 @@ public class TileEntityArtilleryHowitzer extends TileEntityMultiblockIIGeneric orderList = new ArrayList<>(); @SyncNBT public MultiblockInteractablePart door, platform; - @SyncNBT + @SyncNBT(events = SyncEvents.TILE_DAMAGED) + public MultiblockHealth health; //animation related variables - @SyncNBT - public int animationTime = 0, animationTimeMax = 0, shellConveyorTime = 0; - @SyncNBT + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) + public int animationTime = 0, animationTimeMax = 0; + @SyncNBT(events = SyncEvents.TILE_RECIPE_CHANGED) + public int shellConveyorTime = 0; + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public float turretYaw = 0, turretPitch = 0, plannedYaw = 0, plannedPitch = 0; //shells loaded into the rack - @SyncNBT + @SyncNBT(events = SyncEvents.TILE_RECIPE_CHANGED) public NonNullList loadedShells; public IItemHandler inventoryHandler, insertionHandler; @@ -158,22 +165,51 @@ public void onUpdate() //hide howitzer if door is closed if(!door.getState()) - action = ArtilleryHowitzerAction.HIDE; + { + if(platform.isFullyClosed()&&action!=ArtilleryHowitzerAction.STOP) + { + action = ArtilleryHowitzerAction.STOP; + animationTime = animationTimeMax = 0; + syncForEvent(SyncEvents.TILE_CUSTOM1); + } + else if(!platform.isFullyClosed()&&action!=ArtilleryHowitzerAction.HIDE) + { + action = ArtilleryHowitzerAction.HIDE; + animationTime = animationTimeMax = 0; + syncForEvent(SyncEvents.TILE_CUSTOM1); + } + } //shell conveyor action if(shellConveyorTime < ArtilleryHowitzer.conveyorTime) shellConveyorTime += 1; else { + boolean inventoryChanged = false; + //push up //input 0->5 for(int i = 5; i > 0; i--) if(inventoryHandler.getStackInSlot(i).isEmpty()) - inventory.set(i, inventoryHandler.extractItem(i-1, 1, false)); + { + ItemStack moved = inventoryHandler.extractItem(i-1, 1, false); + if(!moved.isEmpty()) + { + inventory.set(i, moved); + inventoryChanged = true; + } + } //output 6->11 for(int i = 11; i > 6; i--) if(inventoryHandler.getStackInSlot(i).isEmpty()) - inventory.set(i, inventoryHandler.extractItem(i-1, 1, false)); + { + ItemStack moved = inventoryHandler.extractItem(i-1, 1, false); + if(!moved.isEmpty()) + { + inventory.set(i, moved); + inventoryChanged = true; + } + } //output shell into TileEntity or drop as item if(!world.isRemote&&!inventoryHandler.getStackInSlot(11).isEmpty()) @@ -182,6 +218,7 @@ public void onUpdate() .offset(facing.getOpposite()) .offset(EnumFacing.UP); ItemStack casing = inventoryHandler.extractItem(11, 1, false); + inventoryChanged = true; if(world.getTileEntity(outPos)!=null) casing = Utils.insertStackIntoInventory(world.getTileEntity(outPos), casing, facing); @@ -192,8 +229,8 @@ public void onUpdate() shellConveyorTime = 0; - if(!world.isRemote) - forceTileUpdate(); + if(inventoryChanged) + syncForEvent(SyncEvents.TILE_RECIPE_CHANGED); } /*if(!animation.matchesRequirements(this)) @@ -208,13 +245,16 @@ public void onUpdate() //S T O P if(action==ArtilleryHowitzerAction.STOP) { - if(world.isRemote||orderList.isEmpty()) + if(world.isRemote||orderList.isEmpty()||!door.getState()) return; HowitzerOrder newOrder = orderList.get(0); //only apply when valid if(newOrder.animation.isFulfilled(this)) //already fulfilled + { orderList.remove(0); + markDirty(); + } else if(newOrder.animation.matchesRequirements(this)) //can be done { action = newOrder.animation; @@ -223,8 +263,8 @@ else if(newOrder.animation.matchesRequirements(this)) //can be done plannedPitch = newOrder.pitch; plannedYaw = newOrder.yaw; - forceTileUpdate(); orderList.remove(0); + syncForEvent(SyncEvents.TILE_CUSTOM1); } return; } @@ -264,7 +304,7 @@ else if(action!=ArtilleryHowitzerAction.STOP) action = ArtilleryHowitzerAction.STOP; animationTimeMax = 0; animationTime = 0; - forceTileUpdate(); + syncForEvent(SyncEvents.TILE_CUSTOM1); } if(world.isRemote) @@ -298,6 +338,7 @@ else if(action!=ArtilleryHowitzerAction.STOP) //update animations if(animationTime==(int)(animationTimeMax*action.executeTime)) { + boolean inventoryChanged = false; switch(action) { case AIM: @@ -307,6 +348,7 @@ else if(action!=ArtilleryHowitzerAction.STOP) case FIRE3: case FIRE4: fireGun(action.ordinal()-ArtilleryHowitzerAction.FIRE1.ordinal()); + inventoryChanged = true; break; case LOAD1: case LOAD2: @@ -315,6 +357,7 @@ else if(action!=ArtilleryHowitzerAction.STOP) { int slot = action.ordinal()-ArtilleryHowitzerAction.LOAD1.ordinal(); loadedShells.set(slot, inventoryHandler.extractItem(5, 1, false)); + inventoryChanged = true; } break; case UNLOAD1: @@ -325,9 +368,13 @@ else if(action!=ArtilleryHowitzerAction.STOP) int slot = action.ordinal()-ArtilleryHowitzerAction.UNLOAD1.ordinal(); inventory.set(6, loadedShells.get(slot).copy()); loadedShells.set(slot, ItemStack.EMPTY); + inventoryChanged = true; } break; } + + if(inventoryChanged) + syncForEvent(SyncEvents.TILE_RECIPE_CHANGED); } } @@ -336,6 +383,15 @@ else if(action!=ArtilleryHowitzerAction.STOP) energyStorage.extractEnergy(ArtilleryHowitzer.energyUsagePassive, false); } + private void syncForEvent(SyncEvents event) + { + if(world.isRemote) + return; + + markDirty(); + updateTileForEvent(event); + } + private void animateGunTactiles() { tactileManager.update(MultiblockArtilleryHowitzer.INSTANCE.animationPitch, turretPitch/105f); @@ -526,29 +582,6 @@ public int getSlotLimit(int slot) return 1; } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case ITEM_INPUT: - return getPOI("item_input"); - case ITEM_OUTPUT: - return getPOI("item_output"); - case REDSTONE_INPUT: - return getPOI("redstone"); - case DATA_INPUT: - return getPOI("data"); - case MISC_DOOR: - return getPOI("bunker_door"); - case MISC_WEAPON: - return getPOI("gun"); - } - return new int[0]; - } - @Override public void receiveData(DataPacket packet, int pos) { @@ -653,7 +686,6 @@ public void receiveData(DataPacket packet, int pos) action = anim; animationTime = 0; animationTimeMax = anim.animationTime; - forceTileUpdate(); } } } @@ -676,7 +708,7 @@ public boolean hasCapability(Capability capability, EnumFacing facing) @Override public T getCapability(Capability capability, EnumFacing facing) { - if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY&&pos==410) + if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY&&isPOI("item_input")) { TileEntityArtilleryHowitzer master = master(); if(master==null) @@ -711,7 +743,7 @@ public EnumFacing[] sigOutputDirections() @Override public void onEntityCollision(@Nonnull World world, @Nonnull Entity entity) { - if(!world.isRemote&&pos==410&&entity instanceof EntityItem) + if(!world.isRemote&&isPOI("item_input")&&entity instanceof EntityItem) { //perform on master TE, check if insertion slot is empty TileEntityArtilleryHowitzer master = master(); @@ -726,7 +758,10 @@ public void onEntityCollision(@Nonnull World world, @Nonnull Entity entity) //insert copied stack to inventory ItemStack stack = master.inventoryHandler.insertItem(0, entityItem.getItem().copy(), false); if(stack.isEmpty()) + { entityItem.setItem(ItemStack.EMPTY); + master.syncForEvent(SyncEvents.TILE_RECIPE_CHANGED); + } } } @@ -766,6 +801,16 @@ public MultiblockHealth getHealthManager() return health; } + @Override + public boolean damageHealth(float damage) + { + float previousHealth = health.getHealth(); + boolean destroyed = health.damageHealth(damage); + if(Float.compare(previousHealth, health.getHealth())!=0) + syncForEvent(SyncEvents.TILE_DAMAGED); + return destroyed; + } + public enum ArtilleryHowitzerAction implements ISerializableEnum { STOP(false, false, GunPosition.NEUTRAL, t -> true, t -> false, 0, null, 1f), //stops current action diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java index bfe5ccf3a..3af1668bd 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java @@ -29,7 +29,6 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.multiblock.MultiblockBallisticComputer; import pl.pabilo8.immersiveintelligence.common.entity.ammo.types.EntityAmmoProjectile; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIGeneric; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -155,21 +154,6 @@ else if(z < 0) sendData(packet, getDirection("data_output"), multiblock.getPointOfInterest("data_output")); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case DATA_INPUT: - return getPOI("data_input"); - case DATA_OUTPUT: - return getPOI("data_output"); - } - return new int[0]; - } - @Override public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, ItemStack heldItem, float hitX, float hitY, float hitZ) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java index 7c1f65dcc..5c5caa9a6 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java @@ -141,27 +141,6 @@ protected void onProductionFinish(IIMultiblockProcess process) this.outputHandler.insertItem(0, process.recipe.itemOutput, false); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case REDSTONE: - return getPOI("redstone"); - case ITEM_INPUT: - return getPOI("item_in"); - case FLUID_INPUT: - return getPOI("fluid"); - case ITEM_OUTPUT: - return getPOI("item_out"); - - default: - return new int[0]; - } - } - @Override public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java index 85eef315a..c2a7733fb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java @@ -202,22 +202,6 @@ protected void onUpdate() this.currentProcess.ticks = this.currentProcess.maxTicks; } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case REDSTONE_INPUT: - return getPOI("redstone"); - case DATA_OUTPUT: - return getPOI("data"); - case MISC_HATCH: - return getPOI("hatch"); - } - return new int[0]; - } @Override public boolean isStackValid(int slot, ItemStack stack) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityElectrolyzer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityElectrolyzer.java index dd645dcfa..6ad9546d4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityElectrolyzer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityElectrolyzer.java @@ -24,7 +24,6 @@ import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.production.TileEntityMultiblockProductionSingle; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import static pl.pabilo8.immersiveintelligence.common.IIUtils.handleBucketTankInteraction; import static pl.pabilo8.immersiveintelligence.common.IIUtils.outputFluidToTank; @@ -63,23 +62,6 @@ protected void dummyCleanup() this.tankInput = tankOutput1 = tankOutput2 = null; } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy_input"); - case REDSTONE_INPUT: - return getPOI("redstone_input"); - case FLUID_INPUT: - return getPOI("fluid_input"); - case FLUID_OUTPUT: - return getPOI("fluid_output"); - } - return new int[0]; - } - @Override protected IFluidTank[] getFluidTanks(int pos, EnumFacing side) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java index 74616670d..abf35b019 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java @@ -230,21 +230,19 @@ protected void onUpdate() } @Override - protected int[] listAllPOI(MultiblockPOI poi) + protected int[] listDynamicPOI(MultiblockPOI poi) { - boolean fluid = false, energy = false, railway = false; + boolean fluid = false, energy = false; TileEntityPacker master = master(); if(master!=null) { fluid = master.isUpgradeInstalled(IIContent.UPGRADE_PACKER_FLUID); energy = master.isUpgradeInstalled(IIContent.UPGRADE_PACKER_ENERGY); - railway = master.isUpgradeInstalled(IIContent.UPGRADE_PACKER_RAILWAY); } - switch(poi) { case ENERGY_INPUT: - return energy?getPOI("all_energy_input"): getPOI("energy"); + return energy?getPOI("all_energy_input"): new int[0]; case ITEM_INPUT: return !fluid&&!energy?getPOI("inputs_items"): getPOI("conveyor_in"); case FLUID_INPUT: @@ -255,12 +253,9 @@ protected int[] listAllPOI(MultiblockPOI poi) return fluid?getPOI("output"): new int[0]; case ENERGY_OUTPUT: return energy?getPOI("output"): new int[0]; - case REDSTONE_INPUT: - return getPOI("redstone"); - case DATA_INPUT: - return getPOI("data"); + default: + return new int[0]; } - return new int[0]; } private void performPackerAction(ItemStack packedItem) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java index fa64462b8..bafd0e8a2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java @@ -32,7 +32,10 @@ import java.util.ArrayList; /** + * Multiblock machine producing items according to {@link PrecisionAssemblerRecipe recipes} by using {@link IPrecisionTool tools}. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 07.08.2026 * @since 28.06.2019 */ public class TileEntityPrecisionAssembler extends TileEntityMultiblockProductionSingle implements IBooleanAnimatedPartsBlock @@ -101,24 +104,6 @@ protected void onUpdate() } } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case ITEM_INPUT: - return getPOI("all_item_inputs"); - case ITEM_OUTPUT: - return getPOI("item_out"); - case REDSTONE: - return getPOI("redstone"); - default: - return new int[0]; - } - } - @Override public boolean isStackValid(int slot, ItemStack stack) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrintingPress.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrintingPress.java index 9fa4e34ff..cc137b92d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrintingPress.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrintingPress.java @@ -47,7 +47,6 @@ import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.production.TileEntityMultiblockProductionMulti; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -119,25 +118,6 @@ protected void onUpdate() //--- Properties ---// - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case DATA_INPUT: - return getPOI("data"); - case ENERGY_INPUT: - return getPOI("energy"); - case ITEM_INPUT: - return getPOI("paper_input"); - case FLUID_INPUT: - return getPOI("fluid_input"); - case ITEM_OUTPUT: - return getPOI("output"); - } - return new int[0]; - } - @Override public void receiveData(DataPacket packet, int pos) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java index 819d056ec..aa85a9d6e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityRadioStation.java @@ -40,6 +40,13 @@ public TileEntityRadioStation() this.construction = new MultiblockConstructionManager(this, RadioStation.constructionEnergy); } + @Override + public void invalidate() + { + super.invalidate(); + RadioNetwork.INSTANCE.removeDevice(this); + } + @Override protected void dummyCleanup() { @@ -54,21 +61,9 @@ protected void onUpdate() tickRadioCooldown(); if(!construction.update()) return; + RadioNetwork.INSTANCE.addDevice(this); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy"); - case DATA: - return getPOI("data"); - default: - return new int[0]; - } - } @Override public void receiveData(DataPacket packet, int pos) @@ -101,7 +96,7 @@ public boolean onRadioReceive(DataPacket packet) //Added because of getting double (and fake (with pos -1 and facing north) tile entities) when using world.getTileEntity if(isRadioAvailable()&&this.formed&&!this.isDummy()&&isConstructionFinished()) { - sendData(packet, facing, getPOI(MultiblockPOI.DATA)[0]); + sendData(packet, getDirection("data"), getPOI(MultiblockPOI.DATA)[0]); soundDelay = 10; return true; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityScanningConveyor.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityScanningConveyor.java index 816fb3baf..b6c75f8f1 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityScanningConveyor.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityScanningConveyor.java @@ -48,20 +48,6 @@ protected void onUpdate() lastScanned.computeIfPresent(entityItem, (entityItem1, integer) -> integer >= 1?integer-1: null); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case DATA_OUTPUT: - return getPOI("data"); - case ENERGY_INPUT: - return getPOI("power"); - case REDSTONE_INPUT: - return getPOI("redstone"); - } - return new int[0]; - } @Override public void onEntityCollision(World world, Entity entity) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockAmmunitionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockAmmunitionAssembler.java index 25f82b324..315fb56c6 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockAmmunitionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockAmmunitionAssembler.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityAmmunitionAssembler; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; public class MultiblockAmmunitionAssembler extends MultiblockStuctureBase { @@ -22,6 +23,13 @@ public MultiblockAmmunitionAssembler() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/ammunition_assembler")); offset = new Vec3i(1, 0, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ITEM_INPUT, "item_input"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_output"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone_input"); + addPOI(MultiblockPOI.DATA_INPUT, "data_input"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy_input"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockChemicalPainter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockChemicalPainter.java index 9b804ef5b..6b8665583 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockChemicalPainter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockChemicalPainter.java @@ -9,6 +9,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityChemicalPainter; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import java.util.function.Predicate; @@ -27,6 +28,14 @@ public MultiblockChemicalPainter() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/chemical_painter")); offset = new Vec3i(2, 0, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.FLUID_INPUT, "fluid_inputs"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy_input"); + addPOI(MultiblockPOI.DATA_INPUT, "data"); + addPOI(MultiblockPOI.ITEM_INPUT, "item_input"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_output"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockCoagulator.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockCoagulator.java index 472105fbb..3824734aa 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockCoagulator.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockCoagulator.java @@ -8,22 +8,25 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityCoagulator; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; public class MultiblockCoagulator extends MultiblockStuctureBase { public static MultiblockCoagulator INSTANCE; - public static int SLOT_INPUT1, SLOT_INPUT2, SLOT_OUTPUT1, SLOT_OUTPUT2, SLOT_OUTPUT; + public static final int SLOT_INPUT1 = 0, SLOT_INPUT2 = 1, SLOT_OUTPUT1 = 2, SLOT_OUTPUT2 = 3, SLOT_OUTPUT = 4; public MultiblockCoagulator() { super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/coagulator")); offset = new Vec3i(3, 1, 0); INSTANCE = this; - SLOT_INPUT1 = 0; - SLOT_INPUT2 = 1; - SLOT_OUTPUT1 = 2; - SLOT_OUTPUT2 = 3; - SLOT_OUTPUT = 4; + + //POI + addPOI(MultiblockPOI.FLUID_INPUT, "fluid_inputs"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_outputs"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.MISC_CONTROL_PANEL, "control_panel"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockEmplacement.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockEmplacement.java index dc7a2a214..d41a9ace9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockEmplacement.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockEmplacement.java @@ -16,6 +16,7 @@ import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import java.util.Collections; @@ -30,13 +31,30 @@ public MultiblockEmplacement() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/emplacement")); offset = new Vec3i(1, 4, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.DATA, "data"); + addPOI(MultiblockPOI.MISC_WEAPON, "weapon"); + addPOI(MultiblockPOI.MISC_HATCH, "hatch"); + + addPOI(MultiblockPOI.ITEM_INPUT, "input"); + addPOI(MultiblockPOI.FLUID_INPUT, "input"); + + addPOI(MultiblockPOI.ITEM_OUTPUT, "output"); + addPOI(MultiblockPOI.FLUID_OUTPUT, "output"); + + //Customzation STYLE_CONSTRAINTS = new StyleConstraints("sandbags", PaintStyleConstraint.NOT_APPLICABLE, Sets.newHashSet("sandbags", "wooden", "steel", "bricks", "concrete"), Collections.emptySet() ); + //Tactile AMT animationPlatform = ResLoc.of(IIReference.RES_II, "emplacement/open"); + //Upgrades UpgradeTechTree.getTreeFor(TileEntityEmplacement.class) .reset() //Generic Upgrades @@ -71,13 +89,6 @@ public MultiblockEmplacement() //Weapons lockout .withLockOut(UpgradePurpose.PRIMARY_WEAPON); - - //Register fire mission classes for serialization -// NBTSerialisation.registerPolimorphicTypeClass(EmplacementFireMissionCustom.class); -// NBTSerialisation.registerPolimorphicTypeClass(EmplacementFireMissionEntities.class); -// NBTSerialisation.registerPolimorphicTypeClass(EmplacementFireMissionEntity.class); -// NBTSerialisation.registerPolimorphicTypeClass(EmplacementFireMissionPosition.class); -// NBTSerialisation.registerPolimorphicTypeClass(EmplacementFireMissionShells.class); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFiller.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFiller.java index 253a232dd..1ef48a126 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFiller.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFiller.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFiller; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; public class MultiblockFiller extends MultiblockStuctureBase { @@ -20,6 +21,12 @@ public MultiblockFiller() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/filler")); offset = new Vec3i(1, 1, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ITEM_INPUT, "inputs"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "conveyor_out"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java index bbcadaac1..5cbd32dd4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java @@ -13,6 +13,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFlagpole; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import java.util.Collections; @@ -26,11 +27,17 @@ public MultiblockFlagpole() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/flagpole")); offset = new Vec3i(1, 3, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.MISC_FLAGPOLE, "pole"); + + //Customization STYLE_CONSTRAINTS = new StyleConstraints("sandbags", PaintStyleConstraint.NOT_APPLICABLE, Sets.newHashSet("sandbags", "wooden", "steel", "bricks", "concrete"), Collections.emptySet() ); + //Upgrades UpgradeTechTree.getTreeFor(TileEntityFlagpole.class) .reset() .withUpgrade(IIContent.UPGRADE_FLAGPOLE_CAPTURE_DEFIANCE, UpgradeTier.TIER_1) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFuelStation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFuelStation.java index 925bea8d8..f6d840f44 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFuelStation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFuelStation.java @@ -11,6 +11,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFuelStation; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import java.util.Collections; @@ -28,6 +29,14 @@ public MultiblockFuelStation() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/fuel_station")); offset = new Vec3i(0, 1, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ENERGY_INPUT, "energy_input"); + addPOI(MultiblockPOI.FLUID_INPUT, "fluid_input"); + addPOI(MultiblockPOI.REDSTONE, "redstone"); + addPOI(MultiblockPOI.MISC_CONTROL_PANEL, "table"); + + //Customization STYLE_CONSTRAINTS = new StyleConstraints("wooden", PaintStyleConstraint.NOT_APPLICABLE, Sets.newHashSet("wooden", "naval", "steel"), Collections.emptySet() diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockHeavyAmmunitionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockHeavyAmmunitionAssembler.java index ade9dbe46..c1b9d7ffd 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockHeavyAmmunitionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockHeavyAmmunitionAssembler.java @@ -8,6 +8,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityHeavyAmmunitionAssembler; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; public class MultiblockHeavyAmmunitionAssembler extends MultiblockStuctureBase { @@ -18,6 +19,13 @@ public MultiblockHeavyAmmunitionAssembler() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/heavy_ammunition_assembler")); offset = new Vec3i(4, 0, 1); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ITEM_INPUT, "item_inputs"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_out"); + addPOI(MultiblockPOI.FLUID_INPUT, "component_fluid_in"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java index 65755f5c1..34c25797e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityProjectileWorkshop; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; public class MultiblockProjectileWorkshop extends MultiblockStuctureBase { @@ -23,6 +24,15 @@ public MultiblockProjectileWorkshop() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/projectile_workshop")); offset = new Vec3i(2, 1, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.ITEM_INPUT, "item_inputs"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "item_out"); + addPOI(MultiblockPOI.FLUID_INPUT, "component_fluid_in"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + + //Upgrades UpgradeTechTree.getTreeFor(TileEntityProjectileWorkshop.class) .withUpgrade(IIContent.UPGRADE_CORE_FILLER, UpgradeTier.TIER_1); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRadar.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRadar.java index 7dd087fac..aa004b200 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRadar.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRadar.java @@ -13,6 +13,7 @@ import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; @IAdvancedMultiblock public class MultiblockRadar extends MultiblockStuctureBase @@ -26,7 +27,15 @@ public MultiblockRadar() offset = new Vec3i(4, 0, 0); INSTANCE = this; + //POI + addPOI(MultiblockPOI.DATA_OUTPUT, "data"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + + //Animations animationDish = ResLoc.of(IIReference.RES_II, "radar/dish"); + + //Upgrades UpgradeTechTree.getTreeFor(TileEntityRadar.class) .withUpgrade(IIContent.UPGRADE_RADIO_LOCATORS, UpgradeTier.TIER_1); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRedstoneInterface.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRedstoneInterface.java index 76b421acc..2b1c60b19 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRedstoneInterface.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockRedstoneInterface.java @@ -14,6 +14,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityRedstoneDataInterface; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -29,6 +30,10 @@ public MultiblockRedstoneInterface() super(new ResourceLocation(ImmersiveIntelligence.MODID, "multiblocks/redstone_data_interface")); offset = new Vec3i(0, 0, 0); INSTANCE = this; + + //POI + addPOI(MultiblockPOI.REDSTONE_CABLE_MOUNT, "redstone"); + addPOI(MultiblockPOI.DATA_INPUT, "data"); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockVulcanizer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockVulcanizer.java index 97e8cbade..f3eb7beb4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockVulcanizer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockVulcanizer.java @@ -10,6 +10,7 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityVulcanizer; import pl.pabilo8.immersiveintelligence.common.util.multiblock.BlockIIMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.MultiblockStuctureBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import pl.pabilo8.immersiveintelligence.common.util.sound.IISoundAnimation; public class MultiblockVulcanizer extends MultiblockStuctureBase @@ -24,34 +25,13 @@ public MultiblockVulcanizer() offset = new Vec3i(2, 1, 0); INSTANCE = this; + //Vulcanizer + addPOI(MultiblockPOI.ENERGY_INPUT, "energy"); + addPOI(MultiblockPOI.REDSTONE_INPUT, "redstone"); + addPOI(MultiblockPOI.ITEM_INPUT, "inputs"); + addPOI(MultiblockPOI.ITEM_OUTPUT, "outputs"); - /*TileEntityVulcanizer master = master(); - if(master!=null&&master.processQueue.size() > 0) - { - MultiblockProcess process = master.processQueue.get(0); - switch(sound) - { - case "immersiveintelligence:printing_press": - { - if(master.processQueue.size() > 1) - { - if(IIUtils.inRange(master.processQueue.get(1).processTick, master.processQueue.get(1).maxTicks, 0, 0.16)) - return true; - } - return IIUtils.inRange(process.processTick, process.maxTicks, 0, 0.165); - } - case "immersiveintelligence:vulcanizer_heating": - return IIUtils.inRange(process.processTick, process.maxTicks, 0.2, 0.8); - case "immersiveintelligence:howitzer_rotation_h": - return IIUtils.inRange(process.processTick, process.maxTicks, 0.78, 0.84); - case "immersiveintelligence:inserter_forward": - return IIUtils.inRange(process.processTick, process.maxTicks, 0.93, 0.96); - case "immersiveintelligence:inserter_backward": - return IIUtils.inRange(process.processTick, process.maxTicks, 0.85, 0.86); - } - }*/ - - + //Animations workAnimation = new IISoundAnimation(1) .withRepeatedSound(0.015, 0.165, IISounds.rollingLoop) .withRepeatedSound(0.2, 0.8, IISounds.heatingLoop) @@ -61,25 +41,6 @@ public MultiblockVulcanizer() .withRepeatedSound(0.93, 0.96, IISounds.electricMotorHeavyBackwardLoop) .compile(1000); - /*if(process.processTick==Math.ceil(0.16*process.maxTicks)) - world.playSound(null, getBlockPosForPos(70), IISounds.vulcanizerPullStart, SoundCategory.BLOCKS, .65F, 1.5f); - if(process.processTick==Math.ceil(0.86*process.maxTicks)) - world.playSound(null, getBlockPosForPos(49), SoundEvents.BLOCK_LAVA_EXTINGUISH, SoundCategory.BLOCKS, .65F, 0.75f); - else if(process.processTick==Math.ceil(0.77*process.maxTicks)) - world.playSound(null, getBlockPosForPos(49), IISounds.vulcanizerPullEnd, SoundCategory.BLOCKS, 1, 1f); - else if(process.processTick==Math.ceil(0.83*process.maxTicks)) - world.playSound(null, getBlockPosForPos(49), IISounds.vulcanizerPullStart, SoundCategory.BLOCKS, 1, 1f); - else if(process.processTick==Math.ceil(0.835*process.maxTicks)) - world.playSound(null, getBlockPosForPos(73), IISounds.vulcanizerPullStart, SoundCategory.BLOCKS, 1, 0.5f); - else if(process.processTick==Math.ceil(0.85*process.maxTicks)) - world.playSound(null, getBlockPosForPos(73), IISounds.vulcanizerPullEnd, SoundCategory.BLOCKS, 1, 0.5f); - else if(process.processTick==Math.ceil(0.91*process.maxTicks)) - world.playSound(null, getBlockPosForPos(49), IISounds.vulcanizerPullEnd, SoundCategory.BLOCKS, 1, 1f); - else if(process.processTick==Math.ceil(0.93*process.maxTicks)) - world.playSound(null, getBlockPosForPos(73), IISounds.vulcanizerPullStart, SoundCategory.BLOCKS, 1, 1f); - else if(process.processTick==Math.ceil(0.95*process.maxTicks)) - world.playSound(null, getBlockPosForPos(73), IISounds.vulcanizerPullStart, SoundCategory.BLOCKS, 1, 0.5f);*/ - } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityAmmunitionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityAmmunitionAssembler.java index a512c59c6..6312b804b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityAmmunitionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityAmmunitionAssembler.java @@ -27,7 +27,6 @@ import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.production.TileEntityMultiblockProductionMulti; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import javax.annotation.Nullable; @@ -74,25 +73,6 @@ protected void onUpdate() hatch.update(); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ITEM_INPUT: - return getPOI("item_input"); - case ITEM_OUTPUT: - return getPOI("item_output"); - case REDSTONE_INPUT: - return getPOI("redstone_input"); - case DATA_INPUT: - return getPOI("data_input"); - case ENERGY_INPUT: - return getPOI("energy_input"); - } - return new int[0]; - } - @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java index 7e9028d7d..964f28de4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java @@ -120,28 +120,6 @@ protected void onUpdate() attemptStackOutput(outputHandler, getDirection("item_output"), getPOI(MultiblockPOI.ITEM_OUTPUT)); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case FLUID_INPUT: - return getPOI("fluid_inputs"); - case ENERGY_INPUT: - return getPOI("energy_input"); - case DATA_INPUT: - return getPOI("data"); - case ITEM_INPUT: - return getPOI("item_input"); - case ITEM_OUTPUT: - return getPOI("item_output"); - case REDSTONE_INPUT: - return getPOI("redstone"); - default: - return new int[0]; - } - } - @Override public void receiveData(DataPacket packet, int pos) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java index 0b394f799..efd922732 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java @@ -183,26 +183,6 @@ protected void onUpdate() } } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case FLUID_INPUT: - return getPOI("fluid_inputs"); - case ITEM_OUTPUT: - return getPOI("item_outputs"); - case ENERGY_INPUT: - return getPOI("energy"); - case REDSTONE_INPUT: - return getPOI("redstone"); - case MISC_CONTROL_PANEL: - return getPOI("control_panel"); - default: - return new int[0]; - } - } - @Override protected IIMultiblockProcess findNewProductionProcess() { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFiller.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFiller.java index 698d36d56..37193c06f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFiller.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFiller.java @@ -70,22 +70,6 @@ protected void onUpdate() } } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ITEM_INPUT: - return getPOI("inputs"); - case ITEM_OUTPUT: - return getPOI("conveyor_out"); - case ENERGY_INPUT: - return getPOI("energy"); - case REDSTONE_INPUT: - return getPOI("redstone"); - } - return new int[0]; - } private EnumFacing getOutFacing() { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java index 1c4a05dfe..924afa4e3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java @@ -26,7 +26,6 @@ import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IManagedDamageResistantMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.MultiblockHealth; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIBase; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import javax.annotation.Nonnull; @@ -87,14 +86,6 @@ protected void onUpdate() ForgeChunkManager.forceChunk(ticket, this.world.getChunkFromBlockCoords(getPos()).getPos());*/ } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - if(poi==MultiblockPOI.MISC_FLAGPOLE) - return getPOI("pole"); - return new int[0]; - } - @Override public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, ItemStack heldItem, float hitX, float hitY, float hitZ) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFuelStation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFuelStation.java index cd803c3d3..9804fdbd8 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFuelStation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFuelStation.java @@ -225,23 +225,6 @@ public float calculateDistance(float partialTicks) return IIMath.progressValue(inserterDistance, goalDistance, 0.125f, partialTicks); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ENERGY_INPUT: - return getPOI("energy_input"); - case FLUID_INPUT: - return getPOI("fluid_input"); - case REDSTONE: - return getPOI("redstone"); - case MISC_CONTROL_PANEL: - return getPOI("table"); - default: - return new int[0]; - } - } @Override public boolean isStackValid(int slot, ItemStack stack) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityHeavyAmmunitionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityHeavyAmmunitionAssembler.java index bc4cde48b..8e168d70e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityHeavyAmmunitionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityHeavyAmmunitionAssembler.java @@ -24,7 +24,6 @@ import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.production.TileEntityMultiblockProductionSingle; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import javax.annotation.Nullable; @@ -73,25 +72,6 @@ protected void onUpdate() tactileManager.defaultize(); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ITEM_INPUT: - return getPOI("item_inputs"); - case ITEM_OUTPUT: - return getPOI("item_out"); - case FLUID_INPUT: - return getPOI("component_fluid_in"); - case ENERGY_INPUT: - return getPOI("energy"); - case REDSTONE_INPUT: - return getPOI("redstone"); - } - return new int[0]; - } - @Override public T getCapability(Capability capability, @Nullable EnumFacing facing) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityProjectileWorkshop.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityProjectileWorkshop.java index be4c132c2..2208f641d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityProjectileWorkshop.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityProjectileWorkshop.java @@ -189,25 +189,6 @@ public void receiveMessageFromClient(NBTTagCompound message) componentFillAmount = Math.max(1, message.getInteger("component_fill_amount")); } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case ITEM_INPUT: - return getPOI("item_inputs"); - case ITEM_OUTPUT: - return getPOI("item_out"); - case FLUID_INPUT: - return getPOI("component_fluid_in"); - case ENERGY_INPUT: - return getPOI("energy"); - case REDSTONE_INPUT: - return getPOI("redstone"); - } - return new int[0]; - } - @Override public boolean isStackValid(int slot, ItemStack stack) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRadar.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRadar.java index 0e7abab0b..37a4a9b15 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRadar.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRadar.java @@ -113,20 +113,6 @@ protected void onUpdate() } - @Override - protected int[] listAllPOI(MultiblockPOI poi) - { - switch(poi) - { - case DATA_OUTPUT: - return getPOI("data"); - case REDSTONE_INPUT: - return getPOI("redstone"); - case ENERGY_INPUT: - return getPOI("energy"); - } - return new int[0]; - } @Override public MultiblockConstructionManager getConstructionManager() diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java index 1d748cfba..c178a5dad 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java @@ -34,7 +34,6 @@ import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIGuiMultiblockTile; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIConnectable; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockRedstoneNetwork; import javax.annotation.Nonnull; @@ -205,19 +204,6 @@ private ItemStack processPunchtape(ItemStack punchtape, Collection> implements IMultiblock @@ -73,10 +78,12 @@ public abstract class MultiblockStuctureBase> AABBs = new ArrayList<>(); - //TODO: 30.07.2024 second map for caching of MultiblockPOIs + private final ArrayList> AABBs = new ArrayList<>(); /** - * Map of named Points of Interest and their local positions in this multiblock + * Named Points-of-Interest loaded from the multiblock JSON file. */ - private HashMap POIs = new HashMap<>(); - private HashMap rotations = new HashMap<>(); + private final Map namedPOIs = new HashMap<>(); + /** + * Direct typed POIs declared by the multiblock class. + */ + private final EnumMap declaredPOIs = new EnumMap<>(MultiblockPOI.class); + /** + * Named POI groups bound to typed POIs by the multiblock class. + */ + private final EnumMap> poiBindings = new EnumMap<>(MultiblockPOI.class); + /** + * Resolved typed POIs with parent and child relations applied. + */ + private final EnumMap resolvedPOIs = new EnumMap<>(MultiblockPOI.class); + private final HashMap rotations = new HashMap<>(); /** * Whether this structure requires an infinite bounding box in rendering due to its size */ + @Getter private boolean massiveStructure; private T te; @SideOnly(Side.CLIENT) @@ -130,7 +151,7 @@ public MultiblockStuctureBase(ResourceLocation loc) { this.loc = loc; String[] split = loc.getResourcePath().split("/"); - this.name = "II:"+IIStringUtil.toCamelCase(split[split.length-1], false); + this.uniqueName = "II:"+IIStringUtil.toCamelCase(split[split.length-1], false); } public void updateStructure() @@ -143,11 +164,11 @@ public void updateStructure() this.manualScale = 7f/(Math.max(Math.max(size.getX(), size.getZ()), size.getY())/12f); //Set structure ItemStacks to default - structure = new ItemStack[size.getY()][size.getZ()][size.getX()]; + structureManual = new ItemStack[size.getY()][size.getZ()][size.getX()]; for(int x = 0; x < size.getX(); x++) for(int y = 0; y < size.getY(); y++) for(int z = 0; z < size.getZ(); z++) - structure[y][z][x] = ItemStack.EMPTY; + structureManual[y][z][x] = ItemStack.EMPTY; checkStructure = new IngredientStack[size.getY()][size.getZ()][size.getX()]; List blocks = template.blocks; @@ -159,7 +180,7 @@ public void updateStructure() IngredientStack here = getIngredientStackForBlockInfo(info); if(!here.getExampleStack().isEmpty()) { - structure[info.pos.getY()][info.pos.getZ()][info.pos.getX()] = here.getExampleStack(); + structureManual[info.pos.getY()][info.pos.getZ()][info.pos.getX()] = here.getExampleStack(); checkStructure[info.pos.getY()][info.pos.getZ()][info.pos.getX()] = here; Optional match = matsSet.stream().filter(here::equals).findAny(); if(match.isPresent()) @@ -168,7 +189,7 @@ public void updateStructure() matsSet.add(here); } } - materials = matsSet.toArray(new IngredientStack[0]); + totalMaterials = matsSet.toArray(new IngredientStack[0]); //Whether this multiblock has an infinite render bounding box massiveStructure = size.getX() > 5||size.getY() > 5||size.getZ() > 5; @@ -202,7 +223,7 @@ private void updateAABB(@Nonnull JsonObject file) AABBs.clear(); if(!file.has("bounds")) { - IILogger.error("Multiblock"+name+" has no Axis-Aligned Bounding Boxes defined"); + IILogger.error("Multiblock"+uniqueName+" has no Axis-Aligned Bounding Boxes defined"); return; } @@ -263,11 +284,12 @@ else if(entry.getValue() instanceof JsonPrimitive) private void updatePOI(@Nonnull JsonObject file) { - //Load POIs - POIs.clear(); + //Load named POIs + namedPOIs.clear(); if(!file.has("poi")) { IILogger.error("Multiblock "+loc.toString()+" has no Points of Interest defined!"); + rebuildPOICache(); return; } @@ -281,20 +303,21 @@ private void updatePOI(@Nonnull JsonObject file) ArrayList positions = new ArrayList<>(); for(JsonElement jsonElement : arr) positions.addAll(Arrays.asList(IIStringUtil.parseNumberListString(jsonElement.getAsString()))); - POIs.put(poi.getKey(), positions.stream().mapToInt(Integer::intValue).toArray()); + namedPOIs.put(poi.getKey(), positions.stream().mapToInt(Integer::intValue).toArray()); } //Single Value or Range else if(poi.getValue() instanceof JsonPrimitive) { Integer[] IDs = IIStringUtil.parseNumberListString(poi.getValue().getAsString()); - POIs.put(poi.getKey(), Arrays.stream(IDs).mapToInt(Integer::intValue).toArray()); + namedPOIs.put(poi.getKey(), Arrays.stream(IDs).mapToInt(Integer::intValue).toArray()); } else IILogger.warn("Invalid POI value for \""+poi.getKey()+"\" in multiblock "+loc.toString()+", expected array or primitive, got "+poi.getValue().getClass().getSimpleName()); } - //Sorting needed for binary search to work - POIs.values().forEach(Arrays::sort); + //Sorting is needed for binary search to work + namedPOIs.values().forEach(Arrays::sort); + rebuildPOICache(); } private void updateRotations(@Nonnull JsonObject file) @@ -342,12 +365,6 @@ private JsonObject loadAABBFromJSON() return null; } - @Override - public String getUniqueName() - { - return name; - } - @Override public boolean isBlockTrigger(IBlockState state) { @@ -379,7 +396,7 @@ public boolean createStructure(World world, BlockPos startPos, EnumFacing side, for(int l = -offset.getZ(); l < size.getZ()-offset.getZ(); l++) for(int w = -offset.getX(); w < size.getX()-offset.getX(); w++) { - if(structure[h+offset.getY()][l+offset.getZ()][w+offset.getX()].isEmpty()) + if(structureManual[h+offset.getY()][l+offset.getZ()][w+offset.getX()].isEmpty()) continue; int ww = mirrored?-w: w; @@ -426,7 +443,7 @@ protected boolean structureCheck(World world, BlockPos startPos, EnumFacing dir, for(int l = -offset.getZ(); l < size.getZ()-offset.getZ(); l++) for(int w = -offset.getX(); w < size.getX()-offset.getX(); w++) { - if(structure[h+offset.getY()][l+offset.getZ()][w+offset.getX()].isEmpty()) + if(structureManual[h+offset.getY()][l+offset.getZ()][w+offset.getX()].isEmpty()) continue; int ww = mirror?-w: w; @@ -451,21 +468,10 @@ protected void addBlockEvent(World world, BlockPos pos) protected T placeTile(World world, BlockPos pos) { world.setBlockState(pos, getBlock().getStateFromMeta(getMeta())); + //noinspection unchecked return (T)world.getTileEntity(pos); } - @Override - public ItemStack[][][] getStructureManual() - { - return structure; - } - - @Override - public IngredientStack[] getTotalMaterials() - { - return materials; - } - @Override public boolean overwriteBlockRender(ItemStack stack, int iterator) { @@ -620,14 +626,6 @@ public int[] getSize() return new int[]{size.getY(), size.getZ(), size.getX()}; } - /** - * @return the multiblock XYZ offset vector - */ - public Vec3i getOffset() - { - return offset; - } - /** * @param h height (y) * @param l length (z) @@ -674,25 +672,124 @@ public List getAABB(int pos, BlockPos blockPos, EnumFacing facing //--- POIs ---// /** - * @param pos position of the block in multiblock - * @param name of the POI - * @return whether this position is a POI of that type + * Binds a typed POI to one or more named POI groups from the multiblock JSON file. + * Call this method from the multiblock constructor. + * + * @param poi typed POI + * @param names named POI groups + */ + protected final void addPOI(@Nonnull MultiblockPOI poi, @Nonnull String... names) + { + Set bindings = poiBindings.computeIfAbsent(poi, key -> new LinkedHashSet<>()); + Arrays.stream(names) + .filter(Objects::nonNull) + .filter(name -> !name.isEmpty()) + .forEach(bindings::add); + rebuildPOICache(); + } + + /** + * Adds typed POI positions directly to the multiblock definition. + * Call this method from the multiblock constructor. + * + * @param poi typed POI + * @param positions local multiblock positions + */ + protected final void addPOIPositions(@Nonnull MultiblockPOI poi, int... positions) + { + declaredPOIs.merge(poi, normalisePOI(positions), MultiblockStuctureBase::mergePOI); + rebuildPOICache(); + } + + private void rebuildPOICache() + { + EnumMap directPOIs = new EnumMap<>(MultiblockPOI.class); + for(MultiblockPOI poi : MultiblockPOI.values()) + { + List sources = new ArrayList<>(); + sources.add(declaredPOIs.getOrDefault(poi, new int[0])); + + for(String binding : poiBindings.getOrDefault(poi, Collections.emptySet())) + sources.add(namedPOIs.getOrDefault(binding, new int[0])); + + directPOIs.put(poi, mergePOI(sources)); + } + + resolvedPOIs.clear(); + for(MultiblockPOI requested : MultiblockPOI.values()) + { + List sources = Arrays.stream(MultiblockPOI.values()) + .filter(declared -> declared.matches(requested)) + .map(directPOIs::get) + .collect(Collectors.toList()); + resolvedPOIs.put(requested, mergePOI(sources)); + } + } + + private static int[] normalisePOI(@Nullable int[] positions) + { + if(positions==null||positions.length==0) + return new int[0]; + return Arrays.stream(positions).distinct().sorted().toArray(); + } + + private static int[] mergePOI(@Nonnull int[] first, @Nonnull int[] second) + { + return mergePOI(Arrays.asList(first, second)); + } + + private static int[] mergePOI(@Nonnull Collection arrays) + { + return arrays.stream() + .filter(Objects::nonNull) + .flatMapToInt(Arrays::stream) + .distinct() + .sorted() + .toArray(); + } + + /** + * @param pos position of the block in the multiblock + * @param poi typed POI + * @return true if this position is a POI of that type + */ + public boolean isPointOfInterest(int pos, @Nonnull MultiblockPOI poi) + { + return Arrays.binarySearch(getPointsOfInterest(poi), pos) >= 0; + } + + /** + * @param pos position of the block in the multiblock + * @param name name of the POI + * @return true if this position is a POI of that type */ public boolean isPointOfInterest(int pos, String name) { - return Arrays.binarySearch(POIs.get(name), pos) >= 0; + return Arrays.binarySearch(getPointsOfInterest(name), pos) >= 0; } public int getPointOfInterest(String name) { - int[] arr = POIs.get(name); + int[] arr = getPointsOfInterest(name); return arr.length==0?0: arr[0]; } + /** + * Gets cached positions for a typed POI. + * + * @param poi typed POI + * @return sorted POI positions + */ + @Nonnull + public int[] getPointsOfInterest(@Nonnull MultiblockPOI poi) + { + return resolvedPOIs.getOrDefault(poi, new int[0]); + } + @Nonnull public int[] getPointsOfInterest(String name) { - return POIs.getOrDefault(name, new int[0]); + return namedPOIs.getOrDefault(name, new int[0]); } @Nullable @@ -701,8 +798,4 @@ public Rotation getRotation(String name) return rotations.get(name); } - public boolean isMassiveStructure() - { - return massiveStructure; - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java index 0b1062525..4d31b1334 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java @@ -39,17 +39,15 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.function.Consumer; +import java.util.stream.IntStream; /** - * A new beginning!
- * A lightweight alternative to using {@link blusunrize.immersiveengineering.common.blocks.metal.TileEntityMultiblockMetal} + * Provides common runtime behaviour for II multiblock tile entities. * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 09.08.2026 * @since 04.08.2022 */ public abstract class TileEntityMultiblockIIBase> extends TileEntityMultiblockPart @@ -440,20 +438,34 @@ public List getBounds(boolean collision) //--- Points of Interest ---// - protected abstract int[] listAllPOI(MultiblockPOI poi); - - public final int[] getPOI(MultiblockPOI poi) + /** + * Lists POIs that depend on the current tile state. + * Use this only for points that can change while the multiblock exists. + * + * @param poi direct POI type + * @return local multiblock positions + */ + protected int[] listDynamicPOI(MultiblockPOI poi) { - if(poi.hasChildren()) - return getAllPOI(poi.getChildren()); - return listAllPOI(poi); + return new int[0]; } - private int[] getAllPOI(List pois) + /** + * Gets all static and dynamic positions that match a POI type. + * + * @param poi queried POI type + * @return sorted local multiblock positions + */ + public final int[] getPOI(MultiblockPOI poi) { - return pois.stream() - .map(this::getPOI) + int[] dynamicPOIs = Arrays.stream(MultiblockPOI.values()) + .filter(dynamicPOI -> dynamicPOI.matches(poi)) + .map(this::listDynamicPOI) + .filter(Objects::nonNull) .flatMapToInt(Arrays::stream) + .toArray(); + + return IntStream.concat(Arrays.stream(multiblock.getPointsOfInterest(poi)), Arrays.stream(dynamicPOIs)) .distinct() .sorted() .toArray(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/util/MultiblockPOI.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/util/MultiblockPOI.java index 8078ca584..3875a28e3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/util/MultiblockPOI.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/util/MultiblockPOI.java @@ -1,6 +1,9 @@ package pl.pabilo8.immersiveintelligence.common.util.multiblock.util; +import lombok.Getter; + import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.util.ArrayList; import java.util.List; @@ -8,6 +11,7 @@ * Represents common multiblock Points-of-Interest types * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 09.08.2026 * @since 26.10.2023 */ public enum MultiblockPOI @@ -64,17 +68,23 @@ public enum MultiblockPOI MISC_CRATE, MISC_WEAPON; + @Getter + @Nullable + private final MultiblockPOI parent; + @Getter private final List children; MultiblockPOI() { - children = new ArrayList<>(); + this.parent = null; + this.children = new ArrayList<>(); } @SuppressWarnings("IncompleteCopyConstructor") MultiblockPOI(@Nonnull MultiblockPOI parent) { - this(); + this.parent = parent; + this.children = new ArrayList<>(); parent.children.add(this); } @@ -87,10 +97,31 @@ public boolean hasChildren() } /** - * @return all children of this Point-of-Interest + * Checks if this Point-of-Interest is a parent of another type. + * + * @param poi type to check + * @return true if this type is an ancestor of the specified type + */ + public boolean isParentOf(@Nonnull MultiblockPOI poi) + { + MultiblockPOI current = poi.parent; + while(current!=null) + { + if(current==this) + return true; + current = current.parent; + } + return false; + } + + /** + * Checks if a declared POI type can satisfy a query for another type. + * + * @param poi queried type + * @return true if the types are equal or one is a parent of the other */ - public List getChildren() + public boolean matches(@Nonnull MultiblockPOI poi) { - return children; + return this==poi||isParentOf(poi)||poi.isParentOf(this); } } diff --git a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/radio_station.json b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/radio_station.json index c1760dfe6..c89aa2c58 100644 --- a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/radio_station.json +++ b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/radio_station.json @@ -211,5 +211,8 @@ "energy": 7, "data": 9, "radio_center": 67 + }, + "rotations": { + "data": "clockwise_180" } } \ No newline at end of file diff --git a/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java b/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java new file mode 100644 index 000000000..027aac90a --- /dev/null +++ b/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java @@ -0,0 +1,131 @@ +package pl.pabilo8.immersiveintelligence.common.util.multiblock; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import org.junit.jupiter.api.Test; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Tests typed POI storage and hierarchy resolution in multiblock definitions. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 09.08.2026 + */ +class MultiblockStuctureBaseTest +{ + @Test + void testParentPOIAppliesToChildren() + { + TestMultiblock multiblock = new TestMultiblock(); + multiblock.definePOI(MultiblockPOI.DATA, 6); + + assertArrayEquals(new int[]{6}, multiblock.getPointsOfInterest(MultiblockPOI.DATA)); + assertArrayEquals(new int[]{6}, multiblock.getPointsOfInterest(MultiblockPOI.DATA_INPUT)); + assertArrayEquals(new int[]{6}, multiblock.getPointsOfInterest(MultiblockPOI.DATA_OUTPUT)); + } + + @Test + void testChildPOIAppliesToParentButNotSibling() + { + TestMultiblock multiblock = new TestMultiblock(); + multiblock.definePOI(MultiblockPOI.DATA_INPUT, 3); + + assertArrayEquals(new int[]{3}, multiblock.getPointsOfInterest(MultiblockPOI.DATA)); + assertArrayEquals(new int[]{3}, multiblock.getPointsOfInterest(MultiblockPOI.DATA_INPUT)); + assertArrayEquals(new int[0], multiblock.getPointsOfInterest(MultiblockPOI.DATA_OUTPUT)); + } + + @Test + void testResolvedPOIsAreSortedAndDistinct() + { + TestMultiblock multiblock = new TestMultiblock(); + multiblock.definePOI(MultiblockPOI.DATA, 8, 2, 8); + multiblock.definePOI(MultiblockPOI.DATA_INPUT, 5, 2); + + assertArrayEquals(new int[]{2, 5, 8}, multiblock.getPointsOfInterest(MultiblockPOI.DATA)); + assertArrayEquals(new int[]{2, 5, 8}, multiblock.getPointsOfInterest(MultiblockPOI.DATA_INPUT)); + assertArrayEquals(new int[]{2, 8}, multiblock.getPointsOfInterest(MultiblockPOI.DATA_OUTPUT)); + } + + @Test + void testPOIHierarchyMatchesOnlyDirectBranches() + { + assertTrue(MultiblockPOI.DATA.matches(MultiblockPOI.DATA_INPUT)); + assertTrue(MultiblockPOI.DATA_INPUT.matches(MultiblockPOI.DATA)); + assertFalse(MultiblockPOI.DATA_INPUT.matches(MultiblockPOI.DATA_OUTPUT)); + + assertTrue(MultiblockPOI.POWER.matches(MultiblockPOI.ENERGY_INPUT)); + assertFalse(MultiblockPOI.ENERGY_INPUT.matches(MultiblockPOI.ROTARY_INPUT)); + } + + private static class TestMultiblock extends MultiblockStuctureBase + { + private TestMultiblock() + { + super(new ResourceLocation("immersiveintelligence", "poi_test")); + } + + private void definePOI(MultiblockPOI poi, int... positions) + { + addPOIPositions(poi, positions); + } + + @Override + protected BlockIIMultiblock getBlock() + { + return null; + } + + @Override + protected int getMeta() + { + return 0; + } + + @Override + protected TestTile getMBInstance() + { + return new TestTile(this); + } + } + + private static class TestTile extends TileEntityMultiblockIIBase + { + private TestTile(MultiblockStuctureBase multiblock) + { + super(multiblock); + } + + @Override + protected void dummyCleanup() + { + + } + + @Override + protected void onUpdate() + { + + } + + @Override + public boolean isStackValid(int slot, ItemStack stack) + { + return false; + } + + @Override + public int getSlotLimit(int slot) + { + return 0; + } + + @Override + public void doGraphicalUpdates(int slot) + { + + } + } +} diff --git a/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBaseTest.java b/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBaseTest.java new file mode 100644 index 000000000..046ee26a5 --- /dev/null +++ b/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBaseTest.java @@ -0,0 +1,131 @@ +package pl.pabilo8.immersiveintelligence.common.util.multiblock; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import org.junit.jupiter.api.Test; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Tests static and dynamic POI lookup in the II multiblock tile base. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 09.08.2026 + */ +class TileEntityMultiblockIIBaseTest +{ + @Test + void testDynamicPOIsRemainLiveAndRespectHierarchy() + { + TestMultiblock multiblock = new TestMultiblock(); + multiblock.definePOI(MultiblockPOI.DATA, 2); + TestTile tile = new TestTile(multiblock); + tile.dynamicOutputPosition = 7; + + assertArrayEquals(new int[]{2, 7}, tile.getPOI(MultiblockPOI.DATA)); + assertArrayEquals(new int[]{2, 7}, tile.getPOI(MultiblockPOI.DATA_OUTPUT)); + assertArrayEquals(new int[]{2}, tile.getPOI(MultiblockPOI.DATA_INPUT)); + + tile.dynamicOutputPosition = 9; + assertArrayEquals(new int[]{2, 9}, tile.getPOI(MultiblockPOI.DATA_OUTPUT)); + } + + @Test + void testIsPOIUsesResolvedParentPoints() + { + TestMultiblock multiblock = new TestMultiblock(); + multiblock.definePOI(MultiblockPOI.DATA, 5); + + TestTile tile = new TestTile(multiblock).at(5); + + assertTrue(tile.isPOI(MultiblockPOI.DATA)); + assertTrue(tile.isPOI(MultiblockPOI.DATA_INPUT)); + assertTrue(tile.isPOI(MultiblockPOI.DATA_OUTPUT)); + } + + private static class TestMultiblock extends MultiblockStuctureBase + { + private TestMultiblock() + { + super(new ResourceLocation("immersiveintelligence", "tile_poi_test")); + } + + private void definePOI(MultiblockPOI poi, int... positions) + { + addPOIPositions(poi, positions); + } + + @Override + protected BlockIIMultiblock getBlock() + { + return null; + } + + @Override + protected int getMeta() + { + return 0; + } + + @Override + protected TestTile getMBInstance() + { + return new TestTile(this); + } + } + + private static class TestTile extends TileEntityMultiblockIIBase + { + private int dynamicOutputPosition = -1; + + private TestTile(MultiblockStuctureBase multiblock) + { + super(multiblock); + } + + private TestTile at(int position) + { + this.pos = position; + return this; + } + + @Override + protected int[] listDynamicPOI(MultiblockPOI poi) + { + return poi==MultiblockPOI.DATA_OUTPUT&&dynamicOutputPosition >= 0? + new int[]{dynamicOutputPosition}: new int[0]; + } + + @Override + protected void dummyCleanup() + { + + } + + @Override + protected void onUpdate() + { + + } + + @Override + public boolean isStackValid(int slot, ItemStack stack) + { + return false; + } + + @Override + public int getSlotLimit(int slot) + { + return 0; + } + + @Override + public void doGraphicalUpdates(int slot) + { + + } + } +} From 7f7c6901fdb6b9c32764951d95ce566062543cff Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Mon, 10 Aug 2026 17:14:07 +0200 Subject: [PATCH 10/23] Initial rework of the Effect Crates, fixed sync and rendering bugs for the Repair Crate. Fixed missing texture errors. --- .../client/gui/block/GuiMedicalCrate.java | 4 +- .../client/gui/deco/util/DecoTextures.java | 2 +- .../entity/weapon/MachinegunRenderer.java | 2 +- .../metal_device/EffectCrateRenderer.java | 45 +- .../metal_device/RepairCrateRenderer.java | 50 +- .../client/util/amt/parts/AMTItem.java | 24 +- .../common/IIConfigHandler.java | 9 - .../TileEntityAmmunitionCrate.java | 122 +++-- .../effect_crate/TileEntityEffectCrate.java | 477 ++++++++---------- .../effect_crate/TileEntityMedicalCrate.java | 218 ++++---- .../effect_crate/TileEntityRepairCrate.java | 148 +++--- .../TileEntityRedstoneDataInterface.java | 41 +- .../item/ammo/grenade/ItemIIAmmoGrenade.java | 24 +- .../common/util/easynbt/SyncNBT.java | 1 + .../common/util/tile/TileEntityIIBase.java | 18 +- .../ammo/artillery_8bcal/shaped_sabot.json | 85 ++++ .../ammo/autocannon_3bcal/filling.json | 5 + .../ammo/grenade_5bcal/filling.json | 5 + .../animations/ammo/gun_4bcal/filling.json | 5 + .../animations/ammo/gun_4bcal/sabot.json | 5 + .../animations/ammo/mg_2bcal/filling.json | 5 + .../animations/ammo/mortar_6bcal/filling.json | 5 + .../ammo/railgun_grenade_4bcal/filling.json | 5 + .../ammo/revolver_1bcal/filling.json | 5 + .../animations/ammo/smg_1bcal/filling.json | 5 + .../animations/ammo/stg_1bcal/filling.json | 5 + .../animations/repair_crate_open.json | 16 + .../effect_crate/repair_crate.obj.amt | 9 +- .../mechanical_pump/mechanical_pump.mtl | 2 +- .../mechanical_pump/mechanical_pump_inv.mtl | 2 +- .../block/motor_belt/motor_belt_cloth.obj.amt | 6 + .../motor_belt/motor_belt_rubber.obj.amt | 6 + .../block/motor_belt/track_steel.obj.amt | 6 + .../emplacement/weapon/autocannon.mtl | 2 - .../models/entity/long_field_gun_grouped.mtl | 4 +- .../models/particle/debris/cloth/cloth.mtl | 2 +- .../models/particle/debris/flesh/flesh.mtl | 2 +- .../particles/block/block_impact.fx.amt | 2 +- .../particles/explosion/shockwave.fx.amt | 2 +- .../mechanical_device/gearbox/wooden.png | Bin 0 -> 1405 bytes .../pump/{mechanical_pump.png => pump.png} | Bin .../gui/deco/label/label_aluminium.png | Bin 0 -> 707 bytes .../gui/deco/label/label_steel_rough.png | Bin 0 -> 707 bytes 43 files changed, 714 insertions(+), 667 deletions(-) create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/artillery_8bcal/shaped_sabot.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/autocannon_3bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/grenade_5bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/sabot.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/mg_2bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/mortar_6bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/railgun_grenade_4bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/revolver_1bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/smg_1bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/ammo/stg_1bcal/filling.json create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_cloth.obj.amt create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_rubber.obj.amt create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/motor_belt/track_steel.obj.amt create mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/gearbox/wooden.png rename src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/pump/{mechanical_pump.png => pump.png} (100%) create mode 100644 src/main/resources/assets/immersiveintelligence/textures/gui/deco/label/label_aluminium.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/gui/deco/label/label_steel_rough.png diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java index ba4b5061a..37a26973a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java @@ -25,9 +25,9 @@ public class GuiMedicalCrate extends DecoTileGui ammoStacks = new ArrayList<>(); for(int i = 38, cc = 0; i < 50&&cc < beltLength; i++) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/EffectCrateRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/EffectCrateRenderer.java index d1b7587a0..3cf049969 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/EffectCrateRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/EffectCrateRenderer.java @@ -7,7 +7,6 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.Vec3d; import net.minecraftforge.client.model.obj.OBJModel; -import pl.pabilo8.immersiveintelligence.api.upgrade.Upgrade; import pl.pabilo8.immersiveintelligence.client.util.amt.AMTUtils; import pl.pabilo8.immersiveintelligence.client.util.amt.animation.IIAnimationCompiledMap; import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTModel; @@ -19,6 +18,8 @@ import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityEffectCrate; import pl.pabilo8.immersiveintelligence.common.util.IIMath; +import javax.annotation.Nonnull; + /** * @author Pabilo8 (pabilo@iiteam.net) * @since 20.07.2022 @@ -31,33 +32,11 @@ public abstract class EffectCrateRenderer exten private AMTUpgradeModel modelUpgrade = null; private AMT partInserter, partLower, partUpper; - public static void renderWithUpgrade(Upgrade... upgrades) - { - GlStateManager.pushMatrix(); - GlStateManager.translate(-0.5, 0, 0.5); - GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f); - - //model.getBlockRotation(EnumFacing.NORTH, false); - - for(Upgrade upgrade : upgrades) - { - if(upgrade==IIContent.UPGRADE_INSERTER) - { - GlStateManager.pushMatrix(); - GlStateManager.popMatrix(); - } - } - - GlStateManager.popMatrix(); - } - @Override public void draw(T te, BufferBuilder buf, float partialTicks, Tessellator tes) { - float progress = Math.min(1.5f, Math.max(te.lidAngle+(te.open?0.2f*partialTicks: -0.3f*partialTicks), 0f))/1.5f; - //apply animation - animationOpen.apply(progress); + animationOpen.apply(te.lid.getProgress(partialTicks)); //apply rotation for block facing GlStateManager.pushMatrix(); @@ -83,22 +62,26 @@ public void draw(T te, BufferBuilder buf, float partialTicks, Tessellator tes) } @Override - public void compileModels(IBlockState state, OBJModel model) + public final void compileModels(IBlockState state, OBJModel model) { - this.model = new AMTModel(state, model); + this.model = getModel(state, model); animationOpen = IIAnimationCompiledMap.create(this.model, getOpenAnimationPath()); - modelUpgrade = new AMTUpgradeModel( - IIContent.UPGRADE_INSERTER, getInserterUpgradePath(), getInserterUpgradeAnimationPath() - ); - + modelUpgrade = new AMTUpgradeModel(IIContent.UPGRADE_INSERTER, + getInserterUpgradePath(), getInserterUpgradeAnimationPath()); partInserter = modelUpgrade.getPart("inserter"); partUpper = modelUpgrade.getPart("upper"); partLower = modelUpgrade.getPart("lower"); } + @Nonnull + protected AMTModel getModel(IBlockState state, OBJModel model) + { + return new AMTModel(state, model); + } + @Override - protected void nullifyModels() + protected final void nullifyModels() { model = AMTUtils.disposeOf(model); modelUpgrade = AMTUtils.disposeOf(modelUpgrade); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/RepairCrateRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/RepairCrateRenderer.java index 02ad120d8..441b20f92 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/RepairCrateRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/RepairCrateRenderer.java @@ -1,21 +1,20 @@ package pl.pabilo8.immersiveintelligence.client.render.metal_device; -import blusunrize.immersiveengineering.client.ClientUtils; import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType; -import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.obj.OBJModel; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.ImmersiveIntelligence; +import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTModel; +import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMT; +import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMTItem; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer.RegisteredTileRenderer; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityRepairCrate; +import javax.annotation.Nonnull; + /** * @author Pabilo8 (pabilo@iiteam.net) * @since 26.05.2019 @@ -27,29 +26,19 @@ public class RepairCrateRenderer extends EffectCrateRenderer 0) - renderWrench(); - - } + //--- EffectCrateRenderer ---// + @Nonnull @Override - public void compileModels(IBlockState state, OBJModel model) + protected AMTModel getModel(IBlockState state, OBJModel model) { - super.compileModels(state, model); - - //wrench item - STACK = new ItemStack(IIContent.itemWrench); + return new AMTModel(state, model, header -> new AMT[]{ + new AMTItem("wrench", header) + .setStack(IIContent.itemWrench.getStack(1)) + }); } - //--- EffectCrateRenderer ---// - @Override public ResourceLocation getOpenAnimationPath() { @@ -68,19 +57,4 @@ public ResourceLocation getInserterUpgradePath() return inserterUpgrade; } - //--- Custom Methods ---// - - //Renders the wrench item - private void renderWrench() - { - GlStateManager.pushMatrix(); - GlStateManager.translate(0.425f, 0.425, 0.5f); - GlStateManager.rotate(180, 0, 1, 0); - GlStateManager.rotate(60, 0, 0, 1); - GlStateManager.rotate(-45, 1, 0, 0); - GlStateManager.rotate(90, 0, 1, 0); - GlStateManager.scale(0.75, 0.75, 0.75); - ClientUtils.mc().getRenderItem().renderItem(STACK, TransformType.FIXED); - GlStateManager.popMatrix(); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTItem.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTItem.java index b76f1e3d9..b75544949 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTItem.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTItem.java @@ -44,6 +44,19 @@ public AMTItem setStacking(boolean drawStacked) return this; } + public AMTItem setStack(ItemStack stack) + { + this.stack = stack; + return this; + } + + public AMTItem setStack(ItemStack stackFrom, ItemStack stackInto) + { + this.stack = stackFrom; + this.stackInto = stackInto; + return this; + } + @Override protected void preDraw() { @@ -183,15 +196,4 @@ protected AMT renamedCopy(String newName) clone.drawStacked = drawStacked; return clone; } - - public void setStack(ItemStack stack) - { - this.stack = stack; - } - - public void setStack(ItemStack stackFrom, ItemStack stackInto) - { - this.stack = stackFrom; - this.stackInto = stackInto; - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java index 9de2bf18b..d7e1dbb39 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java @@ -1629,15 +1629,6 @@ public static class HeavyRailgun public static class Grenade { - @Comment({ - "Changes looks of the grenades", - "0 - new look", - "1 - old look, but cores are colored", - "2 - old look" - }) - @RangeInt(min = 0, max = 2) - public static int classicGrenades = 0; - @Comment({"Grenade's initial speed modifier."}) @RangeDouble(min = 0) public static float throwSpeedModifier = 1.65f; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityAmmunitionCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityAmmunitionCrate.java index 3bc1238bd..95b7001a5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityAmmunitionCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityAmmunitionCrate.java @@ -24,13 +24,14 @@ import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IIPotions; import pl.pabilo8.immersiveintelligence.common.item.ammo.gun.ItemIIAmmoMachinegun; -import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; -import pl.pabilo8.immersiveintelligence.common.network.messages.MessageBooleanAnimatedPartsSync; import static pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.EffectCrates.ammoCrateEnergyPerAction; /** - * @author Pabilo8 (pabilo@iiteam.net) + * Stores ammunition and resupplies living entities or compatible bullet containers. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 10.08.2026 * @since 17.05.2019 */ public class TileEntityAmmunitionCrate extends TileEntityEffectCrate @@ -43,14 +44,13 @@ public class TileEntityAmmunitionCrate extends TileEntityEffectCrate public TileEntityAmmunitionCrate() { - inventory = NonNullList.withSize(50, ItemStack.EMPTY); - insertionHandler = new IEInventoryHandler(50, this); + super(NonNullList.withSize(50, ItemStack.EMPTY), IEInventoryHandler::new); } @Override - public int getGuiID() + public IIGUI getGUI() { - return IIGUI.AMMUNITION_CRATE.ordinal(); + return IIGUI.AMMUNITION_CRATE; } @Override @@ -59,12 +59,11 @@ public boolean isStackValid(int slot, ItemStack stack) if(slot < 20) return stack.getItem() instanceof ItemBullet&&!(stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell)); if(slot < 29) - return stack.getItem() instanceof ItemBullet&&(stack.isItemEqual(BulletHandler.emptyCasing))||stack.isItemEqual(BulletHandler.emptyShell)&&!stack.hasTagCompound(); + return stack.getItem() instanceof ItemBullet&&stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell)&&!stack.hasTagCompound(); if(slot < 37) return stack.getItem() instanceof ItemBullet&&!(stack.equals(BulletHandler.emptyCasing)||stack.equals(BulletHandler.emptyShell)); if(slot==37) return stack.getItem() instanceof ItemRevolver||stack.getItem() instanceof ItemSpeedloader; - return isUpgradeInstalled(IIContent.UPGRADE_MG_LOADER)&&stack.getItem() instanceof ItemIIAmmoMachinegun; } @@ -73,13 +72,13 @@ public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, Ite { if(player.isSneaking()) { - IIPacketHandler.sendToClient(new MessageBooleanAnimatedPartsSync(0, open = !open, this)); + setLidState(!lid.getState()); return true; } - else if(open) + if(lid.getState()) { - reloadRevolver(player, hand); - //affectEntityBasic(player); + if(!world.isRemote) + reloadRevolver(player, hand); return true; } return false; @@ -94,27 +93,28 @@ boolean isSupplied() @Override void useSupplies() { - } @Override boolean affectEntity(Entity entity, boolean upgraded) { - if(!upgraded||(ammoCrateEnergyPerAction <= energyStorage)) - { - boolean healed = false; - if(entity instanceof EntityLivingBase) - if(!((EntityLivingBase)entity).isPotionActive(IIPotions.wellSupplied)) - { - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(IIPotions.wellSupplied, 80, 0, true, true)); - healed = true; - } - if(!upgraded&&healed) - energyStorage -= ammoCrateEnergyPerAction; + if(upgraded&&energyStorage < ammoCrateEnergyPerAction) + return false; - return healed; + boolean supplied = false; + if(entity instanceof EntityLivingBase) + { + EntityLivingBase living = (EntityLivingBase)entity; + if(!living.isPotionActive(IIPotions.wellSupplied)) + { + living.addPotionEffect(new PotionEffect(IIPotions.wellSupplied, 80, 0, true, true)); + supplied = true; + } } - return false; + + if(upgraded&&supplied) + consumeEnergy(ammoCrateEnergyPerAction); + return supplied; } @Override @@ -126,53 +126,45 @@ boolean checkEntity(Entity entity) private void reloadRevolver(EntityPlayer player, EnumHand hand) { ItemStack heldItem = player.getHeldItem(hand); + if(heldItem.isEmpty()||!(heldItem.getItem() instanceof IBulletContainer)) + return; - if(!heldItem.isEmpty()&&heldItem.getItem() instanceof IBulletContainer) - { - if(heldItem.getItem() instanceof ItemRevolver) - ItemNBTHelper.setInt(heldItem, "reload", Math.round(30*Tools.ammunitionCrateResupplyTime)); + if(heldItem.getItem() instanceof ItemRevolver) + ItemNBTHelper.setInt(heldItem, "reload", Math.round(30*Tools.ammunitionCrateResupplyTime)); - IItemHandler bullethandler = heldItem.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + IItemHandler bulletHandler = heldItem.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + if(bulletHandler==null) + return; - if(bullethandler==null) - return; + for(int i = 0; i < 8; i++) + { + ItemStack stack = bulletHandler.extractItem(i, 1, false); + if(stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell)) + for(int j = 20; j < 29&&!stack.isEmpty(); j++) + stack = insertionHandler.insertItem(j, stack, false); + else + for(int j = 0; j < 20&&!stack.isEmpty(); j++) + stack = insertionHandler.insertItem(j, stack, false); + } - for(int i = 0; i < 8; i++) - { - ItemStack s = bullethandler.extractItem(i, 1, false); - if(s.isItemEqual(BulletHandler.emptyCasing)||s.isItemEqual(BulletHandler.emptyShell)) - for(int j = 20; j < 29; j++) - { - s = insertionHandler.insertItem(j, s, false); - if(s.isEmpty()) - break; - } - else - for(int j = 0; j < 20; j++) - { - s = insertionHandler.insertItem(j, s, false); - if(s.isEmpty()) - break; - } - } + for(int slot = 0; slot < 8; slot++) + { + ItemStack required = inventory.get(29+slot); + if(required.isEmpty()) + continue; - for(int j = 0; j < 8; j++) + ItemStack round = ItemStack.EMPTY; + for(int source = 0; source < 20; source++) { - ItemStack required = inventory.get(29+j); - if(!required.isEmpty()) + ItemStack available = insertionHandler.getStackInSlot(source); + if(!available.isEmpty()&&ItemStack.areItemStackTagsEqual(available, required)) { - ItemStack s = ItemStack.EMPTY; - for(int k = 0; k < 20; k++) - if(!insertionHandler.getStackInSlot(k).isEmpty()&&insertionHandler.getStackInSlot(k).getTagCompound().equals(required.getTagCompound())) - { - s = insertionHandler.extractItem(k, 1, false); - break; - } - - bullethandler.insertItem(j, s, false); + round = insertionHandler.extractItem(source, 1, false); + break; } } + bulletHandler.insertItem(slot, round, false); } - + markDirty(); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java index a19922708..ff0f4c911 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java @@ -2,9 +2,11 @@ import blusunrize.immersiveengineering.api.TargetingInfo; import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection; -import blusunrize.immersiveengineering.api.energy.wires.TileEntityImmersiveConnectable; import blusunrize.immersiveengineering.api.energy.wires.WireType; -import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.*; +import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IBlockBounds; +import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IPlayerInteraction; +import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.ITileDrop; +import blusunrize.immersiveengineering.common.util.ItemNBTHelper; import blusunrize.immersiveengineering.common.util.Utils; import blusunrize.immersiveengineering.common.util.inventory.IIEInventory; import com.google.common.collect.Lists; @@ -14,12 +16,13 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.*; -import net.minecraft.util.math.*; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.Vec3i; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentString; -import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.storage.loot.ILootContainer; import net.minecraft.world.storage.loot.LootContext; @@ -28,101 +31,84 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import pl.pabilo8.immersiveintelligence.api.upgrade.IManagedUpgradableDevice; -import pl.pabilo8.immersiveintelligence.api.upgrade.IUpgradableDevice; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeManager; import pl.pabilo8.immersiveintelligence.api.utils.IBooleanAnimatedPartsBlock; import pl.pabilo8.immersiveintelligence.common.IIContent; -import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; -import pl.pabilo8.immersiveintelligence.common.network.messages.MessageBooleanAnimatedPartsSync; -import pl.pabilo8.immersiveintelligence.common.network.messages.MessageIITileSync; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.EntityReference; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.NBTSerialisation; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.entity.IIEntityUtils; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIGuiMultiblockTile; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIInventory; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIDirectional.FacingLimitation; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIDirectional.FacingSettings; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIDirectionalConnectable; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.Collections; import java.util.List; import java.util.Random; +import java.util.function.BiFunction; +import static blusunrize.immersiveengineering.api.energy.wires.WireType.LV_CATEGORY; +import static blusunrize.immersiveengineering.api.energy.wires.WireType.MV_CATEGORY; import static pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.EffectCrates.energyDrain; import static pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.EffectCrates.maxEnergyStored; /** - * @author Pabilo8 (pabilo@iiteam.net) + * Provides shared inventory, upgrade, wire, GUI, and entity-effect logic for effect crates. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 10.08.2026 * @since 06.07.2020 */ -public abstract class TileEntityEffectCrate extends TileEntityImmersiveConnectable implements - IDirectionalTile, IBooleanAnimatedPartsBlock, ITickable, IManagedUpgradableDevice, IPlayerInteraction, - IBlockBounds, IIEInventory, IGuiTile, ITileDrop, IComparatorOverride, ILootContainer +public abstract class TileEntityEffectCrate extends TileEntityIIDirectionalConnectable implements + IBooleanAnimatedPartsBlock, ITickable, IManagedUpgradableDevice, IPlayerInteraction, + IBlockBounds, IIIInventory, IIIGuiMultiblockTile, ITileDrop, ILootContainer { - public ResourceLocation lootTable; - public EnumFacing facing = EnumFacing.NORTH; + private static final FacingSettings FACING_SETTINGS = new FacingSettings(FacingLimitation.HORIZONTAL).withRotation(true); + + @SyncNBT(name = "lootTable") + public String lootTable = ""; + @SyncNBT(nullable = true) public String name; - public boolean open = false; - public float lidAngle = 0; + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) + public MultiblockInteractablePart lid; + @SyncNBT(events = {SyncEvents.TILE_ENERGY_CHANGED, SyncEvents.TILE_GUI_OPENED}) public int energyStorage = 0; - @Nonnull - public IItemHandler insertionHandler; + @SyncNBT(events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_GUI_OPENED}) public UpgradeManager upgradeManager = new UpgradeManager<>(this); - - //Client only - float inserterAnimation = 0f; - float inserterHeight = 0f; - float inserterAngle = 0f; - Entity focusedEntity = null; - + @SyncNBT(events = SyncEvents.TILE_CUSTOM2) + public EntityReference focusedEntity; + @SyncNBT(events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_DROP_AS_ITEM}) + public NonNullList inventory; @Nonnull - NonNullList inventory; - - @Override - public EnumFacing getFacing() - { - return facing; - } - - @Override - public void setFacing(EnumFacing facing) - { - this.facing = facing; - if(facing.getAxis().isVertical()) - this.facing = EnumFacing.NORTH; - } - - @Override - public int getFacingLimitation() - { - return 2; - } + public IItemHandler insertionHandler; - @Override - public boolean mirrorFacingOnPlacement(EntityLivingBase placer) - { - return false; - } + //Client animation + float inserterAnimation = 0f, inserterHeight = 0f, inserterAngle = 0f; - @Override - public boolean canHammerRotate(EnumFacing side, float hitX, float hitY, float hitZ, EntityLivingBase entity) + protected TileEntityEffectCrate(NonNullList inventory, BiFunction insertionHandler) { - return !entity.isSneaking(); + this.inventory = inventory; + this.insertionHandler = insertionHandler.apply(inventory.size(), this); + this.lid = new MultiblockInteractablePart(0, 7.5f, 1.5f); + this.focusedEntity = new EntityReference<>(this::getWorld); } - @Override - public boolean canRotate(EnumFacing axis) - { - return !axis.getAxis().isVertical(); - } + //--- Facing ---// + @Nonnull @Override - @Nullable - public ITextComponent getDisplayName() + protected FacingSettings getFacingSettings() { - return name!=null?new TextComponentString(name): null; + return FACING_SETTINGS; } - @Override - public int getSlotLimit(int slot) - { - return 64; - } + //--- Inventory and drops ---// @Override public NonNullList getInventory() @@ -130,34 +116,32 @@ public NonNullList getInventory() return inventory; } - @Override - public void doGraphicalUpdates(int slot) - { - this.markDirty(); - } - @Override public ItemStack getTileDrop(EntityPlayer player, IBlockState state) { ItemStack stack = new ItemStack(state.getBlock(), 1, state.getBlock().getMetaFromState(state)); - NBTTagCompound tag = new NBTTagCompound(); - tag.setTag("inventory", Utils.writeInventory(inventory)); - if(!tag.hasNoTags()) - stack.setTagCompound(tag); - if(this.name!=null) - stack.setStackDisplayName(this.name); + NBTTagCompound nbt = new NBTTagCompound(); + //noinspection unchecked + NBTSerialisation.synchroniseFor(this, (tag, tile) -> + tag.serializeForEvent(tile, nbt, SyncEvents.TILE_DROP_AS_ITEM)); + if(!nbt.hasNoTags()) + stack.setTagCompound(nbt); + if(name!=null) + stack.setStackDisplayName(name); return stack; } @Override public void readOnPlacement(EntityLivingBase placer, ItemStack stack) { - if(stack.hasTagCompound()) - { - readCustomNBT(stack.getTagCompound(), false); - if(stack.hasDisplayName()) - this.name = stack.getDisplayName(); - } + //Read NBT + NBTTagCompound nbt = ItemNBTHelper.getTag(stack); + //noinspection unchecked + NBTSerialisation.synchroniseFor(this, (tag, entity) -> tag.deserializeAll(this, nbt, true)); + + //Set display name + if(stack.hasDisplayName()) + name = stack.getDisplayName(); } @Override @@ -166,81 +150,22 @@ public boolean preventInventoryDrop() return true; } - @Override - public void readCustomNBT(NBTTagCompound nbt, boolean descPacket) - { - if(nbt.hasKey("name")) - this.name = nbt.getString("name"); - if(nbt.hasKey("open")) - open = nbt.getBoolean("open"); - if(nbt.hasKey("facing")) - setFacing(EnumFacing.getFront(nbt.getInteger("facing"))); - if(nbt.hasKey("upgrades")) - upgradeManager.deserializeNBT(nbt.getCompoundTag("upgrades")); - - energyStorage = nbt.getInteger("energyStorage"); - if(!descPacket) - { - if(nbt.hasKey("lootTable", 8)) - this.lootTable = new ResourceLocation(nbt.getString("lootTable")); - else - inventory = Utils.readInventory(nbt.getTagList("inventory", 10), inventory.size()); - } - - } - - @Override - public void writeCustomNBT(NBTTagCompound nbt, boolean descPacket) - { - if(name!=null) - nbt.setString("name", name); - nbt.setBoolean("open", open); - nbt.setInteger("facing", facing.getIndex()); - nbt.setInteger("energyStorage", energyStorage); - nbt.setTag("upgrades", upgradeManager.serializeNBT()); - if(!descPacket) - { - if(lootTable!=null) - nbt.setString("lootTable", lootTable.toString()); - else - nbt.setTag("inventory", Utils.writeInventory(inventory)); - } - } - - @Override - public void onAnimationChangeClient(boolean state, int part) - { - open = state; - } + //--- Display ---// + @Nullable @Override - public void onAnimationChangeServer(boolean state, int part) + public ITextComponent getDisplayName() { - open = state; + return name!=null?new TextComponentString(name): null; } - @Override - public void receiveMessageFromServer(NBTTagCompound message) - { - if(message.hasKey("upgrades")) - upgradeManager.deserializeNBT(message.getCompoundTag("upgrades")); - if(message.hasKey("focused")) - focusedEntity = world.getEntityByID(message.getInteger("focused")); - else - focusedEntity = null; - } + //--- Tick logic ---// @Override public void update() { - updateLid(); - if(focusedEntity!=null) - { - focusedEntity = null; - IIPacketHandler.sendToClient(this, new MessageIITileSync(this, makeSyncEntity())); - } + lid.update(); - //TODO: 23.05.2023 animation if(world.isRemote) { if(energyStorage > 0&&isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) @@ -249,60 +174,57 @@ public void update() inserterHeight = calculateInserterHeight(0); inserterAngle = calculateInserterAngle(0); } + return; } - else if(energyStorage > energyDrain&&isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&isSupplied()&&world.getTotalWorldTime()%getEffectTime()==0) + + if(energyStorage <= energyDrain||!isUpgradeInstalled(IIContent.UPGRADE_INSERTER)||!isSupplied()) { - //get all in range - //effect - List entitiesWithinAABB = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(getPos()).offset(0.5, 0.5, 0.5).grow(getRange())); - entitiesWithinAABB.removeIf(entity -> !checkEntity(entity)); - if(entitiesWithinAABB.size() > 0) - { + setFocusedEntity(null); + return; + } + if(world.getTotalWorldTime()%getEffectTime()!=0) + return; - if(affectEntityUpgraded(entitiesWithinAABB.get(0))) - useSupplies(); - if(!entitiesWithinAABB.contains(focusedEntity)) - { - focusedEntity = entitiesWithinAABB.get(0); - inserterAnimation = 0f; - inserterHeight = 0f; - IIPacketHandler.sendToClient(this, new MessageIITileSync(this, makeSyncEntity())); - } - } - else if(focusedEntity!=null) - { - focusedEntity = null; - inserterAnimation = 0f; - inserterHeight = 0f; - IIPacketHandler.sendToClient(this, new MessageIITileSync(this, makeSyncEntity())); - } + List entities = world.getEntitiesWithinAABB(Entity.class, + new AxisAlignedBB(getPos()).offset(0.5, 0.5, 0.5).grow(getRange())); + entities.removeIf(entity -> !checkEntity(entity)); + + if(entities.isEmpty()) + { + setFocusedEntity(null); + return; } + + Entity target = entities.get(0); + setFocusedEntity(target); + if(affectEntityUpgraded(target)) + useSupplies(); } public float calculateInserterAnimation(float partialTicks) { - if(focusedEntity!=null) + Entity focused = focusedEntity.get(); + if(focused!=null) return Math.min(inserterAnimation+(0.05f*(1+partialTicks)), 1f); - else - return Math.max(inserterAnimation-(0.025f*(1+partialTicks)), 0f); + return Math.max(inserterAnimation-(0.025f*(1+partialTicks)), 0f); } public float calculateInserterHeight(float partialTicks) { - if(focusedEntity!=null) - return MathHelper.clamp((float)(pos.getY()+1.35f-focusedEntity.posY-(partialTicks*focusedEntity.motionY)), -1f, 1f); - else - return Math.signum(inserterHeight)*Math.abs(inserterHeight-(0.1f*(1+partialTicks))); + Entity focused = focusedEntity.get(); + if(focused!=null) + return MathHelper.clamp((float)(pos.getY()+1.35f-focused.posY-(partialTicks*focused.motionY)), -1f, 1f); + return Math.signum(inserterHeight)*Math.abs(inserterHeight-(0.1f*(1+partialTicks))); } public float calculateInserterAngle(float partialTicks) { - if(focusedEntity!=null) + Entity focused = focusedEntity.get(); + if(focused!=null) { - //Subtracts two vector and calculates angle (in degrees) using atan - Vec3d vec3d = IIEntityUtils.getEntityCenter(focusedEntity) - .add(new Vec3d(focusedEntity.motionX, 0, focusedEntity.motionZ).scale(partialTicks)) - .subtract(new Vec3d(this.pos)); + Vec3d vec3d = IIEntityUtils.getEntityCenter(focused) + .add(new Vec3d(focused.motionX, 0, focused.motionZ).scale(partialTicks)) + .subtract(new Vec3d(pos)); float yaw; if(vec3d.x < 0&&vec3d.z >= 0) yaw = (float)(Math.atan(Math.abs(vec3d.x/vec3d.z))/Math.PI*180D); @@ -312,53 +234,71 @@ else if(vec3d.x >= 0&&vec3d.z < 0) yaw = (float)(Math.atan(Math.abs(vec3d.x/vec3d.z))/Math.PI*180D)+180; else yaw = (float)(Math.atan(Math.abs(vec3d.z/vec3d.x))/Math.PI*180D)+270; - // TODO: 04.10.2020 calculates nearest path (+/-) to angle, and goes toward - //float angle = inserterAngle; - return yaw; } return inserterAngle; } - protected NBTTagCompound makeSyncEntity() + protected void setFocusedEntity(@Nullable Entity entity) { - NBTTagCompound tag = new NBTTagCompound(); - if(focusedEntity!=null) - tag.setInteger("focused", focusedEntity.getEntityId()); - else - tag.setBoolean("hasNoFocus", true); - return tag; + if(focusedEntity.get()==entity) + return; + focusedEntity.set(entity); + if(world!=null&&!world.isRemote) + updateTileForEvent(SyncEvents.TILE_CUSTOM2); } + //--- Interaction and animation state ---// + @Override public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, ItemStack heldItem, float hitX, float hitY, float hitZ) { if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) { - if(open) - IIPacketHandler.sendToClient(new MessageBooleanAnimatedPartsSync(0, open = false, this)); - + if(lid.getState()) + setLidState(false); return false; } if(player.isSneaking()) { - open = !open; - IIPacketHandler.sendToClient(new MessageBooleanAnimatedPartsSync(0, open, this)); + setLidState(!lid.getState()); return true; } - else if(open&&isSupplied()) + if(lid.getState()&&isSupplied()) { - affectEntityBasic(player); - useSupplies(); + if(!world.isRemote&&affectEntityBasic(player)) + useSupplies(); return true; } - return false; } + protected void setLidState(boolean state) + { + if(!lid.setState(state)) + return; + if(world!=null&&!world.isRemote) + updateTileForEvent(SyncEvents.TILE_CUSTOM1); + } + @Override - public IUpgradableDevice master() + public void onAnimationChangeClient(boolean state, int part) + { + MultiblockInteractablePart.setStates(state, part, lid); + } + + @Override + public void onAnimationChangeServer(boolean state, int part) + { + if(MultiblockInteractablePart.setStates(state, part, lid)!=null) + updateTileForEvent(SyncEvents.TILE_CUSTOM1); + } + + //--- Upgrades ---// + + @Override + public TileEntityEffectCrate master() { return this; } @@ -370,16 +310,19 @@ public UpgradeManager getUpgradeManager() return upgradeManager; } + //--- Wire system ---// + @Override - protected boolean canTakeLV() + public boolean acceptsWireType(WireType wireType) { - return true; + String category = wireType.getCategory(); + return MV_CATEGORY.equals(category)||LV_CATEGORY.equals(category); } @Override - protected boolean canTakeMV() + public boolean isRelay() { - return true; + return false; } @Override @@ -397,17 +340,18 @@ public boolean canConnectCable(WireType cableType, TargetingInfo target, Vec3i o @Override public int outputEnergy(int amount, boolean simulate, int energyType) { - if(amount > 0&&energyStorage < maxEnergyStored) + if(amount <= 0||energyStorage >= maxEnergyStored) + return 0; + + int received = Math.min(maxEnergyStored-energyStorage, energyDrain); + if(!simulate) { - if(!simulate) - { - int rec = Math.min(maxEnergyStored-energyStorage, energyDrain); - energyStorage += rec; - return rec; - } - return Math.min(maxEnergyStored-energyStorage, energyDrain); + boolean wasEmpty = energyStorage==0; + energyStorage += received; + if(wasEmpty) + updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); } - return 0; + return received; } @Override @@ -416,13 +360,7 @@ public Vec3d getConnectionOffset(Connection con) return new Vec3d(0.5, 0.9375, 0.5); } - private void updateLid() - { - if(open&&lidAngle < 1.5f) - lidAngle = Math.min(lidAngle+0.2f, 1.5f); - else if(!open&&lidAngle > 0f) - lidAngle = Math.max(lidAngle-0.3f, 0f); - } + //--- Effect hooks ---// abstract boolean isSupplied(); @@ -452,6 +390,15 @@ private boolean affectEntityBasic(Entity entity) abstract boolean checkEntity(Entity entity); + protected void consumeEnergy(int amount) + { + energyStorage = Math.max(0, energyStorage-amount); + if(world!=null&&!world.isRemote) + updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); + } + + //--- Block and GUI ---// + @Nonnull @Override public float[] getBlockBounds() @@ -460,90 +407,70 @@ public float[] getBlockBounds() return new float[]{0f, 0f, 0f, 1f, 0.8125f, 1f}; if(facing==EnumFacing.NORTH||facing==EnumFacing.SOUTH) return new float[]{0f, 0f, .25f, 1f, .58f, .75f}; - return new float[]{.25f, 0f, 0f, .75f, .58f, 1f}; } - @Override - public int getComparatorInputOverride() - { - return Utils.calcRedstoneFromInventory(this); - } - @Override public boolean canOpenGui() { - return !open; - } - - @Override - public TileEntity getGuiMaster() - { - return this; + return !lid.getState(); } @Override public void onGuiOpened(@Nullable EntityPlayer player, boolean clientside) { - if(this.lootTable!=null&&!clientside) + ResourceLocation lootTableLocation = getLootTable(); + if(lootTableLocation!=null&&!clientside) { - LootTable loottable = this.world.getLootTableManager().getLootTableFromLocation(this.lootTable); - this.lootTable = null; - LootContext.Builder contextBuilder = new LootContext.Builder((WorldServer)this.world); + LootTable table = world.getLootTableManager().getLootTableFromLocation(lootTableLocation); + lootTable = ""; + LootContext.Builder contextBuilder = new LootContext.Builder((WorldServer)world); if(player!=null) contextBuilder.withLuck(player.getLuck()); LootContext context = contextBuilder.build(); - Random rand = new Random(); + Random random = new Random(); - List list = loottable.generateLootForPools(rand, context); - List listSlots = Lists.newArrayList(); + List loot = table.generateLootForPools(random, context); + List freeSlots = Lists.newArrayList(); for(int i = 0; i < inventory.size(); i++) if(inventory.get(i).isEmpty()) - listSlots.add(i); - Collections.shuffle(listSlots, rand); - if(listSlots.isEmpty()) - return; - Utils.shuffleLootItems(list, listSlots.size(), rand); - for(ItemStack itemstack : list) + freeSlots.add(i); + Collections.shuffle(freeSlots, random); + if(!freeSlots.isEmpty()) { - int slot = listSlots.remove(listSlots.size()-1); - inventory.set(slot, itemstack); + Utils.shuffleLootItems(loot, freeSlots.size(), random); + for(ItemStack stack : loot) + inventory.set(freeSlots.remove(freeSlots.size()-1), stack); } - this.markDirty(); } + + if(!clientside) + updateTileForEvent(SyncEvents.TILE_GUI_OPENED); } + //--- Capabilities ---// + @Override - public boolean hasCapability(Capability capability, EnumFacing facing) + public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) { - if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) - return true; - return super.hasCapability(capability, facing); + return capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY||super.hasCapability(capability, facing); } @Override - public T getCapability(Capability capability, EnumFacing facing) + @SuppressWarnings("unchecked") + public T getCapability(Capability capability, @Nullable EnumFacing facing) { if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return (T)insertionHandler; return super.getCapability(capability, facing); } - @Override - public ResourceLocation getLootTable() - { - return this.lootTable; - } - - @Override - public BlockPos getIIPos() - { - return getPos(); - } + //--- Loot container and upgrade context ---// @Override - public World getIIWorld() + @Nullable + public ResourceLocation getLootTable() { - return getWorld(); + return lootTable.isEmpty()?null: new ResourceLocation(lootTable); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java index 6d1506889..8c080d7df 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java @@ -1,13 +1,9 @@ package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate; import blusunrize.immersiveengineering.common.IEContent; -import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.ITileDrop; -import blusunrize.immersiveengineering.common.util.ItemNBTHelper; import blusunrize.immersiveengineering.common.util.inventory.IEInventoryHandler; -import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -28,18 +24,22 @@ import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IIPotions; import pl.pabilo8.immersiveintelligence.common.IIUtils; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; -import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.function.Predicate; import static pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.EffectCrates.*; /** - * @author Pabilo8 (pabilo@iiteam.net) + * Stores medical fluids and applies configured treatment effects to living entities. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 10.08.2026 * @since 06.07.2020 */ -public class TileEntityMedicalCrate extends TileEntityEffectCrate implements ITileDrop +public class TileEntityMedicalCrate extends TileEntityEffectCrate { public static final Predicate HEALTH_POTION = resource -> resource.getFluid()==IEContent.fluidPotion&&resource.tag!=null&&resource.tag.getString("Potion").equals("minecraft:regeneration"); public static final Predicate BOOST_POTION = resource -> resource.getFluid()==IEContent.fluidPotion&&resource.tag!=null&&resource.tag.getString("Potion").equals("minecraft:absorption"); @@ -51,127 +51,104 @@ public class TileEntityMedicalCrate extends TileEntityEffectCrate implements ITi .withUpgrade(IIContent.UPGRADE_INSERTER, UpgradeTier.TIER_1); } - public FluidTank[] tanks = new FluidTank[]{ - new FluidTank(mediCrateTankSize), - new FluidTank(mediCrateTankSize) - }; + @SyncNBT(name = "tank", events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_DROP_AS_ITEM}) + public FluidTank healthTank = new FluidTank(mediCrateTankSize); + @SyncNBT(name = "potion_tank", events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_DROP_AS_ITEM}) + public FluidTank boostTank = new FluidTank(mediCrateTankSize); + public FluidTank[] tanks = {healthTank, boostTank}; + @SyncNBT(name = "shouldHeal", events = SyncEvents.TILE_CUSTOM1) public boolean shouldHeal = true; + @SyncNBT(name = "shouldBoost", events = SyncEvents.TILE_CUSTOM1) public boolean shouldBoost = true; - FluidWrapper fluidWrapper = new FluidWrapper(this); - public TileEntityMedicalCrate() - { - inventory = NonNullList.withSize(4, ItemStack.EMPTY); - insertionHandler = new IEInventoryHandler(4, this); - } - - @Override - @Nonnull - public ItemStack getTileDrop(EntityPlayer player, @Nonnull IBlockState state) - { - ItemStack tileDrop = super.getTileDrop(player, state); - ItemNBTHelper.setTagCompound(tileDrop, "tank", tanks[0].writeToNBT(new NBTTagCompound())); - ItemNBTHelper.setTagCompound(tileDrop, "potion_tank", tanks[1].writeToNBT(new NBTTagCompound())); - return tileDrop; - - } + private final FluidWrapper fluidWrapper = new FluidWrapper(this); - @Override - public void readCustomNBT(NBTTagCompound nbt, boolean descPacket) + public TileEntityMedicalCrate() { - super.readCustomNBT(nbt, descPacket); - if(!descPacket) - tanks[0].readFromNBT(nbt.getCompoundTag("tank")); - tanks[1].readFromNBT(nbt.getCompoundTag("potion_tank")); - shouldHeal = nbt.getBoolean("shouldHeal"); - shouldBoost = nbt.getBoolean("shouldBoost"); + super(NonNullList.withSize(4, ItemStack.EMPTY), IEInventoryHandler::new); } @Override - public void writeCustomNBT(NBTTagCompound nbt, boolean descPacket) + public IIGUI getGUI() { - super.writeCustomNBT(nbt, descPacket); - nbt.setTag("tank", tanks[0].writeToNBT(new NBTTagCompound())); - nbt.setTag("potion_tank", tanks[1].writeToNBT(new NBTTagCompound())); - nbt.setBoolean("shouldHeal", shouldHeal); - nbt.setBoolean("shouldBoost", shouldBoost); + return IIGUI.MEDIC_CRATE; } @Override boolean isSupplied() { - return (shouldHeal&&tanks[0].getFluidAmount() >= mediCrateFluidDrain)||(shouldBoost&&tanks[1].getFluidAmount() >= mediCrateFluidDrain); + return shouldHeal&&healthTank.getFluidAmount() >= mediCrateFluidDrain|| + shouldBoost&&boostTank.getFluidAmount() >= mediCrateFluidDrain; } @Override void useSupplies() { - } @Override public void update() { super.update(); - boolean u = IIUtils.handleBucketTankInteraction(tanks, inventory, 0, 1, 0, false, HEALTH_POTION); - if(tanks[1].getFluidAmount() < tanks[1].getCapacity()-200&&BOOST_POTION_ITEM.test(inventory.get(2))) + if(world.isRemote) + return; + + boolean changed = IIUtils.handleBucketTankInteraction(tanks, inventory, 0, 1, 0, false, HEALTH_POTION); + if(boostTank.getFluidAmount() < boostTank.getCapacity()-200&&BOOST_POTION_ITEM.test(inventory.get(2))) { NBTTagCompound potionNBT = new NBTTagCompound(); potionNBT.setString("Potion", "minecraft:absorption"); - if(tanks[1].fill(new FluidStack(IEContent.fluidPotion, 250, potionNBT), true) > 0) + if(boostTank.fill(new FluidStack(IEContent.fluidPotion, 250, potionNBT), true) > 0) + { inventory.get(2).shrink(1); - u = true; - } - if(u) - { - this.markContainingBlockForUpdate(null); - doGraphicalUpdates(0); + changed = true; + } } + + if(changed) + updateTileForEvent(SyncEvents.TILE_GUI_OPENED); } @Override boolean affectEntity(Entity entity, boolean upgraded) { - if(!upgraded||(repairCrateEnergyPerAction <= energyStorage)) + if(upgraded&&energyStorage < mediCrateEnergyPerAction||!(entity instanceof EntityLivingBase)) + return false; + + EntityLivingBase living = (EntityLivingBase)entity; + if(living.isPotionActive(IIPotions.medicalTreatment)) + return false; + + boolean treated = false; + if(shouldHeal&&healthTank.getFluidAmount() >= mediCrateFluidDrain) { - boolean healed = false; - if(entity instanceof EntityLivingBase) - { - if(!((EntityLivingBase)entity).isPotionActive(IIPotions.medicalTreatment)) - { - if(shouldHeal&&tanks[0].getFluidAmount() >= mediCrateFluidDrain) - { - tanks[0].drain(mediCrateFluidDrain, true); - //upgraded: 10s / 6s effect, non: 20s, 10s effect - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(IIPotions.medicalTreatment, upgraded?200: 400, upgraded?1: 0, true, true)); - } - if(shouldBoost&&tanks[1].getFluidAmount() >= mediCrateFluidDrain) - { - tanks[1].drain(mediCrateFluidDrain, true); - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(IIPotions.ironWill, upgraded?200: 400, upgraded?1: 0, true, true)); - } - - healed = true; - } - } - if(!upgraded&&healed) - energyStorage -= mediCrateEnergyPerAction; - return healed; + healthTank.drain(mediCrateFluidDrain, true); + living.addPotionEffect(new PotionEffect(IIPotions.medicalTreatment, upgraded?200: 400, upgraded?1: 0, true, true)); + treated = true; + } + if(shouldBoost&&boostTank.getFluidAmount() >= mediCrateFluidDrain) + { + boostTank.drain(mediCrateFluidDrain, true); + living.addPotionEffect(new PotionEffect(IIPotions.ironWill, upgraded?200: 400, upgraded?1: 0, true, true)); + treated = true; } - return false; - } - @Override - boolean checkEntity(Entity entity) - { - return entity instanceof EntityLivingBase&& - ((EntityLivingBase)entity).getHealth()!=((EntityLivingBase)entity).getMaxHealth(); + if(treated) + { + if(upgraded) + consumeEnergy(mediCrateEnergyPerAction); + updateTileForEvent(SyncEvents.TILE_GUI_OPENED); + } + return treated; } @Override - public int getGuiID() + boolean checkEntity(Entity entity) { - return IIGUI.MEDIC_CRATE.ordinal(); + if(!(entity instanceof EntityLivingBase)) + return false; + EntityLivingBase living = (EntityLivingBase)entity; + return living.getHealth()!=living.getMaxHealth(); } @Override @@ -181,7 +158,7 @@ public boolean isStackValid(int slot, ItemStack stack) } @Override - public boolean hasCapability(Capability capability, EnumFacing facing) + public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) { if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&facing==this.facing.getOpposite()&&capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) return true; @@ -189,16 +166,17 @@ public boolean hasCapability(Capability capability, EnumFacing facing) } @Override - public T getCapability(Capability capability, EnumFacing facing) + @SuppressWarnings("unchecked") + public T getCapability(Capability capability, @Nullable EnumFacing facing) { if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&facing==this.facing.getOpposite()&&capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) return (T)fluidWrapper; return super.getCapability(capability, facing); } - private boolean canFillTankFrom(int i, FluidStack resource) + private boolean canFillTankFrom(int index, FluidStack resource) { - return i==0?HEALTH_POTION.test(resource): BOOST_POTION.test(resource); + return index==0?HEALTH_POTION.test(resource): BOOST_POTION.test(resource); } @Override @@ -215,17 +193,29 @@ else if(part==2) @Override public void onAnimationChangeServer(boolean state, int part) { + boolean changed; if(part==1) + { + changed = shouldHeal!=state; shouldHeal = state; + } else if(part==2) + { + changed = shouldBoost!=state; shouldBoost = state; + } else + { super.onAnimationChangeServer(state, part); + return; + } + if(changed) + updateTileForEvent(SyncEvents.TILE_CUSTOM1); } public static class FluidWrapper implements IFluidHandler { - final TileEntityMedicalCrate tile; + private final TileEntityMedicalCrate tile; public FluidWrapper(TileEntityMedicalCrate tile) { @@ -235,40 +225,38 @@ public FluidWrapper(TileEntityMedicalCrate tile) @Override public IFluidTankProperties[] getTankProperties() { - IFluidTankProperties[] array = new IFluidTankProperties[2]; + IFluidTankProperties[] properties = new IFluidTankProperties[tile.tanks.length]; for(int i = 0; i < tile.tanks.length; i++) - array[i] = new FluidTankProperties(tile.tanks[i].getFluid(), tile.tanks[i].getCapacity()); - return array; + properties[i] = new FluidTankProperties(tile.tanks[i].getFluid(), tile.tanks[i].getCapacity()); + return properties; } @Override public int fill(FluidStack resource, boolean doFill) { - int fill = -1; + int filled = fillMatching(resource, doFill, true); + if(filled==0) + filled = fillMatching(resource, doFill, false); + if(doFill&&filled > 0&&tile.getWorld()!=null&&!tile.getWorld().isRemote) + tile.updateTileForEvent(SyncEvents.TILE_GUI_OPENED); + return filled; + } + + private int fillMatching(FluidStack resource, boolean doFill, boolean requireSameFluid) + { for(int i = 0; i < tile.tanks.length; i++) { IFluidTank tank = tile.tanks[i]; - if(tank!=null&&tile.canFillTankFrom(i, resource)&&tank.getFluid()!=null&&tank.getFluid().isFluidEqual(resource)) - { - fill = tank.fill(resource, doFill); - if(fill > 0) - break; - } + if(!tile.canFillTankFrom(i, resource)) + continue; + if(requireSameFluid&&(tank.getFluid()==null||!tank.getFluid().isFluidEqual(resource))) + continue; + + int filled = tank.fill(resource, doFill); + if(filled > 0) + return filled; } - if(fill==-1) - for(int i = 0; i < tile.tanks.length; i++) - { - IFluidTank tank = tile.tanks[i]; - if(tank!=null&&this.tile.canFillTankFrom(i, resource)) - { - fill = tank.fill(resource, doFill); - if(fill > 0) - break; - } - } - if(fill > 0) - this.tile.markBlockForUpdate(tile.pos, null); - return Math.max(fill, 0); + return 0; } @Nullable diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java index 89a4017ff..68e58dd8d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java @@ -1,32 +1,37 @@ package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate; -import blusunrize.immersiveengineering.ImmersiveEngineering; -import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.ISoundTile; import blusunrize.immersiveengineering.common.items.IEItemInterfaces.IItemDamageableIE; import blusunrize.immersiveengineering.common.util.Utils; import blusunrize.immersiveengineering.common.util.inventory.IEInventoryHandler; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; import net.minecraft.util.NonNullList; -import net.minecraft.util.SoundCategory; +import net.minecraft.util.math.Vec3d; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeTechTree; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeUtils.UpgradeTier; import pl.pabilo8.immersiveintelligence.api.utils.IEntitySpecialRepairable; +import pl.pabilo8.immersiveintelligence.client.util.carversound.ConditionCompoundSound; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IIPotions; import pl.pabilo8.immersiveintelligence.common.IISounds; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import static pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.EffectCrates.repairCrateEnergyPerAction; /** - * @author Pabilo8 (pabilo@iiteam.net) + * Stores repair materials and repairs supported entities or worn equipment. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 10.08.2026 * @since 06.07.2020 */ -public class TileEntityRepairCrate extends TileEntityEffectCrate implements ISoundTile +public class TileEntityRepairCrate extends TileEntityEffectCrate { static { @@ -34,83 +39,96 @@ public class TileEntityRepairCrate extends TileEntityEffectCrate implements ISou .withUpgrade(IIContent.UPGRADE_INSERTER, UpgradeTier.TIER_1); } - public boolean repaired = false; + @SyncNBT(name = "shouldHeal", events = SyncEvents.TILE_CUSTOM1) public boolean shouldRepairArmor = true; + @SyncNBT(name = "shouldBoost", events = SyncEvents.TILE_CUSTOM1) public boolean shouldRepairVehicles = true; + public boolean repaired = false; + + @SideOnly(Side.CLIENT) + private ConditionCompoundSound weldingSound; public TileEntityRepairCrate() { - inventory = NonNullList.withSize(16, ItemStack.EMPTY); - insertionHandler = new IEInventoryHandler(16, this); + super(NonNullList.withSize(16, ItemStack.EMPTY), IEInventoryHandler::new); + } + + @Override + public IIGUI getGUI() + { + return IIGUI.REPAIR_CRATE; } @Override boolean isSupplied() { - return ((shouldRepairArmor)||(shouldRepairVehicles))&&inventory.stream().anyMatch(stack -> !stack.isEmpty()); + return (shouldRepairArmor||shouldRepairVehicles)&&inventory.stream().anyMatch(stack -> !stack.isEmpty()); } @Override void useSupplies() { - for(ItemStack itemStack : inventory) - if(!itemStack.isEmpty()) + for(ItemStack stack : inventory) + if(!stack.isEmpty()) { - itemStack.shrink(1); + stack.shrink(1); + markDirty(); break; } } @Override - public void readCustomNBT(NBTTagCompound nbt, boolean descPacket) + public void update() { - super.readCustomNBT(nbt, descPacket); - shouldRepairArmor = nbt.getBoolean("shouldHeal"); - shouldRepairVehicles = nbt.getBoolean("shouldBoost"); + super.update(); + if(world.isRemote) + updateSound(); } - @Override - public void writeCustomNBT(NBTTagCompound nbt, boolean descPacket) + @SideOnly(Side.CLIENT) + private void updateSound() { - super.writeCustomNBT(nbt, descPacket); - nbt.setBoolean("shouldHeal", shouldRepairArmor); - nbt.setBoolean("shouldBoost", shouldRepairVehicles); + if(!isWelding()) + return; + if(weldingSound==null||weldingSound.isDonePlaying()) + { + weldingSound = new ConditionCompoundSound<>(IISounds.weldingLoop, + new Vec3d(pos).addVector(0.5, 0.5, 0.5), this, TileEntityRepairCrate::isWelding); + weldingSound.setVolume(0.5f); + } } - @Override - public void update() + private boolean isWelding() { - super.update(); - ImmersiveEngineering.proxy.handleTileSound(IISounds.weldingMid, this, isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&focusedEntity!=null, .5f, 1); + return !tileEntityInvalid&&isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&focusedEntity.get()!=null; } @Override boolean affectEntity(Entity entity, boolean upgraded) { - if(!upgraded||(repairCrateEnergyPerAction <= energyStorage)) + if(upgraded&&energyStorage < repairCrateEnergyPerAction) + return false; + + repaired = false; + if(entity instanceof IEntitySpecialRepairable) { - repaired = false; - if(entity instanceof IEntitySpecialRepairable) - { - IEntitySpecialRepairable repairable = (IEntitySpecialRepairable)entity; - if(repairable.canRepair()) - repaired = repairable.repair(2); - } - else if(entity instanceof EntityLivingBase) - { - if(!((EntityLivingBase)entity).isPotionActive(IIPotions.undergoingRepairs)) - { - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(IIPotions.undergoingRepairs, upgraded?200: 400, upgraded?1: 0, true, true)); - repaired = true; - } - } - if(!upgraded&&repaired) + IEntitySpecialRepairable repairable = (IEntitySpecialRepairable)entity; + if(repairable.canRepair()) + repaired = repairable.repair(2); + } + else if(entity instanceof EntityLivingBase) + { + EntityLivingBase living = (EntityLivingBase)entity; + if(!living.isPotionActive(IIPotions.undergoingRepairs)) { - energyStorage -= repairCrateEnergyPerAction; + living.addPotionEffect(new PotionEffect(IIPotions.undergoingRepairs, upgraded?200: 400, upgraded?1: 0, true, true)); + repaired = true; } - return repaired; } - return false; + + if(upgraded&&repaired) + consumeEnergy(repairCrateEnergyPerAction); + return repaired; } @Override @@ -121,38 +139,26 @@ boolean checkEntity(Entity entity) if(!(entity instanceof EntityLivingBase)) return false; - EntityLivingBase entityLivingBase = (EntityLivingBase)entity; - for(ItemStack stack : entityLivingBase.getEquipmentAndArmor()) + EntityLivingBase living = (EntityLivingBase)entity; + for(ItemStack stack : living.getEquipmentAndArmor()) { if(stack.getItem() instanceof IItemDamageableIE) { IItemDamageableIE item = (IItemDamageableIE)stack.getItem(); return item.getItemDamageIE(stack) < item.getMaxDamageIE(stack); } - else if(stack.isItemDamaged()&&stack.getItem().isRepairable()) + if(stack.isItemDamaged()&&stack.getItem().isRepairable()) return true; } return false; } - @Override - public int getGuiID() - { - return IIGUI.REPAIR_CRATE.ordinal(); - } - @Override public boolean isStackValid(int slot, ItemStack stack) { return Utils.compareToOreName(stack, "plateSteel"); } - @Override - public boolean shoudlPlaySound(String sound) - { - return focusedEntity!=null; - } - @Override public void onAnimationChangeClient(boolean state, int part) { @@ -167,21 +173,23 @@ else if(part==2) @Override public void onAnimationChangeServer(boolean state, int part) { + boolean changed; if(part==1) + { + changed = shouldRepairArmor!=state; shouldRepairArmor = state; + } else if(part==2) + { + changed = shouldRepairVehicles!=state; shouldRepairVehicles = state; + } else - super.onAnimationChangeServer(state, part); - } - - @Override - protected NBTTagCompound makeSyncEntity() - { - if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) { - world.playSound(null, getPos(), focusedEntity!=null?IISounds.weldingStart: IISounds.weldingEnd, SoundCategory.BLOCKS, 1f, 1f); + super.onAnimationChangeServer(state, part); + return; } - return super.makeSyncEntity(); + if(changed) + updateTileForEvent(SyncEvents.TILE_CUSTOM1); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java index c178a5dad..bb32f40b3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java @@ -86,9 +86,9 @@ protected void dummyCleanup() } @Override - public void onChange() + public void onChange() { - + } @Override @@ -114,7 +114,7 @@ public void writeCustomNBT(@Nonnull NBTTagCompound nbt, boolean descPacket) super.writeCustomNBT(nbt, descPacket); try { - if(redstoneOutput != null) + if(redstoneOutput!=null) nbt.setByteArray("redstoneOutput", redstoneOutput); } catch(Exception e) { @@ -128,7 +128,7 @@ protected void onUpdate() { //Go through all redstone Settings and check if there are any Inputs that need to be reset - if (deactivateUnusedSignals) + if(deactivateUnusedSignals) { boolean[] skipReset = new boolean[16]; @@ -138,7 +138,7 @@ protected void onUpdate() } for(int index = 0; index < skipReset.length; index++) { - if (!skipReset[index]) + if(!skipReset[index]) redstoneOutput[index] = 0; } @@ -239,12 +239,12 @@ private void reactToRedstoneChange(byte[] signals) { // Filter duplicate signals from the Restone Network, in particular when the restone network is updating - if (signals != null) + if(signals!=null) { - if (!Arrays.equals(signals, this.recentSignals)) + if(!Arrays.equals(signals, this.recentSignals)) { this.recentSignals = signals; - } + } else { return; @@ -256,10 +256,10 @@ private void reactToRedstoneChange(byte[] signals) for(ConversionSetting setting : dataSettings) { byte value; - if (signals == null) + if(signals==null) { value = redstoneOutput[setting.getColor().getMetadata()]; - } + } else { value = signals[setting.getColor().getMetadata()]; @@ -285,7 +285,8 @@ public World getConnectorWorld() public void updateInput(byte[] signals) { TileEntityRedstoneDataInterface master = master(); - if(master!=null) { + if(master!=null) + { for(int i = 0; i < 16; i += 1) if(signals[i] < master.redstoneOutput[i]) signals[i] = master.redstoneOutput[i]; @@ -306,15 +307,23 @@ public Vec3d getConnectionOffset(Connection con) double x = 0.5; double z = 0.5; - if (direction != null) + if(direction!=null) { // We just make the assumption, that the data connector is always on the opposite side. switch(direction) { - case NORTH: x += mirrored ? 0.125 : -0.125; break; - case SOUTH: x += mirrored ? -0.125 : 0.125;break; - case EAST: z += mirrored ? 0.125 : -0.125;break; - case WEST: z += mirrored ? -0.125 : 0.125;break; + case NORTH: + x += mirrored?0.125: -0.125; + break; + case SOUTH: + x += mirrored?-0.125: 0.125; + break; + case EAST: + z += mirrored?0.125: -0.125; + break; + case WEST: + z += mirrored?-0.125: 0.125; + break; } } return new Vec3d(x, 0.75f, z); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/grenade/ItemIIAmmoGrenade.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/grenade/ItemIIAmmoGrenade.java index 4c2729784..3f9df879b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/grenade/ItemIIAmmoGrenade.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/grenade/ItemIIAmmoGrenade.java @@ -130,26 +130,14 @@ public void registerSprites(TextureMap map) { ApiUtils.getRegisterSprite(map, ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/base"); ApiUtils.getRegisterSprite(map, ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core"); - ApiUtils.getRegisterSprite(map, ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_classic"); ApiUtils.getRegisterSprite(map, ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_disp"); ApiUtils.getRegisterSprite(map, ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/paint"); - ApiUtils.getRegisterSprite(map, ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_disp_classic"); - } - - @Override - @SideOnly(Side.CLIENT) - public int getColourForIEItem(ItemStack stack, int pass) - { - if(pass!=1) - return super.getColourForIEItem(stack, pass); - else - return Grenade.classicGrenades > 1?0xffffffff: super.getColourForIEItem(stack, pass); } @Override public String getModelCacheKey(ItemStack stack) { - return String.format("%s%s_%s%s", stackToSub(stack).getMeta(), NAME, getPaintColor(stack)==null?"no_": "paint_", Grenade.classicGrenades); + return String.format("%s%s_%s", stackToSub(stack).getMeta(), NAME, getPaintColor(stack)==null?"no_": "paint"); } @Override @@ -161,19 +149,13 @@ public List getTextures(ItemStack stack, String key) { case CORE: { - if(Grenade.classicGrenades < 2) - a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core")); - else - a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_classic")); + a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core")); } break; case BULLET: { a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/base")); - if(Grenade.classicGrenades < 2) - a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_disp")); - else - a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_disp_classic")); + a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/core_disp")); if(getPaintColor(stack)!=null) a.add(new ResourceLocation(ImmersiveIntelligence.MODID+":items/bullets/ammo/"+NAME.toLowerCase()+"/paint")); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java index e48850f59..c838b629a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java @@ -44,6 +44,7 @@ enum SyncEvents TILE_OWNERSHIP_MODIFIED, TILE_DAMAGED, TILE_ENERGY_CHANGED, + TILE_DROP_AS_ITEM, TILE_CUSTOM1, TILE_CUSTOM2, diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java index cb0e0e4c1..fe384690d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java @@ -3,9 +3,11 @@ import blusunrize.immersiveengineering.common.blocks.TileEntityIEBase; import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; import pl.pabilo8.immersiveintelligence.common.network.messages.MessageIITileSync; +import pl.pabilo8.immersiveintelligence.common.util.IWorldPosProvider; import pl.pabilo8.immersiveintelligence.common.util.easynbt.NBTSerialisation; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; @@ -17,7 +19,7 @@ * @since 28.06.2026 */ @SuppressWarnings({"unchecked", "unused"}) -public class TileEntityIIBase extends TileEntityIEBase +public class TileEntityIIBase extends TileEntityIEBase implements IWorldPosProvider { //--- NBT ---// @@ -83,4 +85,18 @@ public void onEntityCollision(@Nonnull World world, @Nonnull Entity entity) { super.onEntityCollision(world, entity); } + + //--- IWorldPosProvider ---// + + @Override + public BlockPos getIIPos() + { + return getPos(); + } + + @Override + public World getIIWorld() + { + return getWorld(); + } } diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/artillery_8bcal/shaped_sabot.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/artillery_8bcal/shaped_sabot.json new file mode 100644 index 000000000..123286ba5 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/artillery_8bcal/shaped_sabot.json @@ -0,0 +1,85 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + "core_shaped_sabot_fin1": { + "rotation": [ + { + "time": 0, + "transform": [0, 0, 0] + }, + { + "time": 0.26672, + "transform": [0, 0, 7.5] + }, + { + "time": 0.6, + "transform": [0, 0, 100] + }, + { + "time": 0.86672, + "transform": [0, 0, 90] + } + ] + }, + "core_shaped_sabot_fin2": { + "rotation": [ + { + "time": 0.06672, + "transform": [0, 0, 0] + }, + { + "time": 0.4, + "transform": [0, 0, -7.5] + }, + { + "time": 0.66672, + "transform": [0, 0, -100] + }, + { + "time": 1, + "transform": [0, 0, -90] + } + ] + }, + "core_shaped_sabot_fin3": { + "rotation": [ + { + "time": 0.06672, + "transform": [0, 0, 0] + }, + { + "time": 0.33328, + "transform": [-7.5, 0, 0] + }, + { + "time": 0.6, + "transform": [-100, 0, 0] + }, + { + "time": 0.86672, + "transform": [-90, 0, 0] + } + ] + }, + "core_shaped_sabot_fin4": { + "rotation": [ + { + "time": 0.13328, + "transform": [0, 0, 0] + }, + { + "time": 0.4, + "transform": [7.5, 0, 0] + }, + { + "time": 0.66672, + "transform": [100, 0, 0] + }, + { + "time": 0.93328, + "transform": [90, 0, 0] + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/autocannon_3bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/autocannon_3bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/autocannon_3bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/grenade_5bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/grenade_5bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/grenade_5bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/sabot.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/sabot.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/gun_4bcal/sabot.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/mg_2bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/mg_2bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/mg_2bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/mortar_6bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/mortar_6bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/mortar_6bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/railgun_grenade_4bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/railgun_grenade_4bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/railgun_grenade_4bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/revolver_1bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/revolver_1bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/revolver_1bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/smg_1bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/smg_1bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/smg_1bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/ammo/stg_1bcal/filling.json b/src/main/resources/assets/immersiveintelligence/animations/ammo/stg_1bcal/filling.json new file mode 100644 index 000000000..c4c894b6d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/ammo/stg_1bcal/filling.json @@ -0,0 +1,5 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/repair_crate_open.json b/src/main/resources/assets/immersiveintelligence/animations/repair_crate_open.json index 7882b4ebb..24a681563 100644 --- a/src/main/resources/assets/immersiveintelligence/animations/repair_crate_open.json +++ b/src/main/resources/assets/immersiveintelligence/animations/repair_crate_open.json @@ -12,6 +12,22 @@ "transform": [0, 0, 205] } ] + }, + "wrench": { + "visibility": [ + { + "time": 0, + "visibility": false + }, + { + "time": 0.05, + "visibility": true + }, + { + "time": 1.0, + "visibility": true + } + ] } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate.obj.amt index b39390d9f..28a12fa8f 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate.obj.amt @@ -1,6 +1,13 @@ { "hierarchy": {}, "origins": { - "lid": [0, 8.5, 8] + "lid": [0, 8.5, 8], + "wrench": [7.5, 7.5, 8] + }, + "properties": { + "wrench": { + "rotation": [-65.0, 45.0, 0.0], + "scale": [0.65, 0.65, 0.65] + } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump.mtl b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump.mtl index c46c82dda..dad88b4ed 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump.mtl +++ b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump.mtl @@ -1,4 +1,4 @@ # Made by Pabilo8 in Blockbench 4.2.2 newmtl m_0 -map_Kd immersiveintelligence:blocks/mechanical_device/pump/mechanical_pump +map_Kd immersiveintelligence:blocks/mechanical_device/pump/pump newmtl none \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump_inv.mtl b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump_inv.mtl index befd14560..ba27baa13 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump_inv.mtl +++ b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/mechanical_pump/mechanical_pump_inv.mtl @@ -1,6 +1,6 @@ # Made by Pabilo8 in Blockbench 4.2.2 newmtl m_0 -map_Kd immersiveintelligence:blocks/mechanical_device/pump/mechanical_pump +map_Kd immersiveintelligence:blocks/mechanical_device/pump/pump newmtl m_1 map_Kd immersiveintelligence:blocks/mechanical_device/pump/pump_side_none newmtl m_2 diff --git a/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_cloth.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_cloth.obj.amt new file mode 100644 index 000000000..2f052871c --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_cloth.obj.amt @@ -0,0 +1,6 @@ +{ + "origins": { + "belt": [0, 0, 0] + }, + "hierarchy": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_rubber.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_rubber.obj.amt new file mode 100644 index 000000000..2f052871c --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/motor_belt_rubber.obj.amt @@ -0,0 +1,6 @@ +{ + "origins": { + "belt": [0, 0, 0] + }, + "hierarchy": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/track_steel.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/track_steel.obj.amt new file mode 100644 index 000000000..f01606d9a --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/motor_belt/track_steel.obj.amt @@ -0,0 +1,6 @@ +{ + "origins": { + "track": [0, 0, 0] + }, + "hierarchy": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/emplacement/weapon/autocannon.mtl b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/emplacement/weapon/autocannon.mtl index e4a7f400b..8cb3c4141 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/emplacement/weapon/autocannon.mtl +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/emplacement/weapon/autocannon.mtl @@ -2,8 +2,6 @@ newmtl weapon_autocannon map_Kd immersiveintelligence:blocks/multiblock/fortification/weapon_autocannon -newmtl camera -map_Kd immersiveintelligence:blocks/common/camera newmtl common_copper_cable map_Kd immersiveintelligence:blocks/common/common_copper_cable newmtl inserter diff --git a/src/main/resources/assets/immersiveintelligence/models/entity/long_field_gun_grouped.mtl b/src/main/resources/assets/immersiveintelligence/models/entity/long_field_gun_grouped.mtl index 38832fdcd..edcac7e42 100644 --- a/src/main/resources/assets/immersiveintelligence/models/entity/long_field_gun_grouped.mtl +++ b/src/main/resources/assets/immersiveintelligence/models/entity/long_field_gun_grouped.mtl @@ -9,10 +9,10 @@ map_Kd immersiveintelligence:entity/vehicle/suspension/wheel_20_terrain newmtl hans map_Kd immersiveintelligence:entity/hans newmtl 6bcal_light_howitzer -map_Kd immersiveintelligence:entity/vehicle/6bcal_light_howitzer +map_Kd immersiveintelligence:entity/ammo/6bcal_light_artillery newmtl vehicle_interior map_Kd immersiveintelligence:entity/vehicle/vehicle_interior newmtl long_field_gun -map_Kd immersiveintelligence:entity/vehicle/long_field_gun +map_Kd immersiveintelligence:entity/vehicle/field_gun/long_field_gun newmtl common_copper_cable map_Kd immersiveintelligence:blocks/common/common_copper_cable \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/particle/debris/cloth/cloth.mtl b/src/main/resources/assets/immersiveintelligence/models/particle/debris/cloth/cloth.mtl index 838747a30..f247ad91e 100644 --- a/src/main/resources/assets/immersiveintelligence/models/particle/debris/cloth/cloth.mtl +++ b/src/main/resources/assets/immersiveintelligence/models/particle/debris/cloth/cloth.mtl @@ -1,4 +1,4 @@ # Made by Pabilo8 with Blockbench newmtl cloth_device_cushion -map_Kd immersiveengineering:block/cloth_device_cushion \ No newline at end of file +map_Kd immersiveengineering:blocks/cloth_device_cushion \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/particle/debris/flesh/flesh.mtl b/src/main/resources/assets/immersiveintelligence/models/particle/debris/flesh/flesh.mtl index c034a6ab0..914778a9f 100644 --- a/src/main/resources/assets/immersiveintelligence/models/particle/debris/flesh/flesh.mtl +++ b/src/main/resources/assets/immersiveintelligence/models/particle/debris/flesh/flesh.mtl @@ -1,4 +1,4 @@ # Made by Pabilo8 with Blockbench newmtl slime -map_Kd immersiveintelligence:blocks/slime \ No newline at end of file +map_Kd minecraft:blocks/slime \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/block/block_impact.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/block/block_impact.fx.amt index 4c80567e1..c6a5ccd32 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/block/block_impact.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/block/block_impact.fx.amt @@ -1,6 +1,6 @@ { "type": "ParticleModel", - "model": "block/block_impact.obj", + "model": "ammo/shockwave.obj", "max_lifetime": 40, "draw_stage": "custom", "aabb": 0.0625, diff --git a/src/main/resources/assets/immersiveintelligence/particles/explosion/shockwave.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/explosion/shockwave.fx.amt index c1239d8d0..0f87fe377 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/explosion/shockwave.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/explosion/shockwave.fx.amt @@ -1,6 +1,6 @@ { "type": "ParticleModel", - "models": ["shockwave.obj"], + "models": ["ammo/shockwave.obj"], "max_lifetime": 5, "draw_stage": "custom_additive", "programs": [ diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/gearbox/wooden.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/gearbox/wooden.png new file mode 100644 index 0000000000000000000000000000000000000000..da0276edb92de5df3063cdda36788219a06a1593 GIT binary patch literal 1405 zcmV-@1%mpCP)N9WDaKNTaF^Rn7bSQk8Ovs4lU^?_QXhswg1}fuhb&iC;v)TRBtjRN z57dRK66`msN}ie)4!d0Ba3RtuBp6G~NOhGb@p4F(9es?oWNKAWPj zJDrT>3-LGoemJyuEPut}Kn)2=szh;Znkd>=psl+rvy|FqJO={!aR1s_f6pJh7KLii zo{P_Gz3;5K-axsC-tB&B6FM7Y!>!cb(~7fTvYc^h3R{dwSr*bi--AqJkERUxrxl~ za!JKv^G6a&96H?CD~gN_4Aj^Ae2fj=Fdw{lSZ?7fMWvoIr`0LSqz{`I7`IGp^v5`# z$9Y(3;QWlshn=;&;u^)!6Ky^XQW+2B>un7$YHXw{a>t-kHw z&Dgq&KHsuwpnY82NN6XMwY7GgtR&I7?TXk)7BqJY2NC$Va@_-e+rXj;Qg?SS=t@IL zo$@3p2|ZqRyRCZ{r*pFdrR&d3+DR|M1qA4yMS#nMfmtd(EblloY_D|zaW@UQKvv;$ddy5 z8rTo>J+oI>$3sN&V5{406|7lmA#RSzW6l6q&9Gy}TAmv~`fiiEV$nnp zdFDNsd0TcN79$b#_O4o04Fq2MQJwZ|E~|s|Dx<P|<9y%K~3U`~2&1e%D-LL_tJY zYgJay=OZFO9NpK0XI&mnK}dkuI(NykQ^GkL+9@>hfHyb=KZLJX13T{;hTk1|+PTfz z!#UWj%p1@inaE%}-ty^qciTkBmU z=bEPu_NVBiFt+5^Mca1*2+bhwgtd9h4bcd%00000 LNkvXXu0mjf*k`a1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/pump/mechanical_pump.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/pump/pump.png similarity index 100% rename from src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/pump/mechanical_pump.png rename to src/main/resources/assets/immersiveintelligence/textures/blocks/mechanical_device/pump/pump.png diff --git a/src/main/resources/assets/immersiveintelligence/textures/gui/deco/label/label_aluminium.png b/src/main/resources/assets/immersiveintelligence/textures/gui/deco/label/label_aluminium.png new file mode 100644 index 0000000000000000000000000000000000000000..6f40373ac8a3ff5e29a91e1b92733634311878a9 GIT binary patch literal 707 zcmV;!0zCbRP)Px#1ZP1_K>z@;j|==^1poj7Q%OWYR9HvtRJ)GTP!K(S#rCccETTk0qM(dKL5UX8 z@EiM=Te2k$j|~M%hr|leAfap$KVn~V&RpAgBl>N8l<}R+ojYe{?gKOK8$mxBmdjBWtb9nOj5zfvY-gP88C)eH@aP0VBBRE==4!{3wu;1@d6qT7S-+$BuR;$$* zZd62`Wf{^m#p_ou@ch|RCb2*i1zg;_SzwPa4B$FP8|O$I(iZSzc_|0ZNt(7r+qC$8 z^9xrWzM-lrlw~<4p>-ofp659poSq<#A|#6#agrcOVv7GiNGx0I?Qt9;l!PJIg@~wY zJ`5v76xp+MVX?(Ag(YCs=b1SKbY@)~11@GzRcA8Q*%fY&pw3%oR5i=*Xi#aAIF8sH z#-r`@#K#tgxQ6W>J8=HyEiNuDe6zVgfz9Ixo{L{5A@qYWD(PTqAR=}|?%UnoEaDK? zfH8reH$U+CdSw-83ykClMy}*oyb(>3=(UMV(EDkvIK(wzOkllUA%81ZPdlxtBNfSaSgBpbRz4z=5;CTz-+cVJG~O8Q%u5^W&0$2 zZ`6eWzP{tid!5d@G3uCNi$h%hy#<=oHMwO1b$vjwFKMe$@*Wqvig&u?UKZGG3l{IY zVI85gjtNWJ26fZma5$i*G}ImKo7 zZHZ1cRYS)&L5ZPx#1ZP1_K>z@;j|==^1poj7Q%OWYR9HvtRJ)GTP!K(S#rCccETTk0qM(dKL5UX8 z@EiM=Te2k$j|~M%hr|leAfap$KVn~V&RpAgBl>N8l<}R+ojYe{?gKOK8$mxBmdjBWtb9nOj5zfvY-gP88C)eH@aP0VBBRE==4!{3wu;1@d6qT7S-+$BuR;$$* zZd62`Wf{^m#p_ou@ch|RCb2*i1zg;_SzwPa4B$FP8|O$I(iZSzc_|0ZNt(7r+qC$8 z^9xrWzM-lrlw~<4p>-ofp659poSq<#A|#6#agrcOVv7GiNGx0I?Qt9;l!PJIg@~wY zJ`5v76xp+MVX?(Ag(YCs=b1SKbY@)~11@GzRcA8Q*%fY&pw3%oR5i=*Xi#aAIF8sH z#-r`@#K#tgxQ6W>J8=HyEiNuDe6zVgfz9Ixo{L{5A@qYWD(PTqAR=}|?%UnoEaDK? zfH8reH$U+CdSw-83ykClMy}*oyb(>3=(UMV(EDkvIK(wzOkllUA%81ZPdlxtBNfSaSgBpbRz4z=5;CTz-+cVJG~O8Q%u5^W&0$2 zZ`6eWzP{tid!5d@G3uCNi$h%hy#<=oHMwO1b$vjwFKMe$@*Wqvig&u?UKZGG3l{IY zVI85gjtNWJ26fZma5$i*G}ImKo7 zZHZ1cRYS)&L5Z Date: Tue, 11 Aug 2026 21:49:28 +0200 Subject: [PATCH 11/23] Fixed Advanced Capacitor Backpack charging bug --- .../pl/pabilo8/immersiveintelligence/common/EventHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/EventHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/EventHandler.java index 6b23d42c1..4730eb9da 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/EventHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/EventHandler.java @@ -371,7 +371,7 @@ public void onLivingUpdate(LivingUpdateEvent event) EntityLivingBase living = event.getEntityLiving(); World world = living.world; - if(!world.isRemote||!(living instanceof EntityPlayer)) + if(world.isRemote||!(living instanceof EntityPlayer)) return; EntityPlayer player = (EntityPlayer)living; From f546949c4e685d3e99433ee1646e35ddac5ec5ba Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Wed, 12 Aug 2026 01:17:08 +0200 Subject: [PATCH 12/23] Reworked fluids to use common textures, improved gas cloud texture, added Milk to FluidRegistry --- .../client/IIClientUtils.java | 3 + .../common/CommonProxy.java | 52 +++++++++++++++--- .../common/IIContent.java | 48 ++++++++-------- .../common/util/IIColor.java | 13 +++++ .../blockstates/fluid_block.json | 7 +++ .../particles/smoke/gas_cloud.fx.amt | 2 +- .../textures/blocks/fluid/brine_flow.png | Bin 134402 -> 0 bytes .../blocks/fluid/brine_flow.png.mcmeta | 5 -- .../textures/blocks/fluid/brine_still.png | Bin 34109 -> 0 bytes .../blocks/fluid/brine_still.png.mcmeta | 3 - .../blocks/fluid/carbon_dioxide_flow.png | Bin 10983 -> 0 bytes .../fluid/carbon_dioxide_flow.png.mcmeta | 5 -- .../blocks/fluid/carbon_dioxide_still.png | Bin 6351 -> 0 bytes .../fluid/carbon_dioxide_still.png.mcmeta | 3 - .../blocks/fluid/carbon_monoxide_flow.png | Bin 11398 -> 0 bytes .../fluid/carbon_monoxide_flow.png.mcmeta | 5 -- .../blocks/fluid/carbon_monoxide_still.png | Bin 6476 -> 0 bytes .../textures/blocks/fluid/chlorine_flow.png | Bin 73199 -> 0 bytes .../blocks/fluid/chlorine_flow.png.mcmeta | 5 -- .../textures/blocks/fluid/chlorine_still.png | Bin 22317 -> 0 bytes .../blocks/fluid/chlorine_still.png.mcmeta | 3 - .../blocks/fluid/etching_acid_flow.png | Bin 78462 -> 0 bytes .../blocks/fluid/etching_acid_flow.png.mcmeta | 5 -- .../blocks/fluid/etching_acid_still.png | Bin 24693 -> 0 bytes .../fluid/etching_acid_still.png.mcmeta | 3 - .../textures/blocks/fluid/fluid_flow.png | Bin 0 -> 30811 bytes ...still.png.mcmeta => fluid_flow.png.mcmeta} | 3 +- .../textures/blocks/fluid/fluid_still.png | Bin 0 -> 9712 bytes ...till.png.mcmeta => fluid_still.png.mcmeta} | 2 + .../blocks/fluid/formic_acid_flow.png | Bin 76246 -> 0 bytes .../blocks/fluid/formic_acid_flow.png.mcmeta | 5 -- .../blocks/fluid/formic_acid_still.png | Bin 23796 -> 0 bytes .../blocks/fluid/formic_acid_still.png.mcmeta | 3 - .../textures/blocks/fluid/gas_flow.png | Bin 0 -> 134400 bytes .../textures/blocks/fluid/gas_flow.png.mcmeta | 6 ++ .../textures/blocks/fluid/gas_still.png | Bin 0 -> 18590 bytes ..._still.png.mcmeta => gas_still.png.mcmeta} | 2 + .../blocks/fluid/hydrofluoric_acid_flow.png | Bin 102546 -> 0 bytes .../fluid/hydrofluoric_acid_flow.png.mcmeta | 5 -- .../blocks/fluid/hydrofluoric_acid_still.png | Bin 27428 -> 0 bytes .../fluid/hydrofluoric_acid_still.png.mcmeta | 3 - .../textures/blocks/fluid/hydrogen_flow.png | Bin 68307 -> 0 bytes .../blocks/fluid/hydrogen_flow.png.mcmeta | 5 -- .../textures/blocks/fluid/hydrogen_still.png | Bin 20926 -> 0 bytes .../blocks/fluid/hydrogen_still.png.mcmeta | 3 - .../textures/blocks/fluid/ink_cyan_flow.png | Bin 81833 -> 0 bytes .../blocks/fluid/ink_cyan_flow.png.mcmeta | 5 -- .../textures/blocks/fluid/ink_cyan_still.png | Bin 25137 -> 0 bytes .../textures/blocks/fluid/ink_flow.png | Bin 50894 -> 0 bytes .../textures/blocks/fluid/ink_flow.png.mcmeta | 5 -- .../blocks/fluid/ink_magenta_flow.png | Bin 81006 -> 0 bytes .../blocks/fluid/ink_magenta_flow.png.mcmeta | 5 -- .../blocks/fluid/ink_magenta_still.png | Bin 25278 -> 0 bytes .../textures/blocks/fluid/ink_still.png | Bin 16398 -> 0 bytes .../blocks/fluid/ink_still.png.mcmeta | 4 -- .../textures/blocks/fluid/ink_yellow_flow.png | Bin 82491 -> 0 bytes .../blocks/fluid/ink_yellow_flow.png.mcmeta | 5 -- .../blocks/fluid/ink_yellow_still.png | Bin 25449 -> 0 bytes .../blocks/fluid/ink_yellow_still.png.mcmeta | 3 - .../textures/blocks/fluid/latex_flow.png | Bin 76978 -> 0 bytes .../blocks/fluid/latex_flow.png.mcmeta | 5 -- .../textures/blocks/fluid/latex_still.png | Bin 20025 -> 0 bytes .../blocks/fluid/latex_still.png.mcmeta | 3 - .../blocks/fluid/mustard_gas_flow.png | Bin 111891 -> 0 bytes .../blocks/fluid/mustard_gas_flow.png.mcmeta | 5 -- .../blocks/fluid/mustard_gas_still.png | Bin 29101 -> 0 bytes .../blocks/fluid/mustard_gas_still.png.mcmeta | 3 - .../textures/blocks/fluid/oxygen_flow.png | Bin 75241 -> 0 bytes .../blocks/fluid/oxygen_flow.png.mcmeta | 5 -- .../textures/blocks/fluid/oxygen_still.png | Bin 22126 -> 0 bytes .../blocks/fluid/oxygen_still.png.mcmeta | 3 - .../blocks/fluid/rdx_fluids/ammonia_flow.png | Bin 68839 -> 0 bytes .../fluid/rdx_fluids/ammonia_flow.png.mcmeta | 5 -- .../blocks/fluid/rdx_fluids/ammonia_still.png | Bin 20411 -> 0 bytes .../fluid/rdx_fluids/ammonia_still.png.mcmeta | 3 - .../blocks/fluid/rdx_fluids/hexamine.png | Bin 111053 -> 0 bytes .../fluid/rdx_fluids/hexamine_flow.png.mcmeta | 5 -- .../fluid/rdx_fluids/hexamine_still.png | Bin 28481 -> 0 bytes .../rdx_fluids/hexamine_still.png.mcmeta | 3 - .../blocks/fluid/rdx_fluids/methanol_flow.png | Bin 119416 -> 0 bytes .../fluid/rdx_fluids/methanol_flow.png.mcmeta | 5 -- .../fluid/rdx_fluids/methanol_still.png | Bin 30491 -> 0 bytes .../rdx_fluids/methanol_still.png.mcmeta | 3 - .../fluid/rdx_fluids/nitric_acid_flow.png | Bin 95060 -> 0 bytes .../rdx_fluids/nitric_acid_flow.png.mcmeta | 5 -- .../fluid/rdx_fluids/nitric_acid_still.png | Bin 24610 -> 0 bytes .../rdx_fluids/nitric_acid_still.png.mcmeta | 3 - .../blocks/fluid/sulfuric_acid_flow.png | Bin 118681 -> 0 bytes .../fluid/sulfuric_acid_flow.png.mcmeta | 5 -- .../blocks/fluid/sulfuric_acid_still.png | Bin 30710 -> 0 bytes .../fluid/sulfuric_acid_still.png.mcmeta | 3 - .../textures/particle/gas.png | Bin 7661 -> 287664 bytes 92 files changed, 103 insertions(+), 187 deletions(-) delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png.mcmeta create mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/fluid_flow.png rename src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/{carbon_monoxide_still.png.mcmeta => fluid_flow.png.mcmeta} (86%) create mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/fluid_still.png rename src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/{ink_cyan_still.png.mcmeta => fluid_still.png.mcmeta} (55%) delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png.mcmeta create mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png.mcmeta create mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_still.png rename src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/{ink_magenta_still.png.mcmeta => gas_still.png.mcmeta} (55%) delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_still.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/sulfuric_acid_flow.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/sulfuric_acid_flow.png.mcmeta delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/sulfuric_acid_still.png delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/sulfuric_acid_still.png.mcmeta diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java index 3f1ca2b8b..ef8d635f8 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java @@ -177,6 +177,9 @@ public static IIColor getFluidTextureColor(@Nonnull Fluid fluid) if(CACHED_COLORS.containsKey(fluid)) return CACHED_COLORS.get(fluid); + if(fluid.getColor()!=0xFFFFFFFF) + return IIColor.fromPackedARGB(fluid.getColor()); + InputStream is; BufferedImage image; IIColor color; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java index d24146780..a739a3bef 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java @@ -44,6 +44,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.TextComponentTranslation; +import net.minecraft.util.text.translation.I18n; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; import net.minecraftforge.common.ForgeChunkManager; @@ -51,6 +52,7 @@ import net.minecraftforge.event.RegistryEvent.Register; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; @@ -69,6 +71,7 @@ import pl.pabilo8.immersiveintelligence.api.ammo.AmmoRegistry; import pl.pabilo8.immersiveintelligence.api.ammo.PenetrationRegistry; import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; import pl.pabilo8.immersiveintelligence.api.api.protection.CorrosionHandler; import pl.pabilo8.immersiveintelligence.api.api.protection.capability.ProtectionCapabilities; import pl.pabilo8.immersiveintelligence.api.crafting.DustUtils; @@ -146,6 +149,7 @@ import pl.pabilo8.immersiveintelligence.common.world.IIWorldGenRubberTree; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; @@ -454,24 +458,54 @@ static String[] getAnnotatedOreDict(Object o) return ores; } - public static Fluid makeFluid(String name, int density, int viscosity) + public static Fluid makeFluid(String name, IIColor color, boolean gas, int density, int viscosity) { - return makeFluid(name, density, viscosity, ""); + return makeFluid(name, color, gas, density, viscosity, 0, 300); } - //--- Chunkloading Handling ---// + public static Fluid makeFluid(String name, IIColor color, boolean gas, int density, int viscosity, int luminosity, int temperature) + { + return makeFluid(name, null, color, gas, density, viscosity, luminosity, temperature); + } - public static Fluid makeFluid(String name, int density, int viscosity, String prefix) + public static Fluid makeFluid(String name, @Nullable String localizationKey, IIColor color, boolean gas, int density, int viscosity, int luminosity, int temperature) { - Fluid fl = new Fluid( - name, - new ResourceLocation(ImmersiveIntelligence.MODID+":blocks/fluid/"+prefix+name+"_still"), - new ResourceLocation(ImmersiveIntelligence.MODID+":blocks/fluid/"+prefix+name+"_flow") - ).setDensity(density).setViscosity(viscosity); + ResourceLocation still, flowing; + if(color==IIColor.WHITE) + { + //Non-colored fluids use custom textures + still = new ResourceLocation(ImmersiveIntelligence.MODID+":blocks/fluid/"+name+"_still"); + flowing = new ResourceLocation(ImmersiveIntelligence.MODID+":blocks/fluid/"+name+"_flow"); + } + else + { + //Colored fluids use standard textures + still = new ResourceLocation(ImmersiveIntelligence.MODID+":blocks/fluid/"+(gas?"gas": "fluid")+"_still"); + flowing = new ResourceLocation(ImmersiveIntelligence.MODID+":blocks/fluid/"+(gas?"gas": "fluid")+"_flow"); + } + Fluid fl = new Fluid(name, still, flowing, color.toAWTColor()) + { + @Override + public String getLocalizedName(FluidStack stack) + { + //Apply custom localization (f.e. Milk) + return localizationKey==null?super.getLocalizedName(stack): I18n.translateToLocal(localizationKey); + } + }; + + //Set properties + fl.setDensity(density); + fl.setViscosity(viscosity); + fl.setLuminosity(luminosity); + fl.setTemperature(temperature); + fl.setGaseous(gas); + + //Register fluid FluidRegistry.addBucketForFluid(fl); if(!FluidRegistry.registerFluid(fl)) fl = FluidRegistry.getFluid(fl.getName()); + //Add fluid to creative menu IICreativeTab.fluidBucketMap.add(fl); return fl; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIContent.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIContent.java index eda6a5ada..6307b7f07 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIContent.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIContent.java @@ -75,6 +75,7 @@ import pl.pabilo8.immersiveintelligence.common.item.tools.backpack.ItemIIAdvancedPowerPack; import pl.pabilo8.immersiveintelligence.common.item.weapons.*; import pl.pabilo8.immersiveintelligence.common.util.IBatchOredictRegister; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.advancements.UpgradeTrigger; import pl.pabilo8.immersiveintelligence.common.util.block.BlockIIFluid; import pl.pabilo8.immersiveintelligence.common.util.block.BlockIISlab; @@ -120,9 +121,6 @@ public class IIContent //used by effect crates public static final Upgrade UPGRADE_INSERTER = new Upgrade("inserter") .withType(UpgradePurpose.SPECIAL); - //allows to use belt fed upgrade for mg - public static final Upgrade UPGRADE_MG_LOADER = new Upgrade("mg_loader") - .withType(UpgradePurpose.SPECIAL); //increases machine speed public static final Upgrade UPGRADE_IMPROVED_GEARBOX = new Upgrade("improved_gearbox") @@ -421,31 +419,33 @@ public class IIContent public static Fluid fluidBrine; public static Fluid gasHydrogen, gasOxygen, gasChlorine, gasCO2, gasCO; public static Fluid gasMustardGas; - public static Fluid fluidLatex; + public static Fluid fluidLatex, fluidMilk; //biomes public static BiomeWasteland biomeWasteland = new BiomeWasteland(); static { - IIContent.fluidInkBlack = makeFluid("ink", 6000, 2250); - IIContent.fluidInkCyan = makeFluid("ink_cyan", 6000, 2250); - IIContent.fluidInkMagenta = makeFluid("ink_magenta", 6000, 2250); - IIContent.fluidInkYellow = makeFluid("ink_yellow", 6000, 2250); - IIContent.fluidEtchingAcid = makeFluid("etching_acid", 2900, 1200); - IIContent.fluidSulfuricAcid = makeFluid("sulfuric_acid", 1830, 2670); - IIContent.fluidHydrofluoricAcid = makeFluid("hydrofluoric_acid", 1170, 981); - IIContent.fluidFormicAcid = makeFluid("formic_acid", 1221, 1784); - IIContent.fluidNitricAcid = makeFluid("nitric_acid", 1510, 2500, "rdx_fluids/"); - IIContent.fluidBrine = makeFluid("brine", 1030, 1002); - IIContent.gasHydrogen = makeFluid("hydrogen", -1000+100, 88).setGaseous(true); - IIContent.gasOxygen = makeFluid("oxygen", -1000+200, 204).setGaseous(true); - IIContent.gasCO2 = makeFluid("carbon_dioxide", -1000+100, 147).setGaseous(true); - IIContent.gasCO = makeFluid("carbon_monoxide", -1000+145, 166).setGaseous(true); - IIContent.gasChlorine = makeFluid("chlorine", -1000+100, 132).setGaseous(true); - IIContent.fluidAmmonia = makeFluid("ammonia", 771, 1007, "rdx_fluids/"); - IIContent.fluidMethanol = makeFluid("methanol", 792, 553, "rdx_fluids/"); - IIContent.fluidLatex = makeFluid("latex", 4300, 3500); - IIContent.gasMustardGas = makeFluid("mustard_gas", 127, 340); //heavier than water + IIContent.fluidInkBlack = makeFluid("ink", IIColor.fromHex("282828"), false, 6000, 2250); + IIContent.fluidInkCyan = makeFluid("ink_cyan", IIColor.fromHex("468884"), false, 6000, 2250); + IIContent.fluidInkMagenta = makeFluid("ink_magenta", IIColor.fromHex("6e375e"), false, 6000, 2250); + IIContent.fluidInkYellow = makeFluid("ink_yellow", IIColor.fromHex("777033"), false, 6000, 2250); + IIContent.fluidEtchingAcid = makeFluid("etching_acid", IIColor.fromHex("dd938a29"), false, 2900, 1200); + IIContent.fluidSulfuricAcid = makeFluid("sulfuric_acid", IIColor.fromHex("dd48410f"), false, 1830, 2670); + IIContent.fluidHydrofluoricAcid = makeFluid("hydrofluoric_acid", IIColor.fromHex("dd142929"), false, 1170, 981); + IIContent.fluidFormicAcid = makeFluid("formic_acid", IIColor.fromHex("a3b1b1"), false, 1221, 1784); + IIContent.fluidNitricAcid = makeFluid("nitric_acid", IIColor.fromHex("cbcbc2"), false, 1510, 2500); + IIContent.fluidBrine = makeFluid("brine", IIColor.fromHex("757cbd"), false, 1030, 1002); + IIContent.gasHydrogen = makeFluid("hydrogen", IIColor.fromHex("11eecdcd"), true, -1000+100, 88); + IIContent.gasOxygen = makeFluid("oxygen", IIColor.fromHex("11ffffff"), true, -1000+200, 204); + IIContent.gasCO2 = makeFluid("carbon_dioxide", IIColor.fromHex("22000000"), true, -1000+100, 147); + IIContent.gasCO = makeFluid("carbon_monoxide", IIColor.fromHex("55000000"), true, -1000+145, 166); +// IIContent.fluidHexamine = makeFluid("hexamine", IIColor.fromHex("788d8d"), true, -1000+100, 132); + IIContent.gasChlorine = makeFluid("chlorine", IIColor.fromHex("557b7a72"), true, -1000+100, 132); + IIContent.fluidAmmonia = makeFluid("ammonia", IIColor.fromHex("f0e5d1"), false, 771, 1007); + IIContent.fluidMethanol = makeFluid("methanol", IIColor.fromHex("806d94"), false, 792, 553); + IIContent.fluidLatex = makeFluid("latex", IIColor.fromHex("cccccc"), false, 4300, 3500); + IIContent.gasMustardGas = makeFluid("mustard_gas", IIColor.fromHex("66807551"), true, 127, 340); + IIContent.fluidMilk = makeFluid("milk", "item.milk.name", IIColor.fromHex("ffffff"), false, 1000, 1200, 0, 298); IIContent.blockFluidInkBlack = new BlockIIFluid("ink", IIContent.fluidInkBlack, Material.WATER); IIContent.blockFluidInkCyan = new BlockIIFluid("ink_cyan", IIContent.fluidInkCyan, Material.WATER); @@ -481,7 +481,6 @@ static void init() new ItemStack(IIContent.itemLightEngineerHelmet); } - //TODO: 12.09.2025 rework fluids public static void refreshFluidReferences() { IIContent.fluidInkBlack = FluidRegistry.getFluid("ink"); @@ -503,5 +502,6 @@ public static void refreshFluidReferences() IIContent.fluidMethanol = FluidRegistry.getFluid("methanol"); IIContent.fluidLatex = FluidRegistry.getFluid("latex"); IIContent.gasMustardGas = FluidRegistry.getFluid("mustard_gas"); + IIContent.fluidMilk = FluidRegistry.getFluid("milk"); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIColor.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIColor.java index c77a78d24..4eb3747e5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIColor.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIColor.java @@ -9,6 +9,7 @@ import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Graphics; import javax.annotation.Nullable; +import java.awt.*; import java.util.Arrays; import java.util.Comparator; import java.util.Optional; @@ -420,6 +421,18 @@ public int getBrightness() return Math.max(red, Math.max(green, blue)); } + //--- AWT ---// + + public Color toAWTColor() + { + return new Color(red, green, blue, alpha); + } + + public static IIColor fromAWTColor(Color color) + { + return new IIColor(color.getAlpha(), color.getRed(), color.getGreen(), color.getBlue()); + } + //--- Dyes and TextFormatting ---// /** diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/fluid_block.json b/src/main/resources/assets/immersiveintelligence/blockstates/fluid_block.json index 7b88b0d5f..6d75699e8 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/fluid_block.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/fluid_block.json @@ -110,6 +110,13 @@ } } ], + "milk": [ + { + "custom": { + "fluid": "milk" + } + } + ], "carbon_dioxide": [ { "custom": { diff --git a/src/main/resources/assets/immersiveintelligence/particles/smoke/gas_cloud.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/smoke/gas_cloud.fx.amt index 9f96288ca..83c1abe27 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/smoke/gas_cloud.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/smoke/gas_cloud.fx.amt @@ -6,7 +6,7 @@ "color": "5c474747", "aabb": 0.3, "programs": [ - "smoke_transition", + "smoke_transition(0.75)", "gravity(1.0,-0.002)" ], "size": 1.0 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png deleted file mode 100644 index 1cd298f2796171f0a039e24ac7098aadf09ad0e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134402 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%0ASZ!2U;DFnuEDfuSqbYFkHVPv+UKZwHsqPKo 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/brine_still.png deleted file mode 100644 index 3e951ac4796a74026a22b0d645ab30550406de7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34109 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 z 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 RZa4q{002ovPDHLkV1n^f-} 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 Rps)Y{002ovPDHLkV1lrkBU%6e diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_dioxide_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png deleted file mode 100644 index 6e17c19871f2f1227b2fa079d1826bb2f65678ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11398 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 P3{qFtR4P_9ef@s`oNN_0 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/carbon_monoxide_still.png deleted file mode 100644 index 9f3f8c0478666e549e43cc4f712852914a1412f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6476 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Π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 N002ovPDHLkV1i7Q2A%)_ diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png deleted file mode 100644 index af6f3a93ec54d48c6fda86ae59fb502d7fd404c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22317 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 YKV8fYTc7%(`v3p{07*qoM6N<$f;uR#%>V!Z diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/chlorine_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png deleted file mode 100644 index a1da2659101c39ebd5bc2ed11627da73ef7457c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78462 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 kmO4iUXYY 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

b0%Cq$7E#*{Z_nlPTPUuuOxeWB>$36cmg?e2B; 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

LpBP{nM>$cm=o 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 YKYu%%pFSK;IRF3v07*qoM6N<$f~n$NOaK4? diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png deleted file mode 100644 index 2be2036e3fd2f2939dcdf6db7c2d4729fbcb313e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24693 zcmV(*K;FNJP)elAHpQL(ds{sc{+XT3eEQShnF3{6lkx`t7(PPEMBhfscO}{z%+_yK2*t z-KB)7dd2#I{_;Jz;zIc-L}AAn`hDX(*r7Hl*;)qhEnJa&NDjkvT=8MK5~kyd){Mr> zaAY*z`m;O-&eAKsEPn)ZqL}RHIfH+yFD%c)pByG{gju2MB=46YT!4SrPY%JfsN|TX zQK|K`JR8mmGN<*tJP*!}#>^k0euw@?sr{02MSv@kJ{jR2_!zO5A>2?TL1PgMo4b21+M+F#a^G z#ud%J`e<23m2@lhIk7MRGA!&g_pjey9*V};LH+60>hofe{>pjsHxS}Aydh^m#ojGO z&~xfQQPnHnC+A{F_mX{N6Q)Hmo8Cz$t08f9;Pc&<24AnQ!uUXcY$xZ#g}A~|$Dkd! z;vIPg{eNxN|{A7E%5Z%yoT8A|50Jk=Y(xl%>SEwJ0TX2s<)xDDPOb#Af!VV9^J?QYOSH?8#AF)n{4+m5v^VLT6_-Ngjo2S z_-MGMHqA-5S0{=kxMHGg!E|lM)p9R50kQC}@tJT#Z5r?4BV1gFaN#+F&(;UZ3oz9m zkB@`3dXGN!MIDYwzx+PTMt@)=->M^dxG$asqk6>->LmP%pA5?XAQ?G@J&|gujFZg zDRy^!AZ91t?Q`k?ofgRnatvnculz1P7S@D43aOrx-lm=ucjAgjz6^__Qh}E5$SdG{ zJbpT)ekw)-e+$$OJLV@k#>Uk|4HJn#q?@5J`8iq9IY;5(I_-a}qr`$BquPKg{v&<- zzH49u^CcZr4~ScXtT}IBpYnR0b1US#Fc7-wb?SdaSMNc9W^PW`h681a70^wNk$1oq zxFWq!trly8%w{ErQZk@(FZ9@BnaSU0!Y1oc62gP!R<_fdUrbt?KK_jVLzNEb1p5!#&=Tv*0`(r>?vj zE{(>LGvotsRaBx%7=Xbs9j7C5U+Ay(5hj)#0!2tlasWKNV%x?F*rzrj`KEjbs(Qt- zY7XX$Z!lS(WwG1}K3D4_#KYU)F3(ENxgLQu#`;g=!(mm}Uwc)0LHzc$0dhi3T@b^K8m;vX;X(`wadq&1OkpvYXjp*dWBjit_#3A%GyFOlFm`L ziH=_I6}3#HXv0x*1BR=I#dUveY+6yn;u>wkd+KOR5}zs+qz&~$adY4sKUBMX<9_RJ za;hdWX{sI;w-ujq$e4_)A^(T=-_*xMRP8$USew+x(bZY|X>$D^)E@Z`t!Lz9oiPlx z?I+X(opfery~AT>W&4HPwSIc0ip8pGmrj8Ncr@M%nz+L?>Q`cY;L|1f$tChnFi)Ri zy1G`3;4i1BwpbJR1_^P8UDat~nYQ6Ic?qJJ$Cr~{pjP3+EO|OU6|@cM9_n;a4}5!z zFDuX?mwM_Nu~yq)a$0X;&W$H$qQAs=A2IA1=s^+G#`jNQBQixtUUwv2Hq%+G9H=FJzCO1RI&XIdbf`$x-P9^;L{8u+v-+veEZ?&*%+meU*=UPj*zlyB#dTz|XVL2B|@xgIVLJ)(Ucr@zm>XL^u+LCqCOwd+{d5=Albfj0P! zH{ht+xI@J(vlWK`g!#0S93e;H@+cm9qY>%`EUC#?utoE@bu9S9o$6Wfoq`3JRsn5D zj+1x8w?mht4xfz7S`!-`IG{G_q^GKdqK%$ANzE54iybWAGxR@-2me`LQ(lICI7qIB zOT!K^l8yy2lX{ymk-Ua!8y=32fYs=SFRH3YaKWDH48)5J8@}7I;Tv`M_WmE3=X_pM z|CcqzjmB(CL>WaTyHmu2X$cBY?^iW3TyZD^7Fnz#iq%s6r~kSh8IH3kFyp2|L_)0auvxOKP!bSGxtm5ZSYZ zHCL@dxAnEgqi{IJB$FA-X>%S`?KWo(d=Ojy*fG6B)Zg5%o|T(u%WU~PER0HoQ5{RX zZ9e2B32oR{eH}p^5oSRBK-_G@-Zzay=owFH8@5u%iiHI|NT;c_Vgzm2x_-0nXGp^c zd!%KQlGX8cuskYJ&BFF!lDbk1Ssv+|TSXf#S2yLfnT#vS!7Mor3($tIHy(pe)W*3{ z1}1NevC!OSzavfY2b|_&=Mo-nP*kNi~Zi9*D%-}_} z%Ye$g8d3MqHPIdRhMsCng`I1o+(I*OaB=syko7{36&8b!EG9-Jn-{qbxioa?RFIyg zmg?B#HYzj4JakEaDv_8o>M+U^R)M7ldHpmP^%6=H9^rz^QbF_ffs@PkMwLR;FlErg zofhex2o`OpmKpglbm>&R;i>V1@ZYs1j>)6|m<{ocMGI@_K}Oi@5{K(hTRi5Z2dRpP zgUo`Xx4E84+=J=!wP! zuv4v%gg^U<9?LkULDx3qnS^)nC7HpT&?CLPGWcYDaUOD(c^Hwx#YkEr+M!DwEZXoh z^``i~ZAdfjTwA9$egTKpCfLerC`weJ+s$lKOj~y-%RQotV^;Gr;8pFCqU9zh%6nn9 z1$V!=i~myfoOqJMh8M@r!LQJUbdeepH-&C<_CTq8YZM#7JamaZ`9*dU^Jrc=uw8jw zG;Tv~3+a+m&~5)+_ublt=gl#h7E$%%>W?;@p$5dN(4|ZoOU{wMMDX$`<9vrT9G0_( z-fb*`y{r`MITS%aQSH$}uV_fQjUx4uQLnW~zE6un4sm#v&tlWDV}7htkBi#_pLgid z=&94%xiJhAH@Crb>OjK)j}$r&WAcbRCRxd5Hq4+#BZ+aA5;KEpwLTJId!{MSHW)p< zL+IXVeW0OWUlhHrk9XFW=A{{!iIPn~&$4tEWF08bj+!&W&5aDmRQPx=#DX`jT zUp^JHaT3pX%HZ<3e^F^F9(BpF9-Oxmr^TbI4`B#*0J66%5!jepr zf7F%7vC2(8Qi);)b9c2ni)nN}Zd`D%Sr`P!&rvD!ou z`r}&lTd^U?Xr|*i%%8btnNZ_Xg`SNE1A|eC#;6`K)Qplh@QDR>xI1X>UH?IO&`znW zAHWor&4(dIZ|Nky=5YA!@5K8<5@gH@nW_QxnH{Ta=ML1;-`A8x8#2yO3OSb;`?y25 z=9BaX>37s~x>I3rckJ;#C2!UohD8&W>aEJkYC0+79uJTTf(@pt{`EDXEXU>EZIda1FvwotvEc|qs~1`zp0e& zmK=Ib;MzvifLdl|UNy^Me6IGaLy@9`Htd!UvnwWHqA`w1s)k;n!x&M-wo}x}g2N2V zq8t${)8bXT_VUb*J)R5|gKcW@`L?-n-QxB;M$Qgh8j+8;wr@1CFim15s8Fl99aHLl zJyD>{^^-$o2WDEOC@ZQe%bTRRnJz2l62YbSHI6 z9{86Sv4?6f7}g(TbX40WSf**aVTylNY>cXmq;6uo81BUR_ug_4F0O6lL5ITuLXw}K zu2sJg8;Svstt0t$MUyhEtF`UEX*VK3jW) z$VFDD{WLcwOaN+-d7ef!Bq|x=6ZP`|#)^47sxgBX8(2PZi;gKeILtk_{tilZ@$k0s zWjGgKQiz_0i$i*c`m?yJnB=85sNaj*17J&uf@cZHk-QFCZR=Qdm1tGFT*at$XR+KH ze6>DYUJ_L(7dDcjmpP^`Y^ITu{JMp3<+JRT94qgHE71ol)q~=;&?R6EGNSZ8OT!E_ z6bC&+uY!zbzm?WXxf>i`YcaL6Uo^mrM>$&!imNS3g2fFZ5%|P#3LkLwG#U$Tkjr}2 zE4R-CY zgjF%CGn!_X$1WbN>3J z8vUY}xZB~yzB!4q{e5dd_QB_C8!2ZpVtfU=vh<9aE&Ij197iSlUd=Q_cDCnow_>K} zJOv0{qSQTVx!l30>r3^6yVk{x7vYH7NHKStsJ+-5O2&cX_(;> zCO%TU?xQh>ZSZ)AV_IpS7z%+aGUCVbhftG}_3_>?WFJEoodExkhaAaCdBfZzeaszv zre4SKLEH)&Z^O~G5lba43NtgIq_VJ21H1Gm>NPPI_{D5AXOPt{PYakAu&$U~mdna6 zJ-G3xMvhxmfV8e2O?paOz7SyY#g7(S*T@M7Wz%S5k6#Q}y@k{ipUQm390_w~6X-fY z4-{LgMEJbDb|U$EhKX)N9` zZ^3H!(4RKJ*BE-kTj!3xcJ`_J%>XWv_WP1j0$z08s5!I@P9ZAIe1BE3DiCEgR7p=Tv5 z^V)9IzLw=uWga?2v7HT&SZ*cHytH8&ztp%KwVxK@NXM~UnB(Bfq-Yuj;#))_IgW(g zn3(G{hebp4@QrhU-^bv;52?4sJq7HiQ`H)=c5}^yUm|fJ8R~1PEynUD7C8{(!u_>t#6N$@@hoFb_^py7W=^ip9gcIl_U`~=gA&Hp~ zlEN&m=o&?F1FN(S0tp5rSwy)DTm8My^L*8H{HqCsndz$U^1jdeTnZd01qzD~=s78r2XWFrITd$LGfM-u%VxUFqCl zfb!G#4ZT=>W7(;mzdqJkn3Ra*YuC2}*KoR%KWK@oa^YYpukqg}2`k_Enf#T|{ujni8{FO8&Ds$uo~*tByAodHpE{eiw?4cq>(F$yB^#(z zWxm|gGw{`T`FT(N-~BW2+r9i8jsEA7Ny}CU%z|{T`Hnv@(m8Sc>4B}$a>T}J4OH=b z_m4+kSYEOuFXuQY4iTmjFo6d2*yn~9y6@^AoZPq# zIlltVLRP9X^0he%)H*o!>EU@Lj(8Bypd$*+^Ov`CH`)1v{PXUw%XRXr!-e~i{ueYV z*LFtb39z_hNJaVSDZyF8ofnQui_FrUslgAFTvgPlg6y6el& z2j%CvYtp&(&fF6La3&1orc=M~ISdQUl}SD%xe(=;I1&^&ZA`3k5T!dj3t1mbKD70s zvgtmt-5ET***!u~_qfXXn2x^f z-b!Le*V*yjbvyqhe}lWWf7kYF29IpM;>ekJxGl*Uzz+}Wz<|e=J(DcAzoZv$e|7MV zCHDvlfgBJ>`Q5$XEZyL}pt28Z-d`c}8+jI%i*KhiX{+tP4n?*R74gOT5-M)dZFug55+r70nqmFO#py8%_bbk$ufOvdx z@b}G2vo=V3YmwfwFZ;{&u%G|5yCR*hPCUy0-BZufImZWfpmZJQypHocRA+AY($QZm z8T?=rEY!{aasI<@H)~*GlyI7jR)(EO*V)Nbewt#&O}=e7EWgU}ormS;mwRF#?cxl2 z!){?~znkzD-v0bx()_(F-~QI%%I0Q&4cze?;2$nX{Q zNN;q*vRB5ojzNB~rkLWDw{swWlRMczy7Mdf``w-W zqh-naP?z^QktpA|OsDV5W4F_r;q1#HP~B%AVGFCgfPQ=UC3moYP@^(k>mL3o-}7H@ zN9*tBwa<32>r}x)Cue)%qA*Jl&;S6+hQp*tmY<`oGu#XMYpks!ptXgye`J0ISP;9C zteZpAyYm;6cjQ4#-Q!4wr3nZUVk&GXP@V5_RAvl-tR0kvC~=_db36ko< z+~)h>QIr?Uxm$O;ey@WONP)3$$10Yr0Wh|0HF7y)>1`fpURyqce;U5JEY1%_z)q+! z5{6>Xhk!|vi-q#x2#h1b{}_=a;*3Jg1;R5s*4(s7{lkHEMl{d=A1T4=I;-9*$dzBp z*&f);EphWfo)DgBg+uxI-u(OBq`Z}XaqEA%-%lttu$FE@Q1#-KKNxpS@IafF^dDHNlC30~B2T&q17bjRE z0|S&5N5z=TEI1dKH%iPs)1`{(4Jj!&i5B)6d$F~FWwZX4{2rtBv2TR-Zuk1p{&MP1 zdH^JL4x5baKoR&R+33CNSB3eaE>q4Id|lWraJ5Y)Z`t}b_q@uSsRUaG%T^aZsHl2^3KHQHWYxioH6zrP<|sR&QXVI8^5%Fpx;g zW=ykJ<0WW41VtbFMr$MrTVR3YOSEtDh~cH~`}+q_y_Y4<1NpDGtNKS}2w~%&6IQM1 zz0as(d*iol zKDBvMxej)3AANrP7Rn_9UuXA{(Vwqh%W_V8V#XOg2U&qa!3GrcKKy_L>YzmM@z$tV zLM0S(qR8qNMadz1L3&p<|4~GW^q$#^E8ge zTajU`$hq@u_jRKy{boX405~uPzggEmO5gVQrGtNKzH@mVZ~>8r#Akr3O--3~wghX* z&PyU``M?}q-OlNpVo`o~YJyq8>Uw8isAoc>20M{v#EsAbuVEg&kcw*jkHzQr9Vzq@BlWDVZlG&ow|s!DdBIl5q3BjHTswLT+< zlukh7UmE2=~+6sQwt#8Ncz6paWEg}o4c8uWua(Jh@%zPNSXk}VM0 zK9>6c+xhgxh`M;|-`&Mw9ZbG!_%`?b+5Yq|^Jlutmg~UQc8e65$%Vr&x@Yz8;=?0{ z7rKj_Dy#AK<`bIl&2m12unV!qaZ~Y#!+Ft*>%;v}Cz5l6%a#2B)x7rp(>X32PJaT9 zM9rOb@uAS14yv5#Y@hdn{3W1wTGWqoZX$9rIX>jLVDy!XuWdfBycecd=ijy5@4N#~ zshMD~0#t9tdV!~TWTP<=+6qoIi0boxAoea}B@muM%j0Kmy;u*^S0d$+_Wu0wOJs|T zh)Fj5x_fqi4OiWQwo{Gqbn{8g8?)Tbf&QJ+-;h`CS9f z`+|W%*w=q=3^g&5>aS&q`CAu|-ZQ%RhM zE*=Am8OF*Bs=MePH2&44I=Va$fYQWz|NbxP#Vk0<6sK$!MHUf_I5MWA=%w{CFPx2} z-a?^;Z5~HB!o*AFS!lnxe0|Hi@OOI)EV$y>{llaj8?JE+VBXkU0OoB&r+r-3M7$TE zE5KJ+7?hf|NTHB1h(`j}qQqhg>~5dw_cv7%=4K`J)c_;%~`if>uf$)<_B5Sfqwi zooLnBf+!DX?}0{w|G;qo{)NM$5mDiJ)z)L&Pxja7qsM`EL`Ym`AdhisCkX@axTj1H z+%5WH6oP?FuA0y$hX;o!SKRK#TT7xV%M zneC&^>lkj(Ep{%?zwYktALKLB$W-M$>82QoQNN&apPvw_glQj;DiPZ3{x3MVAS|dE z-0xXku=~W(Z!EQiP~)9KTyx@JV9qpt{pPnf|1fJ)gv3o3$tHzW8h!votL^a>o6lkA}2;-y)KK6KTgS7KwrQ9Jo4k%4WM^MJw!I15Za zlt0y7nl&)#Zrji%YuL6==hU9gR@tH51dfz@x=@B&U-3g*62Y#Xs7Ow{Fb=U?(vivZi=}agd4jA%K z02dcK-;=-D-OxX1<)3U)%b)myPOcxY-td0xBct-fS^Gu)Mt8cLA6>*6pTX?(=`?P3(Og?F+Fc< z;ocN{LqmUv&Q+R@-x*!EKGWq|&?G=YORzr*wKh=y$&wN#BJzJTOznUn-ph61C*4x0 zcBqjzSHqxdpj!pa*67%Jq6<-O3RAuOnM92*~xrr*qeqnsBV zpq&!!rSwevTd7RC><70g3W_*rs2Os&-G@}Y#L~IiK7WgM3wf)t{u7;ygDXzLfg9?u z1^q18CY!{c*g3DPFgk+_iFl*Q(6bhsu*lwTI=3^Cw{$wEGm4GK(mDD@&0JWVV;y8I zT`cIK!49k67m3jb#9K)sRU{y&h|~dC$T<5IQL?#A&p4Zn0C6pNy|a7ATrsDUHMyJA z>`#7lc$;gMBh#HL@^6;K(;=ZX(688?*>&~{x&>^LbMO*%;m9Rex3_4V7jNu-BFa|+XU*NW?`MS-|} zF!-!+;0Zu8-CyWePAUa@<{7co@;bQAQ>xHZAC>b4|3o-Xl&A2IyW{?rK40qzCKe@&`>%pst#Zy42T z=~>Yp{-b+p|F{|tW6~$wBQ~5Re?8lW5au8rW*(q%Hk!O_3AT7GPo>#nZw0nMBqBSw z`6w_7nQLQw3^h8T@qL=a^Gu8}wE=3=i-BNZ;;n+SBg(bu9o9rQrXbd|e(BsQ(sXX) z;y}67oBDRDiHTi-ZO>YSW2z_zFu#SQ#cr&fqsnhH%Ymhk?d>}lLIcw`M z1(6w2o3-(cn?KXMEqED$ZmK;Ip4GeYgDla?%)X$( z3nrrYZ@QO1&h4agtIpGTU5=vZFpSiK_Y%DN=)ENSFIp{OJOBZ8qSs6Z26-9!nmIHS zbfVMigIPSN6dfKg4C832gay=f?DNAnE;SqQnOmcxl63;%fC%mq6IisgbVfq5M|_b# zXma-OgnL|n!h0gZ%nTeHo&O0V6UfmhkG%2vWhy)p?FIge#1DvYTGJhL&b#j!{oPV! zLZ+;2U+ErVo2eI*T0{Lic}J=n(STrxyB7S;US)K1LnhKW|Jg)B8s?MmB#w79y*d9u zH_aMi|M;>`l__^&M|A=R7~BhTS!YpA-a1V~5I3Q9V1CUp`AQM|qFVB$MO6+e?V)3z z8UChg5JSrvkT=g17=V2~p(m)WIJha|vJK6*38Rj)5S0nBmNW`XyCX4>x=0{>!EMgQ zRAy?_x6{;JnF6M)#d**z(Ejl&&+rUn%N3Kb!a)TXQIPJ25&HPmn-6WiyT3+G7KSqE z+{*lPZi=b$pZyJ#ZqS*Q=IEhsv`Td*>NU){CVN{?bwArb2+!Xc-Ni{OUc zj2Lori0acvPN*+gAm#;|wKQkOxv=ws{A&09{^7}=ZoSaGxPMR=3^+N#X3AR zADs*xeH*-7)g$3AKyiJD@+81T9SEss(M~JB#@*gONVN#4w?$oDGC6m6k9&ImAVmN{ z+sAXjH`nQ0$_XTKfVT)_i-91)Pe~4MP*!%>H=shDp{#4!W-7nho%s{pZkA)+%pzc= z9Xh_zjZc*b8I(A!`PL}ejVQ%sJs=sHf34+z?-?)YT;pY{SY)&w{L6<(iI$~&wdBlUJ#@|q8N*;YcorSDyi(*_L*lrZG%B;iu@+dO>D;dObZ$z@ zbS~w+ua(oey!bx4>R28O6Rmen=&-oc&;QZg)jvTdg!HY@f`+~kX%jr>3Bt;H&Ad%P zvFsM2C2P(^pHZFzkZ@bu-#>ipKZd{OiAUUm8f z$F{!Hy|901@@7x|JH%-)m@qO~c5)x_XihhwQMv@wCe4ZKhOY_lKImD3!g94aFF-fh zM_NXC9=u`elkOs2BpuR;S3#JrlWdXmi2t^A^%5eFRJQq3Hl5pFQtto9`EwsOCQ@V@ ze{H1Enu|E?uj>+^tUZqJKBItA*c(V65gjJ^@MIQ%r7W3}r{b#=PRt9p>(n!;Q-S>% z%KJmG_S)xo5U^nf-Vu8cg=KA9s)GGvi9|iQvs?#1KK#?AM_dU^+_(fLP&dpXIkfR; zBSX@3Yl-ScjFY%mP$DNGrpsq5X-Q-4XDzfuZJf&DAK(a_(I06hJ1e*^%1hC7PC>ef zbwFlR$XCFW$2Lmh~T3qOt!vla~$u&ON2X51uvnyXM=nHnOf}9O|*7iHOe1!pnCkY_0+W z0!`K-5L@;!>F7i%p4e1fHTvlKN!oRX38?MT@KqG&r_mUKmozRiZ(Z40YpElVj)yHB zgF73VkSS=A=|}Syx_6ZSyZ22m|NZA}-RRzM3WcJ4|8E0-olBc+A?$zQ%<$%n z*qM@d$iU3$m-1J-clQs|e28)c`l*Ha0xcg=Fw_ln1fBEL#(@*+L|&#gy-8@Zjr7qy zU?wf`*OBEY-&Oit5C%rQ7~5~^Cbm+0vz^oP3rhUx01Az^@-)SWG@I2zmgyw*aY%!h zAo}^DUPvOleY?);zg~=SG2|v8AQKb|f^>U)?TV7bE}WTCDr-^rVi!#}VG;#hNCE@G zQze+dkk0M92UeKuF^T>H7KVtBvh@H!iv{>M`E$x*>L6AgES>_M$aNEG1^P{t&Q&Lv z$fIESw@SShbgp@0M}rDXy0-6GnKz@@>cudbneDtT|FHW|{}AkTdo!|v#6#hf$75?H z=<>PY8$2tJ^JgPI#_~%OK0wfoS`CuA>{8`;S(pl=+!9K1@E0w{j~o0+b0YT{QL2zM zv2PD~c`sQ00Qdb@Sv^KopZ{4;0Sq$ugp;zCmh0+3BoeJgVSB&1;i04M?o?Q zF4?0XILb3N(Ub>s21ZWtA|X4}aOLHg2!5GBbt!lQUYO3ItWe(|n*-b%5nYH>Tv3K* z?Y-P*Di-6*0G|Ee6m34=3m9oE=%gn_~0%4?Q<3t0)Ikv>`fLJJ-4+6R{VZk*vHPnQ%)z>nos1Ao5mxA{$)+2As#avnA7^F{ zJDo=|2Z2t7OIL*@96R9+!{)m&IW+vZ`;q>BMEba>*S<#5HP6uB4t)=_$+T%xBJuGrJ=xpcB8%h%Yz3uU)KL> zL=zFZ&=DiCYEAb-%vf_JGa8bSMB*JFCQ%$c$kwI(cs6Y58mz*+K~Q?Dt*E^0`-i{r_^PuNN(yFVPmD17qnuQv^X1MeHBB2E3tfj zbI|3Up_9E1fQW!_ayC!BvlbG0i8SUVs*CN5@!0Bd z+dqBrmzys=a(YBldgek>ex|@T;XB=9`o~quSluuqhmT#@1G;az% zS#sb|(ao8whlRTdvrM2KNhHma*Ndmrq;qldkjJgMzy_6xJOo+pYaNh>#Nrx5e8h&g z;9h!k`fw|Wnd=qF=^v=B$yDiDn$DSrsIDC>0D>}P+G|SeiBZ7~Rp$#Cw#4cY(h*7j zOj~7kK&#p?sMoWW&|>;AnhRcM`e#dfz1|F0YHQrt{I+HGn+zfSj90EGmBki_-6ZnY`!p^=ilol;zxAk zSZ&nNf_5AVU*SB3UU+qDWCP~d?!+iQTXth-jYv+m!PVE(D)lOS?U>F+KWS246bQS{h%V_tVI)1 zp4#a06@H8kRt_HV=oRZZsF}Tr(;Fz;gkU3Er6KiD2pA>)=8mbtlq@ox`YV2ny$*p5 zTwE>T+x`poVl)G>0)MSXPv?qjV4ceS3T^4`OGo+or3|vm8p{3wi@9bLsP%d z;X)D9aONQ_z}A?v_h2f;N62r^0hRslB6(qaT!@>&n9G%@;>s(a%M~5I=oAjyBu37~ zI*^c-txgBGAl+|QlOs4Ot4vHR<8Zc$7KE%MOci4zR(6X(-2sSG&%dwL2?bU0e8gm{ zplXa)OYicFJq!XK&t6IAlo}~o6!-hyeXzvO z#lNIQi6^sFXfvzzKthi+f)M0sMs{7MbF;Eb=Y%^fBfk9aPv&R2NyXt9V{#@wTD8Ntp$ZqT$1^%x|J%TNyMfA`mHK+km!pjV|0t-_{Ow|k;= zHYIIP55Pzln<(*8Qgy5u=gp&g%gQIgyDp6GR~DrY8eH8R(j>NG0s;bJ@bvO^d$*|B zOLP=$ZZ+ecjkNkl$=YCVBll`}Me`g$a$Ah;9c-;2PeHtM9O7#kL&wP$MPP8Bq8FGF zBEfus|VuB?e;5sn!hqenzt~A;Dt^WK*)3tosNs zaVzLW%`vqS%|W_eEz*ThWkdu>13>28@LyyjVqhq_vPoTtXjO2xfC{*U7OzF}4XbNf zGX`NhBV1wH0N!v%rXK#R&-S1SIt-QA!TN0ncsDd8(C*<06}WXfB(mX)$ASIFqtZ?` zQDSuRVOXpE4tAI>9hULD&T*u}9erbZU;ayO7ARRf%A@IJODo`BM^^FVH}zV8timERBDwXn#PQwbzjknh`lz0oGE zCQ`5F#Z947*;&hfbGhHA|0jRGyS#jdf1kJ9@$#R&*LL~&!Td>XX@!Y^3&n{NYa)h( z#zuT^8+ui20io-(S3p%oIB*a*6-p{TLa6zr(gHrmW|W1AKG~40mUvWWplD1gEfs4* zIHq25?~0*eVl|-BO~WN*$^C?2S{SN#h_;D40aT5?$8rM@<_+zYT&OML;{bxo*EH@m zPoIutCe}r_iRQCZ1IvS0(jo-8@dyQNlx#0V%84F=@!x_>7rEJz2#-$3;+DcLQa$h& z`H#BGLSle+f%d7XM?|dz8Q7_*G-R`|sgUN?g+diET2&km)U2R#$2Di^LJ1?tz;ml7 zTjkR6pi>2~L^5Sr&cA+n4p3(=LpUJp2we&477u=<^Hr})J%OwR-_8S^gA&ms$i(z+ zNeC~+2}+m6)d15Fbjn$x2e-NfF(=x>(y2C4Dmu0Y

u+Az7Z~);DaRAJ|}@VC8sF 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 IM6N<$g7CfsIRF3v diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/etching_acid_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/fluid_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/fluid_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..9a936b4b521db386271685d6790e1e03d3ab04e5 GIT binary patch literal 30811 zcmWJsXE+;d7dB!mLJ*;5Y${fS+B-&SwJ5Dwt4c!JTD4~elAuPYn)UUyN?TfLCZsAg z+M=)8it4cX7FE9fdY+%p^_+9=`##sXPo4|P?i??KmxYDp9May}?e8he!UAC72K>FL z6;iIUu*AtDtt~vj5`bmbaz#UO{l95TI-?N@$Z!1KTqGD{poAngg!q#O*!39G5dMub4}~J{k_v4UCF2W8)woO z)-#zueWx>^*|lI8OjQt5ZCDc_&J{HI`}<)5 zSb_|0FeLT#Vd~YWNwg_O`qpT<#xmySeqIQkK?~U(ZR!jk%R_MBsSB@^GR|Py7mk`V z)Ry)|4|d{{Z%a$f8slO&23MVXhWi39iRaP$xaC|>2VWMul7rtAJ26$r6clp*!}~Kf zXOpk*Ee9<5t69s3+|s_&bkjTjYzvK#7k42uz-_z=F;fU&e*-u*1E6LmJh8*~}? zl=(a1`+{(0uI2IsbE$d~F*qyCswNQ_lvK$c%ECKaZtPSXMI|~u=xfesi}QyIXu!qd zfJGmF)G7y#)P%5v@*7{5)}wmwZGy%x8fI9qDEO;*i8Q0r`+EG1@>F!FXJO0mTZqNr z`JVW;$eCbF(8Q&B=Z3d(7kis@ceT#yus1tcYKblBPU-Ugpn4Eg zerpI&f^>_F>?~_R;;EU8%1rQ zA(Il527*}z(jL4n_5+^$OqgD+8u5$?0IdvMy75_*v3;XwCG^-fi4&9pa~YqQR1O>U zevH;Z;V6`;^3j(aqQ~rGR>bkZ9fkodMM=9DycpTwFkk`XZfryPI#6>2pFs>)Lek|0 zyu@Q_h5Fb}MN2}VobtR^rcUVg8n}X;L8c(vrcf3m&c2LLr*h207hz@oC>EAwL?cH3 z`T1|cP_9Y@WWdi=sB1ZrxQK21s%z~`QsK3^tG!d+gyYeB@Rf&hE>5FCy0ihvsCn7G zkvFMo3sxQ4IM}7j!j-ev{qDDWQ$e1sjIN_9w%Uw6%-`?9e&f^G8nXRp`IoxNEe<5?a_o8!gS{P@Kf_rM z=i+j6j)ux02C^tn`Z;VrQmV0Cn`--n8%J>_rH+*S$jQmb;d4J(h)l0k56wI^`t?#s z*&^^ova-C~gLzU!%daoOg35y`n!R!C1IX708X#lyfNHxMc7tTA4b+t+o-B)3u)9AbH0itO{i$(}wT|%zxU(`kZ%?m&Xb75q+e&v{ zLEJxiLk*5(&Wua^nClxhgI3UL5yb{)xRutKA<>&J;@VUej8FWW%6%UEk`a$en;Q&dsjHcS1OsVW0q^0Y!YsJzMe?uH z90M_YIa3^$ft#lIZykR#Ia*Q|d&4S)!DJ_r;+P&bLr9r7bN2pjuJ$%>Jot8%{sfMr z0!|)U*75sI+lE$eYNQvBC>l+8S-%ah4eL}9qrEN|lK>BbKb?!~R5_jCNryZ%$mY)9 zHUmeWhYDH@`P*~wXI{Hr3a`wlqGwbxWlWDh_z!ue2`pgM3~Vn}(&nBMhF{IA+*0HL z+$+UZ(N|=IC5g>;=U4mN(%@w^?Pai};O43{Aynd#kl7P!-SdY?KTVMUz-fenmr;yr zEK8JfbZ1!45&d0q4mF3Q%#N)(>v7L!cfl<-Ia}U|a=68KI>&FsmA7?;i@YSLI^$7@ z$X0RivC-awJ~I5FkBEzFS0xmom6&Pc`I`L{;BY};SUaD@D;VZER+z6r7e+~}pkGBJd zsn?wnBE{%+!6JVim>Jju6N~~);3QaE?11jrO zVr;2bp#yCCd+Jeysa&4NuF{cY1uCy&0n|%g`t#M&i-HfNT)*zfGqu=e4^*TTv(*oV z1S?l&=H>vX;cAevZv@+6e`CvHvm~Rn^lLa)LkZ}&;2n9s&(pvfpWi_8b^Qunm^-94 zU9@ih)8Ej6hM4WbIP@na0%H?M9dZlvas6fqJ8%gW6G&di{>+UYLvG0AM({jXMjI)8 zC;1u|i{$Q{2}asN=r5}TZHZ^IVidCgmHz0Zu*ftD7;^+LJWrZKn=I+k)0 zEqRz2&Wgv2yu4?7;!O?boXAp5@=v;e=OxXG+;)VZ`VOdiG+CVgu2Y6Q3lPebmw-er z_u1>?f~R?eXTc9M&cwc}tDmiLV5KB)fqY1`i+Qh=)jd!Bv0|oyP{*~kv(FNBFMr%6 zLsukg?-fT$J=v@leDEV@AdubWOhi7Cd9`=W;J-yzIokVlck59YE z85uHlEt_SIm1|aJCzgxS8&G}Br^qgcV%h)#uN!k5t|5BuT)!HuON|PQ&r-1Cb5g^zQ5F(U6_F#jgicX^F~=A@*Lp z0jto%W@l6Z@9J=pd-U!ASJp_$JB+v%>mXvYeJ`j7(?7_gMcZDkpw)ztnn+3R2i(to zE4Zu872=_}a`Ne1;8oWq9;$+%k{Lnn^ltyq3OHH*HdRE3hMCe$OmT#+K8Fp+B84|r zJ5MVwrGP-Y|1Oq7<2qOi6yGvSFcD+dnN#noVdPx77=H($C-)81JdLzavbK`6=Y$-Y ztHDN93N|i!NihG%m_ngqf$j6=+S=sPEL^2s6;A^rsn1XwBGP#8mgaY;$t4%Qg=rOY zK*N*|)3%F0B=pj1MRvRQ#b6x>MKfnBucX5}S5oDc1d+X#l-^4n7!c$N2z$Isw>RJ0 z7iJ%_Q2wBPQ*7r^>Fl2uWNW9wovJc-kPi{Lz~ng_wZ9dG(Y%o?YkKKW^ypcv!nNv* zhc6r!zR*5?V*zUivi0T8fTy%vl(jPQQ-lc`F2Mh*?x*uo zl5oIrNNj+bu@Z8*7lDCmIxra(ZWvqE3)g1s1PRK#%?}3}RIWbw>igot&w#m|jEF3^qc`Q>xt+cEj}G_qyC)%=Q~- z5t6<8VzJX9)5((cYZf5EihaVX{jcs7#IvaLvk01UMYRf*h(QNM_QQCAAj#Tg1j_Bu zDqIaFw&)c}lAIorxwRWp*EFaC*R-tSbC)YSc|ZD^RKdU#v)SdelN!?hnU{!XCGv4b zP8f_AtE=@MC0`<^?8@-3o;Wy*1*22nY@a*x2TfBBx>sMY9!*h8$90zwCPNcZ+N&48z0>Jg5racm1vo(+g2{gdv|D@YnD!1>^){H(< z8rNL^b!}=Xn1Mb#?TWIVIxKMdpnj$h*A8-8Sp427_h+zEqVwjM2q#9Y_0inhthLDV z^RtTacf@2uVd-16abN{5JEP>8DKkfDb^Pj598{D;mht{l<3Zuq^$Lq!Vr&~rQIUTK zSc5>f2mqfmPo?Gq5z=#mURY{1==h5by8!2MF;I}Xl4G$oIY}J<3_$%_`N~+b^(Y!% zsZb3a4pw+|%(W!-kGV3EeD&}5-e*3(y|I=H^<*3c%l|LMeG501u$*M=_80_6(>@-a z{`F6ot44#?7ZbD*5m-NAfs$89J4nAfiK*sF0K5`yl_3KJbgHCQm;H6*<9wgo56I1S z-K`_$oD-^CH_a-~#C)!v9Ch^oAa`$;PRK|o7ZU@8*mDQxk_7rx3?E=|kCVrXYW&HGwVirtTo}5T>NCP~fn5g&dkxMs8`YS-D?wwlF@xfg zB`V1DqtIxa$QxN3#qfCz9K@9T4k-^RzP=+SYwg9zYcq6a-khYc9}|O7$0E$i1>ZSECm5|kfdCzFQzdN zdku?S@Hi(aPFlnocb_CV9MvT)!+{Ri1_HpogcX2J7Q`y`7T5aURch z(K?S{Z=6rna2YvuBX9cX86r~cm|wzbc>}H3;m=?W5?FBLPyu>Q*Vd91F6Ot}CP7#> z;T_=_K7WrNSN7czn7<`T8~@)xgS?%8;aElPnx>YEodd)V`i-D#I06+tTr50>V%gc- zrr$afBq{sH|B7?x3kg!*)f74WbaMFbg*FdgEju|NL4B>P>+AZpwUjkIlv`7_qJ2&+ zuP(~@)r@kTQz!226(@9ngmxg}y`%i?ZAT^&N+Z#5ol=EKzLeY)MehOH)zuCs6$( z1qE*ETZ(%pFw^=hG1aKac2(TMY;|6$*1U2%nk)E36xEJ&o~WI0h#TJSv%u>n&nCIY zI21Ujv(7z6{^Q1KB%_{A=r`wTnc+zjF@7xM76?RyxqJzY z>CpD7LI7#_ff{=gd-`WirR-fCoiV`fbgOQKlCM&}FA>eZj4j;%GT>ZW8vk<*x58Dc zYcJ}_l}a1^BCux>+95Y_W#b`s56CWJe7ci%xRmShsO!kCLIDsHZf%CQs2%;c>}w?G zy@5f4Ix{xt1lInqpAk1xVU# zKbcz;A8p-eZ=8_4ab;d|Vl(7A7gtH; zsI}+$ofs6sFUqvojsJKAqjPG~7p04gq%$~+gt23tF~UzgU9Nr=I+q4lWfb!~k2@lN z@YuDDq{>dC30A0!LKHo>{6uiBo2 zWYHusU!yRb<{sXGrlz^_?untEsNh~x>47nA==fC`6ENE+HJl0MM`WFJ4E%J{0-$=| z{i|VHPiZ>!yMmz#q*DHso7uLw_)Y`Yb0U3di71qWG`ra`+pqrRKd_)=EiyAngTuBh zjB2_#68E==Je+8=4k&_o=3=y#z%wZu1#_a$pOYLB)>m+4x5hz zi}h|v$8CQ^9@;v~9!E@r3u^$l4e~dgARI-I2j}4^m-vGfQFaA1?>j_dpj7Ug$B9!X zp92+i9F(jwl|-|O^zK5KvNZ?X!)~j*_VJHaj2Bs?HZPcWhfDnx`bvY$XtI3VciW*U zl@@`#MmiWg0K_-EV)Ej+kEnZ(N~ViSjYoZ+QZ0RhFVsiyh}bKr zU3yKV;1>sD$-be%D=yDs5T< zM+(cir41eW6mbf8y*nm6k*a)ZUtmIv@{0Mt2e{fg|r6RSNK1P=kgA`Er1h2vrV&Ek7QsQ zFIfRt*Yu1leZ=bliZ_i!l#wx(>$2}Gh~&iNMH^v6nT0Dv>NupH^1q%R*5JVyQjyY> z%z|p6*0VdDBA&{~1A#jN{6h^LH;z{1Zo|UH<-kwo*mu;{aaw<>ly0INMMb zi^0@w4LDs%+&GfDMo)zgkMQ8Lc0-Sp(7AbWYdZS;lSu!Uu^4T6M11BmBZ~kmdAipk zl9Mh!SgLm)!W3+|2~y}kvI4SN#PM)aJY-O%zv5z9Dt)in1|%S!B7epu4a*R!-EShF zs-}fg_6EaySE`Ym<5wY!ZRokX=}>#lbIP;an^06Cc)%RM zf|Os9?`D0_**=Rf0K!YEQ+bs+kdll`99#|UZ1&Myckj=*4DdZn=ucr?Uu3B`? z#Ge)psap1(_Fm?VB8v&yB+iu`um*;o{43+6!c7<~c3=Z`@iHskc?d=J7p1dRKMrWT z`|SpRU0FwT??w^9&U#(pN~1mGb&=|f#h0AF+Ds&*O$h1o#9kO$q~*jgS;TTmT1Ci_ z>-|HA)-IX;Qu2ak1---e^GLgu-AR#M0Oz}Qs={p>3zJ-MPJ|XNE0|=J1?!s?AN7m2 zTPbLN=aE>K`PqX_d|rka`QEKR-hu7mzLmfGjP!7FyQ*h8CVax|r|-A#6tIZm4Df-= z(Ckjx&xx7sAY*M60uLag9!XEQm`kKcC9&MSQ6&&hs6w7jd(!SXqhWJ~2D+eIZIna<# zok+GTztRjlgxAm~s$N5}dpu@aG3cG{S#EW{tRsZGH3iw1%HbQ>TTar;(vqPoZFSZftTAriYbgtxk=%MNShATHRP>hKpmGL9 z*C9g}LR`sB%MuT?X20N%0y+)LCe)E~xkKfY48_}E{68)#3*737XQzz+%qywlH>zkF z^fxv};895pZdH7)CzJj7)##ZIta>|@8(xv*eTQ;#L0=9^QDEuPv)zX2T#=Ib%W4Dz z&8u4c7pCXbaWrBR)OuAn!GOP|x#KxZm;cgxC#9C1)Sl~;m9fxATgP{CWyVR4*MpOL z{<&x>?EdBCxnmVGje^KyHDI$IjC;Ii#xJnIJp_{`u(4&o^^U;UaK=9_a?nrz47W39 zPW7#bX0BiP-<>Ugk<-vCsebbvYq^|jP9&QM|Eon}`i_AVQ29j$@_(_fRgYfxNK!J` zoNQiWLs;;Ws?pXqKKL&yKp4+j8W@?sFFDOzyNg_)#I+c;=Q9gue24(NJ}md$pQ7Ml3%} zk9iurg63a_W(=G4-T27EVisX86AedChd(g;xJL!h6n277zLBGF^7A^ju7Epvs(gp;Q{AUZ#Mnn4pHytS9c4Efo1AoVnbA#6?tyCGSI|_Pjp(QOUSfr9owSw=0Ak7USSHUZ1fN2<(uR zROFJVhchJa;%roaEsVxtP4mio(Tjlds`0RMZupk!wUTHF3afE2|94g1F$?9Vd#+P+ zCmAHn0EkkRMT#+g#4qMpHF7y&k?W#JT;=@ufG);T_g}@{AN@MWQ=>os70mWa;samr zZ2DsM+nOeRbBBS|ahjvtSHU)ofv@gOk_3#H0Btx%n%^4|t1m5WF)>?87aA#ZGTC~w zZZbT0q+|$C3bi-Zn3#J2#tN5a_6L{p){>4lHN%(tWnKE~x(lUTijeO=kl^oOFVfe}g_WprwbXc2)2bGAjEMOS>Kz&UGc56A8&#=5<02}#G$zya zZ)IEjWzqz9wP%@LvRY6Wp`}FHaynjTdiI@012w}UVuQdJf^NK_%-GtJ9CKDlyHmDs z7d^p~T>0X;autum@OJre_cAo@(74-V5DmF#9d4zku_TEZPJS@y4Ze%58(VM+n7C=KAI?ICdT7!cg1Z2bX;O?u0WeMrOyqa zIh`%Gf*-S#8YQaRA}ZKIas#_2Z^x1dUexw9nba;`=+XkomMf0F<^F(vA=#*4Z;n_lZN=!xc7| zo!u>+=6NVxfjwW2EN{5`){eYaEunEP33J*j8k0`!ep0|SY1o29`lh^W5Tg^jr|9(f zFI{jsK{*%|=b4jtt-jTijoe?HAflHK?uD(8{{j4s%k{} z_4`(icBNH>n`+2ZW@dmj^g{08vZz2$-o$V9 z^lB1o0bH7vJM4Wh`kaf{RA;|Xtqu8xeP%n@D}4B2IL)R>a08)C4&CjTm&ZWxtZL8F z$t2^*Yn3WSM0PHYCYvw*)3C}<_0@-;{Y3^Ol_UyS5;`ZbvSb4eQndEYYz!|REM03y zPa|Og*t>=UD*<`hE4kV2hb)kBM{&U#^Y2kk@2nYxaa`asPaFKu_`KG8l60IW_!GBXi zQd<~(_-_zdH>2KJ247>3a&{P%4_&_tX%fGcYne37(Nt*jGPJ<+t`^ZZcG$;R5}!d8 z9e!{m;rD4?-+iA@|IpvYDwbo}-O$;hee-LXS8}>TmOJkpKL>tra^Az}ntPi29{mM= zoDQsaua|7%=3hIB70;W5IXo4poo}N_@S^QWq&T1{21R!JqCg4InKS{OnSGvk=%j zZ)XKW%D&IL|1+jtyT4O(In}+iU+#9hO8OvM^}&SUTb~-3rc%aWdl<-V@(9t`FJe21 zCVQ@J6os$Th`SoFBt!?5n04>ebxYa6Ah30Ka^wf&Z=a4w>$KQKqdq>i|7#$t7^>FB zc+wR`EfPP01RhNS6gEqih7P}KYFMZ_C^t#sJzJ$ZNhgngJ;M5;N~A(NOj1wx1UAsP zrDGrOkLH0Fs(b(8lVOGkr~IatUE;hjWH+T6<%FLSCQ-ghU~kifGUQ2cXRFL#;YPnF zQ%b{ioQqLQUmmeVI4o?@Dw_&}jpn4Ty{O$e%UDp6kV?`OjZ=ztXksxreEFCp1$y*o zUeBS4@15xkAcwwYC3sDhn`gCJZ>9om1#K~KcJq(nSBc+MK}$mzg&mDSU`~>bblxyV ztVO;-VF7C5d%9F;gTDDcT1P~>j(bwiS7|7zlG4;5`gEbgYp!EA;oHBh*CX$QupFTe ziaqQ2L2nFSw8w7{a_&|Us>0J`Ieu(4RIgz<>#Z^|RSfduNAIzPMi>F#7Q)IlwY1K9 z%z)y|Vh|Vv#&aMzoRoM{J5;6EWmy}S6*wy-(V4DLdbL+Lq!nlzK)pkOW+_~d)~GM= z!~?hSytcNfSmZ)+Bo$yFN?W6q{Kh9IqR~6zjw*xN5H`hcK|jASmi*g_ zA_5|L<2>S?yc1dpm}G}5ax?d3IA%Yvh}ksSw80D++t%lE;JgYv*C$P*vle(HM{k%* z;)DH#zU_aQpioflp3C)b7b_T_{g+$5&NM;u?#HS8Iqr>v@xz`U+~VvgXp<*956bpVCsT5Lr;9AJX`wTb z7BI)w(=WCmsLm|1Sg2nI$MQ9JPPHraP5)H9M?_Mp^g90l3%s0Nhx800{zzi+?k{-^ z!9&)<9$Hg$GXDvm1uV*BXy2ArQY<(D^834~-O}T$eNt;qGIPMy71phk(X+pHn!k#3 zjgNIbW=v=tYs^NqT|&5M z$Q}kLL9|xZ1c|JmJT#n^F?H~3?AIYdfjpiik}G&gBCA97d@XG;K%-j7X5Vef8=&|@ z>&JR@Is>nGKWqOphhAD=jh1*}q|-y`N zKzUm^&8mDdy6=C_Eylg@9mP(Bf3gM{PHsN97t{C{TC7yj8fC-cq-rW zxTK9_=4!SAdC)uN>7#>Pw4;t!1t&j5kleJwfWr%(Q6H>JWKSBRHUBI@&kuDqHub4h zt0-M-F+eJ)u#Hd6jIG8V00*qS5I$Rv0*rZ>yGLJuOopJemQz;~r4y9>JeI>4I=}&H zE#(e{J-yLrX`IWN)X^QdUuYazPep_m(rxvY2G%1@{j^2!09#W~+G?bO&ED>7)t=7P zhcLD3f=W3>y^_<5=YyA>($CXIO5<;?SG)g@zvu8U0>lUh4 zhr?TMPNp6vsADJ|MQjR2fO|dqHFnFn9t6z&uKWDwtMeH0wB>3piZtyDe_O`DH%F@T}vrRGb*Ib#eQSu~)fQzr!lJ?X+3h z(Xo74yg-RLZ7A;h<8|}?&zW5 z^g#D=z3W=z#99Se?JHQiS6TTMVCs!CBS>D#W;sa7tqKdhF@j&^Q5bSE&P*uG905G>6okGNQz->FS|A>KU);=8XJ{Pn9WX)nz~15%ivqQ_^KUf^;; zI&IqCvhd9o)W=59F((-IzD%w1b@6oED%h{@Ca;33Vu9OcuO88s#jj7lm*T{k4-=lm z7-hTm=b>?F9cUwzt8wn&?mFs!vcriI_qA#oLu$w&ac%3ya*>M5#1GGPoWoFe;Yekk za$hm^x9vzIvsczTm-WQez2IzZgoWbqW?f8+4ejJ3$O^S3>Ha*zrLt-`HKf2eZAf49 zTJDcD{^E80=Y_&-gtVIV=Z3boo0|N};oA1y71cYStlvnm;JL3fBEm{f7*_VtFpvyJ zDXZFQKxnpPsuw`Ppn@ki`We+W@%_Azzws6nkJ?*G2utdT5a@ZgQjueeU(zqi#o{KI ztnx+^43&>v9d&xV;fisXWC?nRb(Y}9ZAD6ciisNTZEIe8_X@XU<;-neZu+QD zHS&jZwe;FtLZDpXTAf(UPs>@@&qsd;dyS(3=U0a$8Am!?cZZ;KKJPnHXmRwb9i(A( z#p?PCX9EM3JU*l>=jYer!#(aILr)P}435EY6r4MyLHneSiBzJX`2!|Ls?HwTq8hs& zNM0Hjd3#RM-nfjB52My& zBlK_B1`huuF4EX#?JVgjAFB9b$S2!(7ferRZaLgK207w(i{;*G>&8j`Y8vD>D={07 z@7rfCOxx`4EJaF}$=}J}ZD14`^ChQdb#z_+U+J8ktD1$M>7axjue%x$zqXQN;{4z* zc{>MYmXI^@VM;ek^6&3^o3OFDKsR?TufVvp{ZfiR5B!iiqj7e` zr5>fqio=94bdj1b`|>9tLcN#*OD0mS95-OcRZI66mS9+{sKn~dVYSGs>s44SC-kcl z4I(Wh&V{OV7kz1BCGIG;cF@a#$(MzbJydbgG=Oov=*$Q=0IF~Q1oo?%iWzB+! zfdr4nQnh8j#!1%N)NyASMf;EM9$K&)*Q08j2yS?y_6;4vIaR}Iy>yR)?A49qAEK)1 z#Ez%$6pQ})WM*F5KD115@S@Jv3AAM<8*n_pS7|`C4!SvOi;H7rp)(G;`$p>>5E3_5!XOs<@auh-YXAo>Omi93`<;eGB7BR zyyg4Qn)x<{A2WQ($q>IT4wqlZBZMA>BJ9922<|1KV`Ovq$&C8yvM7!A`AY5nP@z}3 z`$@vnjs!&w)z0?QH~Tjq;_2c(KK!%> z*AqbovhkNvBE!z?v{1J#U(5lRgZ=9K z;g9;fA*)>>D&P??sOfNL%2`>J-xWcuClZ@Q3>_fX_a}Us&SaH8-lig5b3t*iiiVP? zH@f-T2)Vz4Sj{-;lg|T$AMc79|4^w^8h_*WdfN>*jIWKqd5y~Letj-nfi4f>9sR}b z@|||x>*coe*4U2J`mCRICp{7REAJP0C4l(XMcR+_;Ou5vIG@ob`vern08=CtAw#~? z%*ZN=OxL80c}v7xE{(j!$t`O>syOPg$?q;wV4Q9dsN?Ho@5_NQ8m$eBbmDv+4!96d zwZ&!YDm8EEb7pX+%jfEKI^&lJ8Gzc?J$zT02tivV|0$kc-x>XxvHMR0-`j%kAKl6S z`Bp`m2;+ZQ$UGk|Nbl`anZ4GOkFy+ zF7EIHpPXfdT_U87!G*fd5i|;bv~Zj89fA!(t*g^?SxrB^{V8CaauQCqKXyxUnXhrHRHSUHI&L z${K%8kRB|wW`&`1$LWd3z4l5BdZtT2Wc~GaxtVj4K&X<3gD~SK@SFiI0~*IIHlXB< zU|I=DB^C0ENou6}1N-SaJQ^i9TQ!v8loYU}+@U%B5FL8xvfmtbX86P(@ z3XkzV-EQ@%w2th*{89Jl%1CGM(RQoq-Nn*pocP3IV}2tx|q$$DQP)-pHaa9sLvx#0klj&w81!xEWyfF(sAj!16;GQ>42p%v2$A# zIix*71D3bE6HL1p;K{ej#gz@wO#0Li4D%Si3`MP2%UYoofKIpb`GnB~T_@Y+w|byH zCRD{i^7hc59xtxd;*PLgBS|D#XEQCaFXkHI{>#!dT3`r+TZ6BCxkq*3HID=XC8B3P zYfk0c>5frUY?O1WpW-Ofxt10ge!h!f8HrTPp<0TnnswhMMP?S2#+ZVdhI^;F^?_L= z9fw#k0ks#Q@DVSpk=Y$G ze@kbbYC5ZPJM%-~8NJ2G$$=1x@2MFQ-QYZZsWs;A|9vMm~%a$W2%SV zrtPogr-CgjKKhi_`~S|oAJB$~msGhpiJFZ8zHM(- z$lHsRt>JUrsug*j12Kgl)MPy3#rANx{e|qTWx)AmaI@n8!0E#Co7zWbBAHwti&wi| zL>;lpsxs~%UN?TZ^WSf?>jjwa3&j%uk?l{--x|L6Lgb^J#cUEUnatjRKFo<;5Mm00 z29Bb5rEVp%qUq3iq1P7prKbWD!?RLSyBWX7E!I~&0j-zgwvx1}e1(2|vVCF~2ppby z$DZ&T7IJ}k`2H;`{8e}0{d@Id*ZY-G7=L5l7LxGy2BZsselC^rr4#t^z}Og#IppVTqa-TaY4H|Ih)Ud4L)*VkRbTYC_`4$n zJ?+z$V_&UdD$l(=7n!*$-?BCsKi>4~@b)WN1D2(e!Ipm3=kYwbG@`1uFn4+`*My#- zCaRi;mnFapw8VV(P>A0t52@u9my^?!WA}VwP*t(zXF^xI0AA6r>}DW8FgVd1WL_O((8kT6KH`}uqkca8{ zEpG;FVh%;;Rqs23kdoHZC>;2TC)?uY4ww zG@`B*@XKpa=%=qB$1=-S`of?XWBJCEw;EtlwB=|xf z&Zpxp@&jo7sX%4=ur9~<2Z2J|yQsf!;*j#IA2d}?Tjsy+B>V`({CDQca`2AxmnA}7 zfRl;S)gM>Yt?%^z^v6u3Hs$yqkgqTlZC#IZ);5=?4BaxElTJzIKZ4v7f+mi4Tx671 z2TaedEOSekg&){!NCmbZa!+3*A84)?^A!Zslmed|if$6!f*{Hj^tFuBG~BSzfEo7V zSEx(B&Dm^uBxhE8+)fXdOS#dmcKfGHCdXAm0JZb2@bFHlBmTKiJ`Z^!P2n%FSN)}O_F4c@_{9IoCO9g7 zF{95r*Z;{=mXYaP?kh0{{ozm>RSdP#CE)Pe&X6R{QpeCxPPIN;dD%u;`+AoXvphdY z=eD?jq(X3A$+J2;JB@C_e~C?paw^VFP48;|BEW^ilgfy-iz1jdWN`>5ex?4oo`anj ze(4Ty4~@{2fM$%#T1`>5flRs z9@Q$G`E!%5>UJmFX|>1_#!KoC$8D=;{xM2POscvUfDrtF_(6@zwVW<~VVZdM5KVQi zbw8CyM_eiIsmba9r0LEP;xM~QWna7wz|{jGZF3$y0nj?Yg6UbI6r$qqzG>e2=ZyWw z(66z&Kzw#U>O&34hUfow-k^fU5Ve2z$kfso9AlBiHbT7ItRn6T4;#N{&4X&qR|XP} zn&9PP2B$~O{d#ohPr-r2AEtG?&2*dJP7)XN4b=^P0Ij)g0;y@d?!2PKmAbGeAQ`cq&)n4BvxJBTH0wUgDFCA&kzw=(?-XzsqXYc z0E`)?Wy~S!SUwFD{?$#IpH+j4LVccuaDwh^KFf?CTdR!G?^W^d>AaS&Oxd0)?6b^x z2`nzY@NjO2A*{%Jz13)=p1C=Gbk*y_veb0H{g-JMQ_t4c@$2%Z4?J6JBNHiSK_yH` znF{5$aeuoz{7c(b1y^}}Xyv5Ve?ofI-?tu1iKvB#yqrTQz_DAgJ4#Y*LgD;hX(1_h z6DC^t%JNW%uH8lPAPbW@K}6g{7C4N?6lp1Ep)G`+mnr34Z(~X)z_c=%=XHx zVTOTkHRs7aU8}owVgUpNT*rHv zVXWBJNF17&_tbe_&!<^yK1tOGp(_aCr_}SNX^Ht;Kv44Vm<_ zZcoSoG;;=@raew2oX#S7f|?!!(BTry@w-w;u|9Z|5@~syqNR^gX%;vnod)WcN?DsD z#KV!je$}c`XB4NfNovm4%A}}Pp}^HnGVzz0@^{M(a}{xIp(b5(nLr&y-0qs3)$Ye0_1T}%g5V2!-uA2o>=uwPwK;1lEY3Nc z#BrH`Y}GZ4y85x?r8h&)k(%erC6z9RZq-fb-KUnwBdk2>F2=9bz_#@%k0w|izKCk+ z#L?d3DqYtNPYD$r23`8iALp;1KuU-Hwaoo?6?8pN$LlFJGGluLEE>eqTRF?jU*g$i z;uN-m$awdyvxTvbL!8Q0s)Co}?3S4H{Cu{ird|Vo>dYJe)2!gw))}ZWfPAffYPR>W zszX#Dk)@TDXOL98vB~3ym6Zn!o{!676&Nd(*uV`j)i+M57UdI{gWkxoJvT24&>P{O zrSE4v<98n}TInmGBJ2NU)hk$c$m1$&Cy9~431rd}I;Ii~_g>b;DYUD~>*`Vd(oo-g zliKyHTG#$W?ouHaTWcO^c;Jpct!LlWD%3A>AQHEVXf?MKu`!eu$!R0KPspl_XkFLv z0al3sl>G1e7vxi?>S7b#^bZJM^t@y-piM);!sULS1M9ZE|Md;x7z0!Xh9pYkwsbiS zDUc~aVpiQK`b?DU&~;kgeuFOLu+LW$c`T}wt+s_+F;`lE>*}A|&j?2MJAdaOWG01% z_xj7df4&=ZI}L6{{w=+Zy6Vs)9&MAfHUv@a+_^`fN`dtEMWa~k{1*+n@YW(oq5f2Q zA$wfMspAPJxNN-6m%+&o`XVVh#-??P-iECw&cK z-Kf_|3FdzLTw}$|^XTkqij+7hztwVi@>^L|pXH|Sbmyy;$Bx0Fxig-|n4#YIwFH|d zf5$N3Mw+kUsMzX9l|$d&5Bu1P)M?f1Efr-u?2n@^6}LQyZzJL4*xY{NpMNEg|qzk=DEf>q7+wc+A3=Az<@xovpckQj$bWq~Eu8BiKMU23a%hfSO)z`03!nfJ} z3Tyv`4hMTi+0|c2L+|N7&dQOa%fLxA_qe7C;Fu_4jPHa%3x&2Ro5NJa#ppx!9tryo zrJB$jm`w5tUtG$3_U*0)Yymo^jQ`TiCJ{*1Uz6|czZRq~C4RG{r4(LvNKOr#j$w(= z+*xWnCK2@kcjMy{m-9+7yxtn1RPGtTJGrz1q7i4v@vjO7tqEHZRpa5&rMEzSIRBG7 ziz-qownwCgnctq8wTM3K4@0jF^$-jZS(fw4Z;Z_1`XoYdA?C$f+mtoTMftT?e8=RTn72dvCmt(3} z0dGV?W%B(yB7)M=QaRZxgR9~dYLM=|rJIHCe|-C8F5fhnkq&PI9d4e|uQWcG)F5Yz zBu1bxN@Fi>IFOA3s2!$h0H%^?(u=&|^sExF98c9a!km*oo_;;+P$R^nI}~0L&86XP z9l7ZSUMRTFKB0H~hP=Vvr>mzOnqx!GIw6kVSoDay`1KZrqwD4=+P#~tBo=kQU{^P| zaI_Bp_4U)4C|Nzop|Pm(!BT#>TN?O(QVyu|6?SHdgj+*;z1c8Yd!0Gy;rMCJ3om_k zkVZIAA%xps-nh-@S;%PGT!LH30O$s9{)FQDANI}uj*~!n%09btV$U9>%_#|t3*52O z*J`<*+q})h=MDEVNE1(svORl>6L(0aS?*lP*tnF!!slL|?Q^q0-K7uvA&#_jyy~i>wOx$W*L?GuUo%W7=<-x0b+>POMn0eQhKqIw>88IwABRRZ zerKRKgcn4#A-#SJT>rh(oYAMZftaTme>#x+;^|PAar~yASpzVI_QWFZJVw1Heqh(h zi=~m;rd&6;@|vyCpBTH)QW+5Bqh!Hggx!5_-#_!>id%R}(ywGIje!Bnhy-hfoZg>( zFTQ_EGOjT-)w2zQGFML0$vzIVzJf#5u|d~N7rgw`b);_@iYBUf z(e2xm_tTFKSRqG#JHBvcjkyHN_3Ot4dzZOp8Wp8GF~%@ax+TDz*XAg?8?rg-n|j}VtzeN`uzEF={HYoXI?~^Gion3b!|(p z5dVBCIc-rr`q&vRH&&m1o5u=Vlqb=;a?60(KMha*yYJgvh!-}6Nri6Z-hC;Na$Ctt zB`YLK4ICjMef0W^x-}|iUDEA$)YS{AoFSK(ceFr3A+ksRR`e}a<-boBRrGxJm`s$e z0?#|@{u2XZH4kWZGuNJ&adi9rYE5K2^eZKeXw6h7QIlFrrM;e+A;qrpAl2V*x+iNZ zvx;)3g_ZK)puf^@HjsT5^E4=Izt>?^&O=5zEfAnSAsv-CVklu3O zwWm*Q#sCQzxi9;p1(I5>7cb%VZ)f84Z3~3N3Ogdr7Un4ba%#8wGQ&K%XS#m*Tz3|< zalJ=(N$a<-3=RjSBi{NHZhlHonab@{w&A}CDv>^YpoPZ4m?g9WA@;oP_=~B&3aC+F zH~xYG)aUx8^SC6<9Wv~-$QB{QX<%4GVk%-qYVq!A3_*XSVAnbCjX=_CP>98$Z)6Fj zo(Oh33_kmFb@iS8aMw4HQa1B{f15vP*vr3)so9~4{9`*YH~sZk0->KhNh-A9K=*c1 zEpR%6CYY+-Xl$6&*Fo=j=FpguTl-d^`R5nto~5`RG263ox=(+aV!R4BO*WVl$$yq^ zl*jIbs-Y~!4~~Cxh=X-6X>p1?^+Cd6!V^CSU4c*-3kyO9{k zi4|V?x(Jtm5C`j60$1aFPuYI2FI=}xLad>oS1)Cmn>}r3FOMR7_Qx(?ttQA!&OZH}tgI2_ldiLM zA`(?r70imz3QhU3_h>ACWpK29Pp@{EKk4b99`r_Hu>X8K*qZ~{F9|d>I~FKSQ5vF( zNa>@+bmNzz>Wk57>%hJr^$KQ}f8ka_D%GSt@zbNvjf$Tlbe^Oo)gr7)2wKTg-tUz!or+6Ok8I_)S%V6 za{U}rcrjUv?V>S z5)a*)6Xh4?4PE%JEA>0O#M z;QP6Nl#yR5Z$Cwt&l9MKu|~wnVB=2ZHUKj(0+De|zCQ*ZqXsVy$;3VKGNtDm z7p+(2y!k-SL@Ox0n(#PzOMFHM&U?M6%Kn4Rh^8=#W83|@@5XzPbu*uCqFC;&IV1Vv z_R(k6xNgf~9|k>n+e^J8K)O=eYQL5asPf-|n!VsrPiN$5hY8b%2moMD`Xo2KG>yN^ z-plui&Vnr7p7o9rHNkhM9xBAVFy}m=jm>z;yByvXm$HhHy>_Or5q$K!OK*$GM}Fou z0%>5?nt4kxtHtC?5a+3Z6V0q*2foz($K9D9Ti?=fo16SWhfna3ny0U{QUP+!A^=qp z=_Yu2A5+tgDHYo)As=G??~9)F27;5G$g(rr^Xu1R%PlYSS~T#b%t7%7VvYFA^q};2 z!lzFmq{5xz26Z8vl!WP{^9VD|N?+@Mtq4{({P(w{M-5AVzv1g8hlZkx3VzNQj?|a6 zuxlO>vqpoRQo45*Eqg&H50-iZULs{Mjrlps(8hbbE0vC_`B~x#CpJ$loUn(*bXpHt zjr=f?Yv{ds@^T+ctNZ?>0Lhrm>P>j8p>{ev7&^(skME+DkzaCslY*@&f2(emDX;U( z{`be?&$7t4OB$qRG~eYy&W_omXx9V&r(uwK=Hye)T;4zOv3UwevQ#Kd=g&Ve2fTq-Qu=-^vNPz(4@dX?TH-}u zl&625=>e0}Z@_A-s)dx-Yj5(N3E@mACy$GWn`!k4y&oOOXylwybtugn9@1fY3VAh` zi!9D0=+YWvBQz1Dv+&&8ky)xo{VrBEHeWKXrk_wY{h>IHvTR`P=4YOM8+;Jgc@fTBjje zx$Lqgfy&CZg<9RrcnK>Fq+oO*f+$&1h~3(?htn1HEO7`hbJ;p7y7EfORh#~HQ_IBZ z!82={us1+>K0JJ|zGRA;DY@z5L^(Ci2oe zq7S54^$_N$7dgE(*k7BNqb`3AJyT=XB{p{6v=aeTR)c!RZU+7EM<_W*3A-qnvlKR< z`}NMWSb{(*9V6I9-f7(__8Pb{>}bZ4*1z*hL#57&8vjJ9gtE3+uyX7jDK$yE4) zH}#N27NtAEhSw&4pIGRv^wnG3zrDj|E>Dk}jOA8DQ3iYAN+vjcx5o5X7~T_AsALMG zhJsx3?+pOO)%}^?e9E=cYDm#LV5>l!p9%*$${zU7k#n0eK;1g>wC2PL%6v&qDpt83 zlCqStTu`86bC@h)ZK_V`4I8+kCT~CSXou_*tDq@z#wjPu-m|CE>^;Uu@8oG|frv%I zK{WCut1kC(a;G!gwkF>7*`z@e+kS+N57Ni%Jpp}4S9dD#k1QHa3^0MT)EmFP?Rah= zck*2yQj8UO{Avq3xM5gteO`MVZczUAYmx=bUrt1`h8U>q@u8wiAMe#)(b+``e32q- zd1o-EQ4{=L`L_3D#H}HPK~DB{M)C4}_*)h1a8s<)R41hnEi9*lEXs@gSl#f9g=W=j z``Wd4m1nVRKO8I$awFiX3j02_pBKWlCv9Un_KuW*G1&THs)JQ!C6E+%*P~ok<)&BW zq6xV`LzB<(U{|!xaq4`riMymwdHY6bfgo#AzNRe z4i2>RGJ0~t0jtsW4=;zEJM+Tep6`af>RO_>lusLctDiJqyk(;zG4M-H`96QCpektZ zKeheOH&aP7k282=q;#xHClPBZJw-P{>sl1W7&$1#0GCvoN`YpW<7E3kCy9;vegB0*JRZWkX)2}Q zr^|aEVKe!Y{c+kVCV{9wcHmoEZ|-rm*0Dn(SkGMtS?u-%1zmF?40%P@JSQi$XyVM;WDu1fWue-Q`gpTO+~(gVy{I?5g{O z+e>g&p$65X^{~4DWml!!=`@vhF*&h!(aK6iy2G6YoP;{suL$2nhpD~%bhNCtw#{K2 zK!cETZmUnA+(tmQ4&S7oOB61>K^ep9gdwUsst&8}_eGRvWvgpw>52o69gB=xeP%y; z8P^wy2tLe7<;Y`>NTIGxkQAMPzSNx56e%@sWrs%sCKKO=HE<=9gl_N~u}Rp_b_ufB zg>SeY`DL(b{wBVZTVmtQ;-AYnCpQdNx0@v9Ui&v-*Hue-0WRr*)mf}y?xNt&#szd;+`Kchd$Dio%9jMY0&07Cl;Zfo5$BlFwFSg6 zM~6%jcEvM1w$y-=7kU9_@Fy_R43jpoj_~9`!uZfT&9tIE68U}=>72H7^K;1ku1W@Y z(2Z>x0l)Hyacgc8Y!qzwNM(}%j&Ba#sO~G=b<0HnA!_UMQTJ_p5yMu0(=6!_`?k+Q zwO4lZ^yf8#x5-N>9f^_Qn}-{xy!U?9Z@K$%8@F_(ur@vE?<2X{#MIW11o?1xWJ$}V zo6s?BbAt<51sy+MT)CQg*GL7ohG8#6EDX-9&3q9mC5AHmuK?6@YE} z?nIY7CpG-AZ_88y!}oCAl?!iwRhbfO=a~TglHNnyLt^gZLqPpB7UbyXad4oatejEL zHf+^PFsMxVL$`*W{^K>6fj-h8&9mxv>g{uU_MQFd{;sA=$U?pe5crQbt?#R1KFrbmP&ew^%r%^=vH5UtkqY1-5{8AHkHl@YvX z>I=M4@ zYmM8%Y6y!egPFbe|4paZVX~&~WkH}-N>YpQ$=TgtBKa*1CMPKG#ckRohUDoCW-~J8 zhNN`uUdVJdrG}RI_z&KHq0PdNwzz}P;qbR6A1Fg#`aCfh#JZjW4aO)zR5 z0&UggO!Y&?D2mkh5GbKE0W$(MU7H}ldsl_BGC>n2ew``*MMY&|=W09NV-JK&PP!bg zb_SS_ua{>L0(*;ZxWQUy;j-;CBfYA#gtqpIfPy@)x0x!n9?v0%b)DMgKs{ zuRRb|9~Q1EvKFog{vAH@Sc_a;W|Ot}kILAU-Jn#3Nn52D6h{aHNX}TsUGae2qEo#P z{NBWJ;6a?tbE``J(;B0QI-*`?#`mO$>`1kWC+}w>5{wU@YvlCnYoq69p+baU5Rs8D zoC66EAWW)8c@l|R7LY0jMgc`~%bB-nU zCNzY^0ou#OwoV&JWSvvVAnNp{8v}z7hTR>{d5{rovV|rR=2&` zA)olsO$jEj2WZ2gG1&XPd4KH4Y4f-7BAOXO>dJ%w^;;#5?|~HmV;W=hm}s@|lxJ+R zFUm+4BiRP-qlMCPC&9pnrt%5$Pu`O;r?{5bZ0W4R4ehz#;%o-!&;o+I5D*fRZX|!? zi$FrER&EQmuBW@oJ6An-)eU#rwtY*se&G_9g=xA@VM5+LAlpfsq&96%K?cu=L^DL{ zX6E~buetnG#5en51^;g8g(XLan}!3s-6Y|yU=KBHEAe6Q)+yUA5-<@<7m{Xo3~;xl z>(B-HE4zBE%guBuAJ z4Z0YWdK8?MlRDj##Pc%`4uu~JS^4Cxvzd4Ziq$t` z9#Cn&TBNBAa9hfNAevujPYNUJybdH(|zd&sB`Y;r&1sLi}PF}@G`jo{%?kp^-z zIYrz|%w@}q8)bP<_!Xzok_w+!ju%&PB@`WYNv_vBJ;^i>QoM9?fnnQ zbJicsSyE^x@tV8UyHfYMUae#8g{f?Wu2m|pEC-x-ycR8;dxp>urb$!N`W-OF1Dz?M zEL0XHurk>@nQn%;t|5P;e!~fo`2A3)tkuHFEb=-^Z8$Wdjiz$r)~R#8I5{`kVx|+z zZtQj0V;H*+QY|}UUNkXe7ZD0{YeMIo-^wN-8m^UHunR#9oVgxaP-_Qi%nxoe&?fu$ zTJ^z+pJl5EYa!EhWmvHdiC<5;*WuYh+AP_9M_q|W@A@(nRrUW#EHtgn(5C6@rH>>E zOxNT;Ia|GSro!jU{Mb}jcHtir6$#P0nR3eor{`_ynF?7eAyWySd$gx>s=W@tyoM4g z6#R8)bNZl(O)W4EM z#))sJo{;VU}jD9IF91>6Wly)cl zPCx077!=dBy7DDN#B%+S-pS)E&BU;r`=6IWpVOWjCxkb}JB3amIojV^@#IE*IwI7I z%hy5*!c6RyMNP<%Pq-SY^!Ub`GyPp4&4|wVp+3^>{H~OqM}!n9FAiCjvE7CYwSM7B;!aJ+rxE}Emnq_dnOH&v&iC-O})fF zv&1eBdwlm+VY&iRYqW*l9UG1jW!7&60YkFff+L=MgOYKzfLy^XWekLWX@o`9fK;mM zgJA|gYPDGPv73%UeF8O2fFf9e_&3&K0aEOjTSVzhLX8F>AsA@ZTafEfZmp(ntj8PZ zM`NVMiJ|vC*K&>3qYYv7;E>436cc@1v34ZI{x9ZnS(pUpGXP)%P%u9h>ZAi!H#B$weFA%A`C?jQK|8eeQK zfG1-<`!L8$-G4Cw<}Q?=Ik4dwVh9@~HRltv9t8i_niA=L7RqaUE{qvG-U(_SH9sph zBwPg7OPr#Vsyu8n-r}@gF9PDUWR19XmG`K+BEbyC*63xG=oHmv^cxjv*0O8( z&coQ+ZFJ_UY&i7REjHUCfT;;_;Wf&HJFV??E1Q?HrPcqHRl&@)(9qmO@Kua(n^05h zA2@H(LUi)mE@g88G<`rXREniAEsVKM|4dz40$*)4xR&E#eWTkl!+#;k(hy_fDNbT} z?;IgTevWNU@vCdY5KOAmukq?)r41vDV{hT0Oq^Y@op84^#84Jm99foN@+Z02#yFyb z-wWup_j#JN<>~peTT{Octp5OWdmVylly9MsPGq~~0;;Kynt^kLo|X6|5BM>m%mJ1T znoEik~^8%N2_Vwm^1rRk%y;(Xp-O? z;{Ggip_r|y60s^~Xvo{F6MDI!?dVg<{X+I#4)hZYCryoLA>f#87=lD)AS_y5rJ53@ z^a}HdxT>4iddI(Z2}L{UK>PE{5K?YONxSyA}x4k2O};1el{W!|EMF7~6u_RTZlZL@s=+s%X-va%{iQy1mK9pX>wS&CT06f6{_Ceav?ejNibFtAyB7D#oMK3gCPbz79j z5%m=MmER5VuUj>Y?o~TvDnzkX)&;~!55u1^3x-AwV{qVvke8<>yIRjH@;Oyg)07OT z@xS!wwY*(0!ilN9M?xA-1o$iH(=d=!=-5IfG+a|oz)i;x%#7J^&}jD5`R4bIT4K3D zjf=nw!g2aO&M2ozZ(_B~r*rn0*JLr;34`93ec-dOt7-94Vo0#W+4%Oh9Qssa7_ix` z&f}ScyF^TV_wEpjCLM9T`Pw9;`u&RziwO}_&3))yf!_Jw$pf{)^BqYMVEQVd$pbnb z721K8Z`uTZZmrDd-GKs~vG#!Rok^Y9Idd})DkB0x>J8h8fXfZB1A$bIY7>~r+7iCO zSi*aBZs!A_wLCxRM|w-qPS`us!~j;w7{HDX(7{AZ2tME^VZjA%QV%l3xI+e(gL?0G z)GNW_Vo;vd9b(o!nV#?^^(Dc>BjjHR8fZM4uh;(f>E*Bt-?JNnH|*D!!D~tcWQq7P->%@F7@3 z&S>utAlxY!I~b;;=$=qi4+o1uMS;e*$HElgxffM49Ghbg-EO;j!tMJXmnba(%-+U0 zPffX(@amViQ(W}beJ9=Kl}Q7JutRU7cl-2%?>S)x>mic_t%2-Z=XVP?wyB{%`yq;^ zntoWA;>E{n<>8YV)JbFDGrMWiVovgVP0Jbhe`Lk0q|t#*R|E&1$pg9!)pRsD{}nPT zgr?kgh~xTgZ?eQ)c-kZ`@|C&zr8BaWstHH;s3M7}PpC8JsRkN79imlLq=5B6k|T7( zzm9IvL$l-f82ZGy!~4DN`NHuYc4b(em{a(4Vwt&Kt;m=#W2`TtO9q`Yz3yAE>V^h! zDr|7Vj77#44sP3axyq%NG$ZZcq}byEQQj&Ac1i zYFD*dMc7K3N5Oc6P)x+wOUKsp{X%Oyp3O_N00+M%_&|Ax6G#dIJ&?Z&v7dA_6UI}w zM7qj>eGf_U!=V6sEomUHJ_JtZ@_S8LghkedJzPe7Yz!&8pb3Baz*7d$2m1Se85S`W zH3#1t%bPa@TbB?+Q*;Ry)`j)*Wxs)1(_USEA?fS%u0x(L3g*PRp{?Yw5-hZT}k z9UOc{HLZIIYp9f2j|vVLp)oj0jkyNxT6#=wi+8NYUW!Ok@W-$YgJ3CjU3{nsouUKd z*2c388(HZ>Ms$jax~s4cnnwOZOwP)pSmN+bhOs`xV3fPXk*3%rYZ?{hYa73WC2%xT z#vj;}2A5f@`TTY51d{RDriWRmQ)HJ&nX{4_Hu$cl(0q_Ck)*&?+`40f;s3kE~~{8XKxL zuOk}0rTddW44tAAVvX#2^lcS61)99n1CZv7`8?8+^mSy*O%KL)nzOcx^u+qh)m>4E zh8zkUn~A31$iTwb{j{?7^|T#%Y_|8xnc?-$1v*P48$=${T*U*#S4Vz>OZP>ppe{Jn z30>~|EipEL{zAP9Kjc!pY})Dz=Orm$wPNHsH>1xAX-Qu%8d|ZJF5)iR7u14viRvl} zM3{PQn}OsK$Vjqj**rNMx|+fHxGNv0hhMHq{D{$eFLFJ0|2x#7@d3K1R>-HUMm{|9 z_^Sl5ZnR#hnN#F*x6}6`;rE~NG~W`{i*jb#zT7+2OFE^tWJ=&;WgN;L_}@6Ak{%DX zd+ZLLt>}RGHlmpMfVmwh-4psR#1h-L2WY`O(FW~V^tc`VTssy`&e!}+4R|FD7*}B! zyeQyhj`N46rVV;EdV3vN(B>cdTN8TN4cE{oaUW;H&uc<@&7f1(o(BSL4fP&vf z!j^_<827W3ny-PGTDm?fVJJ-B3e^7nAH6jV?&x>-b3LGh{wpN-&?}kn@nzvXyay<` zIV7RmwmbH8K3;0c4sZpN{$-5XHj=|`qhkV5*k9(!+DuD(0jeiIrH8 zTS&Rc&?c!EIEU9*h*jfx<_?v11GRlGsXPz|Z*UIs!@Ya>e2!|5k}ZV=19L|`hhtSX zUt7r3P1b^fm*m+(0UzGHvI28Ygg4H~#P-l7KD@bd3+~p7ct8Whe34r6&lw(i89HeW z&dzh*Xjp70Dq<5{%>w_|9M>;i_7@vWO-a z(?Z37PA(zUMf4*BE7XQT*R0JX`oS^%E})*o@UNTexK!XC7yT*z?#q*zx$K|T%Dl~5 z%VlpneNEQLH76t_KTbIgV;{p`%(kp(L8$i5a`?3#jR5pJAvvAI z2>8i`o}Y{7g{|1UaQFnR=uP+jJ;!#T2Eh)CGOYhq6Z_>QZe^6RKK%iWq37b`PN~^; z`0APa5}cR$$k0q`3pS+K!0^w_$S-$k>nQUD!eqasPIn;nm4__X0NPtQQ&h8pEE@WH6vTBQ3j7vP0|@1KC7 zmIw=b4Vwyk)(cZ+((+l1X@^-_{ zAyBDiD3xL;3eOF3WoP9H;YO_~!S-Lp^-U+P zp*aDW4Hj9KVG9T;9k5$JQo4?)7P=_JJ+CQP!ZcUfh?9XJ1lias#6JcX1LI^EZgogg z4X3pdoNo9WisjiRG2&Y#6&ahm3NNMns~(u~-Zy(pekVBjsjMauC-d_)A}Qj4IeOwi ze$g75yZch3Cgh#z=UGXe+7*z9`Dv3cl@#37AqkI1XtkMb+U152xbq{^ObDs%w?c;7 z6u8&(D|5OQ>{9>I7s}+XmNg|;a7|e(bM5$TYR(-y4Ua6maDxG#0yrh6D0|OwvTGec zcg+-QwKT2Or%k~!(E{B)l?$-$>nXr>rwBsQGUnIK9 z%RDrxWs)3%8Fk}~K0Zv^_#2JPvk<8hc74}%{82{%l8c5@H-!Mvwf$L%MBzOZZ2<9+ z6?fHriYDz<@=O4?DGltsT&xcszFi{o6U9Qmva+13{uw;Hs#ucyF46_Y@1rJ zSqSMoo$jHWFb~d#i((fgPf<}s9Y|>>pp|%oY@n(h=^3q8#dRiZlrI%JP8DtOJ^L4_9C`L&g8srNi%~~ml4eBI(*fjrjM^!Fmio2 zM7s-#oZHWud-<-hrR7BqiFTVt&vn(D%b805A87l1H48T*ecJzD_XzrVVuronTJ z4EP{585@^e+bs$*9z>OgNi|u~!7T>cU5_!qmsCl4F ze_lwG@OtszQn!)v;jyxy8m+^Js+zKy)5vQDg8DpwB><{!6ZmlXvJEY#EmO6tWCeZj z)Wx6RTY=cZqiV8X6=Y~s>dli3T88WXx11cp*5V#WddtP|T>BO?JUBsqI1i*}alcV7 z@4ih|28h%l|JN497tTA%X}*krWKoG(9l%e4MVV?99rDkV0;5 zcFw-6cg^z%e?ImFF^=gFs9KHT7{wPm$#+=f`An2Z)G~`jAdo2S1*`S=W({(CDhLKO zfWWZ(3KbtHxLg+mVUB}>am|+G$9b+t*Ci_!PV!^Y%g%n^P zi(+%{mp+SSTn;qMQ97t6a`dVT)7AszWg-=tLAu-0UT!KL(6~3B`aS+|3swb-zw* zkpBLqtr)0YPDylNXw_Vfo53(4*Run@V=cV}i#mrI8!Fth-gdb@44g`EV5zq90H}4D z*UlIOA;*Ut3B#ZxA!?P7MwGX@WI4Xb{Ac@N{JmYJ70uV!jeOnz?G?`Do&Q}l!ie|+i626&_%ixMe z+0PRbTXZW36r?XFycNTC{dc%_Q!;yQy`iI#NA|#Y0hgvru6sGIttuv z19J)*%+0fN&@|+FPMA7aqjfq6^*IfSQf<9n7f={3o*u~ac|O}2LmhQ`RoWN0tF2PYn2tJ zG(C;K&TFCcC#{o!-TN!X{$-g^(OVy*l)98I{G5BtjN2qS-c@lBgFq>peUE$j^?cH# zLS0I<8%{hFWDo-t-yqjV=;R4EE*b>FPu5qRw)9KEg)-jnjUY^4Rnajs6luO5hryyl zu4jYl(51{4WT=S-6-3=^yCYIAW&P-Au2CtY9(|G zSfZjs5y(h$%+Mm^LvNE48yrxSV{EGTf_}^4AY?xeWGvQT08Ez()ruAG=D)}FHf6p~ zB~i`ygV`Kfbd^8iPJTbD1`C$ze%loZa==3w z`VAZ8dUo%0B*kNj3QXn1S(kYWM9BQmTF~I?g(_n}phcZs;u$OC`D~cJ&}(l&N1$qO zhFCe3rGJy#nXs5PaPM|H4h=)v2;&@r2H{gDA(}JQlqj2$jqum9$m#ZX;m^3A&;6#c zn7tVnC1a=1)r*{RNPLcf8T1WG{Jvk-nNcb?UHZ4gvdQy#hJz3uDiBmi0n;Z@%5as- zS>OPA)Y9o16u4SBMq({}$n|V-U|_R|0zo3IMuQ<2*R6q;@TY<*}G6HfrLy0@J(%T%}HV}#oH9eJjT;*~Wox{!G z?)USCAUY}oIS$K^@ia-4BJF^?*s_p08U9*U-1YyE`IFx9xpj%9*!}HdqrqoFl)Ai~ zL*mB(%v9gP__bfHx#c1!Df4$BHn}|}CnAJ56fEjsDGa~yZQaLevY!D*-~g~e^+Jb3 zHPvY4XtF;95&=VjU_daENKOC-3z}-#WE&Ux`nbTDxT5;$K5i|Hjt0XR zgqXDVF%+d7P1H&PO9A_c?QJe{>VFgdh|+hN3GwALFEPjfS=5T(A5F%OpgBa|LE4vS zXl}mhDa-sqE{hzGof-|qz)Dj$ckn1P?(5M`MZTRCrZQjzu_!oUICMqA${cciP#h>A zDhNS`Sp+~7BNEb{KqYm+6*FCUV+|q!6blu8YCD@DZNN|*P_w(3ePRd&a(PfB486z@ z3%xINRjv5r__t$Ur|eG#0L4}jrZAxee);CaQaPvOpXT1LN^q!Qy;mKKKHE~to%|y< zd3lhk6xhl9_!cApL_uKUimSh)TfkoeG>jA;(l0fB%3N(m$| zQss6QsG24)8w`vIMX{lGTW)cc=f_H51Z{P{j~j<^sPm>tM3~I?$1p5qZ>~}hz5%0K z=v!Ij?)VSMPwC^(F|kyfcs+JyhXP=|yO$yS2qm=0Yk*%z_W{!tCoJQu5|G>bF-RFx z0fE6`bd-3<4tI2rN!(Ltf4i356jI0Vrr1z(k+`Ch>lcI#ZRY zgqI#;TBJoNV6HMhjXftKK@)_(vZ-akoIrb_sazfuiGpE(0_s(jC>#E8{fk^1Xw*4X9S#-+^M55H~&Cw)2B~7#7B%@z*Vl3cEUaR%r66Vt0OB}Q@80s{o)jCF$6}ir1 zTjlwjsOSJnge^J=1QG_g7B<-*5&>t|#S#p&34}mEQ%uNs@3@YNMAsF-V5dcg!E8n? z!XMi;XJSMJjOuC?N;-00#-?(8=n!)_fC1I5jD;-K{?Pt9FQD8WQwy!6%aT(IASY=5 zvh!|1zctA}#h%w>pmWjs7D}`|TPe2MA5rD`oL(rp-otK}YykqHNQO2nkoYLhx$gy8 z<^YM}>piEw-G4R0B|hD*Ne=)>O8|z6)S)LF*dW)(pz5N+4o8sT7$s1Ft=87$IIE7K zfGt(;;&ue+Y*;XZMo9kRGiie^=XpJs2(LTtcw;I7D$ z;1u|{!6Da&MA{6o1W!bBQ&UL#THUMO`?h8>E5faE6@M88fJC50V}+iMGXm%sH{ z7vYbW3kV1_48s-xfmEQDK3wJb(Fldg6cmlopparJ)T$esT+XI4rd5@y8?TJpbSP3e zCJJPJ;7F9(_X$xmao5-d_ExrBj$fsHu#o`7u!`l_ub`oYTd%L*$PoV6dV#oPrA8YdH4=h`JCpvS9=%y~h?xRes#0U73OQ8e`61yp zP(dUdR%Oj8i~S+~)~=k=9uo$t8CIFHWYtq*{F*S$8$$S}c0sc#O0cYNIH$%KM_o$M z?_u)$xoV)Q{UF@0*e5#_1f${^2H{Vr=z0A%)-szyRkXg%kazfP@9Qe@Q~MSScq}-q zf*=S{LW+!D<;&wn1$Dw05GVjusuRW6F=ak>1`Gw*{B&G(^of|ZV21}F`QaFW({{NQ zPE{;bJ-UUy&5C;bCgVLrG2kd$I_7m(a+r0k#oo*z@o9D_P}b;}f`lPm@3X`+OjPDa z%wvE+j}?KmJ11ENmOGt(FV}M*v4KJCs0bL;I*NfJ2MFig7nsTXSvRzC?L&YmP?Re7347DNqAgYUb9){WktQHYgee4F6|7~{BHtdB ziA9ME@3ioU00}0ns%%jg(-=a!6 zzDj@3p-_Z+h0C1nfKCR>QuGa{@W**bL@5iqFv2V$ZWU|pQYK}7V((1?NK81E(qW*^ zvMoeC$^OWp)?xu62p9qaH*qbgw_UFP)U|R#OTj<{thluUiKJ;l_z8ZyEVIMC)WFys zI~UDSFknUc2QnH$Fs!N~3l&4mkvfJ!uICY}?Qj4NQ>nRN+M?edf1SHf+9Q=*iUJEJ z7JZEsOaH4U5jThMb2RLoP45_GyYIt{ahoR<^|uN6dNwWU#eay#_HuEi9$1+%02D}m z&Qp&0ZEp#i3Wa+4L8iQ$-*WdV@ws32(77POF<|IOTm9f#bCfDCkIB>m;XqZQ4>eV4 z#lTv2$hWft0h_wkvW;t^4hL8ZEHf^ije7;hnFVMVSV3P($5 zq`5-9kP!)^lzoWG^8?Hk%upL}T{c}f#pT`j<#OGI+@2IdDH2(oT=bn()cD(MhCC9& z&oSc2A)prXcYT+_7`>`EszQE$RKD_2mmj!id%4b8wPQt$4o5)d&+=AVJdb{BsRhcd z>i3-XL;gN5UM2tK_iuIfwnjhNTt;tIL;1K~yfTg%h&bVD9%?c^a0s;I2qZdRRaxR1u-CQ<;v&a;9pIs+wNPy`2FOW3>Uw7) z{Ev!Bw^?FBVU=)`2!K0^ zR&>ho5GZwTjsuIi`pJAw`tthtb?!#FJ&F#jW`Ua21#hv+*8iPjLGMC|&y0DSLjcvX zz8gDA&fZ=*AtoxnomZ8zxP6y<#JF53FbI4MBmn83%iEm!^>)NiCYrt}<$F-R&*%11 zP57_vOLVpwi!lNxI{?&e4%+E- zjX(m3B7C2bkUFPC;NX4L<$9D@Uds~XF8zHUzyd%u4H)4#I9OD)oojw?eTTki;m zB5j~*x~RO$l=ztFS6~EDNktK=622wOZIk`!n7|#5FieUXfP|UUq5~XqeMlq(0|jZS z2Twj`A|sG+2tT33^O&ll{#r2hz%n}LP^7IY-yQ{%3p}PlYe|eC7IapG2IX?@s0vC5 z(n4RIpgF_KsePNfP+lI3PAnxEs_=#1o5_9uKe`jrLE%p#qh%wzo{GF1JF2klnFipOk0gXg8Q@$*`h(w^;RO#;{053^V zVT4ric@XOfj+RsAht?bi4X#@INE9?~9GbdRTO>b^ONIfpH!`&X0J>F`MP5lt`(!#V zg949Ix1v7?UOK6Pc!8RBrzro2Nq&|I9_YY_-M=R0+LH4hHV;1 zm|7ha)kTg+a6}-mV4%PdaLf{@ngHebL2&R+4Gm%&8mKE@hCAnwfyHM_D2h!#Z3luy)p47VQ(hj6CcKVm zF>PJt`-FVYKkpZ?kdXOfs&vd_h%VKCh%2^;eyw)2jp=fI?0VV^cr7>LdO27*Q2-!} zQ)Pa(H>2yzJZ{Z~fTh&!kLdDU9{D>U`M=`ty}ev*C=!b$5=C+9sGe9%{_T8H=fDa_ z*$$$KF0~Jo91}6+`lKAJD#e1BFzgh1+yLA`i;Sm<#A2$1A}K2nSAm?MK~8BO2FqxK znwm)jJE|r@Q7^Jeem*V=L;BH#ibO%z)d+KW1IX>u;>RUfIAWTInxc3@YMZ9E%Kn&? z049hDhoP~k6h%NVATJMs20=j(I_(Z!F(wuO4x04$=4@lSYLR>0@`b&j?+XQ?6LLE< z#5@umETT$>loC4!h*yxW=LL)RIRYrfwQK`qq4?|(oN_z@)TNLaZnDT9GUfZ@f9F-F z1|j)rxXwAps3z|JFkXBc(XJ=Ew3Um?*T;%_KUlXhhKnOd>awJL#X_d@9(t-d^C5(_*6VXCGIubmB>%H@nObQlr_w}=72 zO*FWmtLzUQfB_IpE0Lzi7)VU4P)L6d&7qvkx_&R~{2e1PuV6<}gS7LGB@7qa0CaaI zYH{>Y^uVAzpDU!cW?-Y;K;=YA`)DKzAgM^m z^4_{ z-LOyj@^C7w$Idv}P=nvc0Yn%A6`XQB4!SRegMjH`|4E4N`v2x72Dw7^j|+mv8DYz! z|1h3?o55?*ep^%)c{z(NZ!oPys9l~h8yE>U3xPxOCt5~yFvl?iuiz*BuX)IK@r}Rx zko`OEpWP8eMirHqjjEj5PL(O}u+@(2VS3ROU$8YCwW z3&gIF_5=#7Dkg17Xl0C>hrAX|un9lzEbW4g=EJNV*i?ALQaZc8t1^F%U64?YL8=ZG zn0iU1VsVw1k6WG3F-HJkDGeLc2WkQLxGQpf02DhMg0zkiuRyG2r@=wU%R_)nRXB?V z4!lC3fp9DZL&jr(5Ga=>`~K*wr|8$1fs2t~($><5iZ*OOQOf?P z7+4UO8`6a>WfpcO3;bpwuAOh-_TGt}$c2Qs#zz-i1R5Ly~_ zOljw-1)>uUMQ-}XOno!|?Ru?4*(mWTyI>DRDYoQWT&HKBttw`&rO5NcQkT=w7pIzj zyWHjqg`$Viv_Qs3so7%6KxvI|T{ru0xy#%9h1WSH|22M(F0BzjB#Jdy&BcB6qKnJr z957u$)d>v*luJFL)|jT(Chaj1bPxjb&Z3QlJ7zdmqe_2&49BtoO4&wwojtB4_`0mg zxXAb@XicU)6MfA$oIw9@jqWjK?NK8}s@q zBs#pv{xG2C7$FEOHo`4}7FZxa$nBhACYYfX@R;VKslowET_EvzaDsRRR6EJL{Ce9L z&DLk4szT!2F{41y3^C2Ls+WnviHxLN9yZf0_6}lIsBY0mxQUMjI^{SApjtErij_tF zAw}+wf6wd6F^rO*`pf~EW-*uh(UUV`78p>=B45vU?x*PLio|i9T=ZZ@SP2Co{D5V4 zj>Li&3RKr>|CwE1w_ogsi161}az)Jlkn5QN%P5#8n!^AP3WZ_Rh0-4d4J&sw-A;JNud_R%H3D}&DdXvw9tSE6f!$W9 zOIftBV$g;hXJXx2ODa@NWg9(WDY@{#2ueQ_uA&@{JLdhR_90MRW z)taX^Epas7>Cn1KmERxkO1bBOWx{z}4+IJ#0xO{dGT+msH5Rf)E2@-}{bTI*ru|Ku zOyOtloNN&SSPy~Q;wA$gtXrS1qsi?I5C}zDx-k*daBDz# zNl1Ib47Flzz{b!mk9lP*ufQWC68Q zXiQ zz>+HMoI&##Ccaetu6>DFAR{HZpyQ~Z^e1CB|_pT>b9b81oDvVv_KeTA#3-m}W{dGWf< zt_zU7v}HDRA`}6EK={NO%tn;b+SC=xN&diH@B82TaYxA?M^D6_P$(4C0WVNpvI`V) zd2n-`x>#=$0t4Zg?o|o&CjCqm&PYh91tWCQp==0LACUQejMQ30p{Ss&-1CyK*I1;) z7vYam`V}paTI#Lk6aWPip}q+vK0-wkQUq=HnE{w#f%BML7U}N;5-|}3p-@Ri%1Bzs-7q}}YMi#l81)>TsF+fDKs*TjGs6yi^;}N9J0b5iG zgCGkUgrTNEnNJfzDT@}Q44 zXn;f-+>4>3xZJm|Y)Ki9rW1zTR6~tf)v>hS+Fs3d4vC-Qh5(a8vs8x;vW2};UGPfo z5*06y+f%h3LO@hFA-YukA+NHw+@ANdAob_|m%$DYhO5MglZUbuD#5@~4=oPTZsLc^pCsx5HPTlUx>gesn@7 z9eb>xNw^)cl*#IYrt)%5Cz+8h7VjjR@CDa_d-T^8vXTU)SL|tubJ75^#JW!#K z`F=D2P!LlWO`7JZ=)3`lE9G`>ST%_dBNnwnwNnDG_TTcFl=dV=2P{|L67yP0z;x`b zDMnd`@TYMzFeW<{)maJ|Vdh@t9q#0Eb`==4PRvjm0)q-h+75=aN6}=W(EwDXrqwqw z1aV`K!lyPxmGn{*(he>qeDOYg3KDWV2UZPuX+tPTxDKj{5=+^4xt$ZHLBO?abBYSp zugyui2Bd!=HOwNksQ0;eg1wLJyL2u6i}16&i{IpWjH+_NHI0~ULNR?ifx>?wd#^+9 zvE`*-IbBIt_3KIHA%GE!g06CTR3;E^sgnfsSecE7Nj;RCj@}Zr#=}9w}g6v6xazqFO9C4@^V&~ zb}9r3;?Cn_uLN>;{Tr`?GM}{03B_7oW6oz&AoX^PwiVTVNdDZfiipd6g&S5c#sJi0 z@e{s7k#7&Q1qte1kw{#ya4;cAv~ZLDlpvFWjBX1`O|=C8`|j+J>r-ndgt?YC(Z^gc z)fTh9?|iMD(#`=Xh6Oaj zk&AN9#BwhSWIoIMY=7i`>=z8vW$PVkoI^QOi?0gdze4)6jB=7!d>*^Z)H2gmkEvKT z`RhZ%u);9W;apTqBW#8jLqKki1qTg#Y*uhX#ni2c9>Zzn7&0FZDhLe$A(kN+5LB=z z)8%?591ORCs-cq(VnDHsu!Q{nScq^-q`I=3jPcZCY7s#jkKFT=}4Rv!)*!9{+21$+P> z6j@TA2~(K*8Q0>vxUQFg@F9HY$0x$waCeY!EL;wk`x!rhXW>~d;lJU1c;Am#<3V_k zmoVB8kH8~bTi=79#7~yP`hMIFxAWs?ad+Ik947T&!VPePpK)qXs%Yx7g3^Bc&oF^W z(IoW+@DjY_XIuy^v|hrU_zC=kAHRY7;66dZ6SxcRQuXS;f*avRFX1Qf96U#>@)LrD z|HBP%gCgU7C>s8xA72jd!n@%GnpyShOJM;P{PJ4d3-_w}tW%jLqD)qw4==)t9SP^b zui@80!r#NKaBJ1)2VTNIz@2bs)#u+J;cwvaF1fIKj_23GRV= z{4$S(8frgwa39wZQB55NOn z!jt$J{7liXeYjRuQBL_2Ucy0e4xHo1&*5kBvq1u#f!BV!@F~~w#+4~686^A{ya(_3 ze_RBwz$<>{58x`e%8xIDci^3Jn$&*{H^EK*AAbhd!nLlo{h&{|RyL|kO&7BAI8Jmq zY?FQmZ^VsoBR@VHo`>g)OkOY(OY7(HbND&e@&<;jJ|pbCpYb2?CcNn-T!ZW2I^~c} zFGzR+_rN_|JK6vb$HU8%Ei8@`Jrp+gqG6x(TsvQ5{@>84_|e#ZOw z75qxk@F&Y5yI|48RnTF13I7hS!E3H%C4+>+;6k{t>WMWsVuChK#Jn>x-ll#L_ryJm zj3tH_X#E`t`@srW;m3Cc9}O?amKu<#8NFZGFGyahPBsIi&1V4qJD$|Ixw7haS zO7LJjxax^b4io;CpK&g{0525TXfr$tkMiRO0%jMP>M*YF#jSB`wdQK9mL(U#2ng zYV0N#bS)!|#&Xwc%$l-+_;3FyTm#pX)2IW7=7yEkI8ijwqW%ERg>(Ik{|v#+KOl@Q zr>u)%wSPcp=UQ7PMZ+M0n1|n(cd&;&?|Qr8_woCFd@F8>n}!$2%{yi<5ht#KL|0=* zTGz6#`tcARhKIuo@`p(v5R1RU#5@bU3KL9RE=IekzJZQEPfUB2puYsLu1#zPt;S1u z40pzz=N7RpUcxBFLkZqWTw4Jcn9~#{cWS>=J``D=KwP|&xYi3jl8)SZ^oGA za)oGfz0pSaP5h?qdzhQ&nC)8A$ygAD0hjY9ii};+ zxmm{({WtOTkNfQrBHcu z98yY&cSi!-gO~6sF2Y6r0l{C<7*24YX`&9qL|x0a>BlSB71gr@f{V@MaW~v8W(f&%`l6BaA+zxk-N{#jc^k@Q z$|v-biE$RyUg6LrC{F4N6j&8$!V3i6(()|5Dae4keB91Y=(~1I{RiVi$RRJRqRH=<>vpAIT1x zc>CYi@k{unAfX3m!kOhzkT#c$Wyo9Z^29QPytmG)YX@NXt|`YP30i8^7I^pv*%l+btnZ6q%&g>;xyn$$Dtaf&y>K>-%sU+{U#M9t2Rr z3uG9Bi5V^Z`Y{plA`?dHa<)a+3ew~PZf(Nm?PvTLZim}V!cXgSG?in}&g)CyEqJTQ zcpqFI&7NisCKj_*2l23Ev=x3Azw2@f3v$eCNJS=z*kB^bU&8^`j|szzCNX2xW&S^I zh#SVS63*N_OP4K$iwMOkfmY*kExW`QC=3*t;AAeinI)2;=gg;z%+AKZTwhSMX9kut zpmskY*#O(9%N4WYVX2Z5lH*qEKUQ)OtMA6GaI204&PWCmO9IGo{Ft((Zb(vFWP)W% zOT-yWEb{1SnpKnIxST~6S-n&?N-8`t^0Kn6(CA#2+s0K8RWCAD+U1%(B~o6=jX&t| z*YF0sVXRnBPnW3@!VApdbI$Qx%U14k(XF!&Qn``nmveF$UeJFix7TG_ndK(j7&o>V zxujD$r&BJE{9$7}5|8u}J`BOFy9&-}a-oO0>7-0-vikzV;E|=J?5(X0q$r(%XEV z`d{F2c--a2X*IaXvCDA}CQ@d|_}KlJ2uG0c9v*-PsIzuf!&Npf;k96Dg9(Qw*YXB= z32&=S^0A6%x!kOL6(dc;LEO(6!)jRVT4u*yA{8uR`jF3hn9CKb;#p|Cn1Q6OMRER} z*KZ1_$%~2Epm>r=xE|NX^}F%nE~)Uc+p9$X!rw8$Hpd}a;BuvIvP_pNf8^-za?N=X z+aS#^)K7$0CcNi^3DW|ljS4~C<5nMyu(&;LAC^hl4<-tGoE5|%mvD*4)@eyX!K@t0|pkqiv8g%IBPJmvKvu1KPL1qQ{l8O*Ywd= zAsL*|0}aJqhrQr5IBhVIdfiZL(&Yxh9Q9R#U&VoNHk_^N_7Zl60SpEcsrU{POP{vE zWARv9jTx^{*1?3eulh_h{FtJjXF;6&b=PYKzVz8+7@$2|?KZ80SF6U)-_kq6UXHfD}rY3VEAZ#vEvky|*DxCfw z6tl~rAuYu$BmaYm5pY#ns?P$&$_C4!F%Z(NyVY8b=BipQ1>Q8_m~BSeW1JXFg#7ms ziw|0kR^z3@Rgmx&?u+{lCRUE8$m_@Zz;aj~B;1eN;A@+$hal$>h2c6lpny=~=Mf5l(`Wf)3OojKr#5ElOHASSCD5SD_V*1A_TiJ#l~C zYS$WdGYC@FLk?8+H6(LLs`@b`>5i(=qH-7wLC3&la9KIE!j*M`7K_s^6A+V#tN)Lm z*dCU^63X!cBg-WjoFL19d56vFA}4YQm8Xv6(TNO7>y4_ zW)mzsP^F}3D#i2;!H~E)S_?DGip+E(5^OaPms_=+{KR0eLz4)KwAs?#2jy^DcKSWy zy+S^rg&I9glc0{G4URi-3*17zJ4oQVWZX$TZcF8qV6ySHv)Q6+W1dAFkC>2-w!owD z=pcbgJFd0z0zr}X4&17QdDCFRXje3|;h<<@mZW+2a-k^Zo5X?!6Xy6uV;oliC9x{A zP!hulA)xUS+UQy%#Z4@r%1mF#{04r*=s}w(U(%YWNw9>J?4cTuHkK;u{tP{{$ZHjF zsS#AY*fHaBeI_}N*s5Ely+?L5W%M0hYOMu2qH1ipGLL)K?Nkla?)HSGu(ayQZ3&Hu zo$9Ujth5PEX4dh?naX<*@W*g9TwSJSm*kIC-%_dL;Ail&GL^o9EwuIYEb{S6bQ9AsV1$}3$1pucj|NWrizWp?6LSYZW5|M zWy)Zyo&F*-!XUllctwEI;Heps+P>DIncPoj4XsSY`PxLC!ZvZ1iMIl}jiplq*(2*p z>4YocxA5DJ04*kId{EHk+a9SwnoyX=Qh$nyWoli1Z3in4(|92_5uyfas(R@|Cy?`$ zspa{U*OsYPEu@*Fz~N6}cl;s#P&+NI<+u=^%cc$^Ch8ZIGD?%jCh&!()FKlV7Rw<6 zPtbrUv^K>QvdW3_Zq$i)fywJTar@{3p+!c3qt#k{dWMNwdz^|UfA_RwkpDw(~E+0j6mid1fW)$9;F zr1MHMTnovBg4$m*_o_I*04vy2#{fx5fn|DTqmQZekalD`asG^j@N-jmtY~Iwel<3txl%UKN>t)?TtCtt zkbi-0jux4;71}z3^Wpr#M3`-}MiZ@Cm?hIi#t}-p3)O=0L?u}qc)SL;iAHIpR^EvHtvlPhXU3pDX;thlWAjI}f@MOA}! zCYo7nA^fhc_Y0P8yQ=$EIZ&x0A(e!rz&Hf$#0ZF;xRX>hRKQMGQpAA4MhSleBp5Is z?zruz%Y*K{QuXP*yLKcex>pE}rNp`-g!2Ig$yT4<{IM~Tt}NgI6{-SbRWR7{Op@)_4Etx zzvcd0s-CcO)04tBOWE1{YCjY5IKA1ewii~(0F|4w`VJYo%*fQgb^mYmonN{W_$wGMYcL$xX%YUPV zEu7?4x>lS(IcDw`7B6nrB3O7FDaCib#O+DAmT@3GoqPCwu4uO>_sLku z{)xJY95|jg_~H8Shq?IPo+3eT*rEQNc2Mv2;*f?cie*hC#--;!h@B03rPX;{o zM5G`X`LWU0BPI?@J*C_TrKbV_F)aNJ_6L1O0!zM$yOn+qTp6JC-KrTTc=&|e=3w{1 z4ua#eJ!w?HHz6zWW9oAKx)t5J7kS0)KPD6>?@suvv+ztB$W{esXXOqKYMGuZv2+ye>@df5ET6>{)c;&B!~Pib3@|JzeM zsrC!l>57TQV_Z3Nc;O4FN;K_+ItyFNl}z>f4>}cJoo#OhwsoVO7Zlz7*z~8WsLb)r z>C0oayS=`9Yt8oDo~V^ds!R0c{0DgUZmfuvTmh-EAHpS5r9;Xz1y|tHcko2ijPP!S zvqguE77kMu6dw7eiI?l){^m^KQI>K(M5}v1C1aiVvoUuF`)Xp)%o#Syh2eZ~1^KHD z8{x_h{}30Fnj86US62WCLrBYA!|L}UljP%lI4a2k4hmGl;b?nfd(yoUEX+F^jmr^> z-RJ8o{D}n=WiUB9?^b2R%j$)41vUf&%Wo3mz7+xfsfxM(Rm!yPCj(X3S#1_(=*o>%J4nj*_FmlcQ> zb>l^wi35h4m~*7zVsT@8Qoq&XNMSzGHif>MtM$Hnc5|4qpfZ|u)OTbhl9lI5<>B|4 z&Z(z#rpiwSL|3^{=Ir;Km%ycM0O!WDbuyST9Re|og+m-+f0;Z>Ou(W6% zgE2PtbreCz*r(^hC8h}u80Uk9PrvB?_4lveO@e>?B+?bCYidh!)KVo2Ba6?de*qu` zi3kq#>8}X?X}of!7-+fl*%;X6_s#_9M1$0OzEr`yuDPg5J~Z_R%`;aGX^)=579X1vDmU z+HwW72W*U?bMj=#P;>=8tf)MYk>#eJqz}kT`r-GlSZl?{sE4IC6~{fzT)MpA$~K2Q z71}#D#bF&gSePfxEvTJ#tFdXP zcD86K965j2zEh|3KR)z_p3TFQ0xNU3N=j{E6*6;UfRm&8SImW}9BqNdUh#Wr4^m)o zu;h9|G|qLQH-nW?{(H#MF8rti6tG$~3(FtEwC5{91E!_|>7u3j|1yTk5D=fl5`Moo zWq!-o1)VNm!gp_I2~^-j^cA7ef}wFPu<85_ljd|FV%k}$d!SBdP6M_l;s@~|Deq&q z{jTFk@QgSoD1BL2YLWP~mcv0L4l8kiD0!%<;AE)JM41VQmkVb->saB>1QQ z!Tq=0f7{L3=bBmjYkg-Xra7G%Kd{zG#U76}Q@IC_=wZ6I;|SUu@C?!Pc%$zTAMdnv z0C>M!U3Yy$mv=WQH@32{)0ISaz&Z)FaaO+ee~w5RIa=u+@YI}ynp6jJcmj!onebKk z{U;n-^_yJqL;?y(7R@@eRsQy4a>XD{eKv9r_yk~JxS4Nto(dC9e1M)pjzm?^w5b7~ z^A}xsrIH7D;3X^4l8?-u7552k+zTEvfrk1*d~8tLoZ5hyQu5rK8ArJLuMU6j@b@$r z=2M*-e4&rP{NHXRY%NFWzN?xz292vhK~N>up;*Ar#?dH2wJ>D!!Yi}h+ymN#G-aSt zaDEVYJmpDJG+?vX2A^PEBMTzU_wXv zpMH)L7gl_S)h~*<*CI_`!`SH)`Tv4c?4}xrQkAQ=?2ZBUt zl{4walsa{!Uuuiy0+o2KTt#6H6qr)EvvG4)yO2$%T$y`71mY9X_MmEGCDOp~3B$xx zj&fo6XdE=T9PGQR%GN`ivvI4S85)y1iB^gO1(@`Jg7gKypts5=QO)xKOlE14H(+Pn zBrp^(w2A>iBI;$Kqq;O@0T`+jx1E*%Q`LwIC(SSUfx;f(aq)=+8s5n1MI}e_VRSL0 zIB@L$pZ#8yc|S>0a1UN`xQ}yzQ<=*4lTy%9TCTrMnN+*lBhCBcG8ol#*PFV{gc3C7MIEPJR$L8M{fP z5a)(paROiv$kGh=2?F))YY+%01%T3O;%ou^0zVZEevw< zi6oRPVOAao3sbo)Fjo|CDVnNAVj)qCk6ta;1iay4fQebDvaeD1Ib^Ec;$t<$|D2SSso1>;a8gbeQYCN+Op77W=r zHCFHCJ)`6%ro`0k&2y@iG6L&>56W7oCA=qXBH$kG zHlN5{hvdgs@I8}scezx~32&)C{k+_mI;(!L+^M<;1Qc3g=(~Q}h-+G4o*P@I3&5i9 zlFr0NmrIo_5`qAiP_c7r{P-1!zWERPF(OvmlWv}&y`$=dOtILWoNla$w7UDFTAqax zXt$DNYs^&7rCCS7piRht3Su2S*$reV88Gt)L-l+F#^07OA6Vi!We_oTdt*+xeETDvjNKo_M^{a#oaDGR&M#!^uC8+C6W zvV{7fADt~+h^x9};2_IX%2e5{tAM>3b|3^cMzClfa;fkYi3?oO%P?hs#U+_+8g){F z$yc-4o+1VYKuG8tDUSx?=xv1C13bfJeIi|D~_{KUQ1bS+eq``px zA~~}q-RCIu+K)>Ae2gin76!e|SZSrn&dLM^Vu;it*qrX(+2DyRZO%$67G}PHL_IAinf&rrm810Xje7$ ze7zKHBcd;%D<8JQQhkRHdGw|ylOJatR6(`@VOdZ>=Q-W03ek*c^j#_Y$WQ^Gh(I>{ zagOE)b$-B2Yu368pOpi~^2bq=Ryv)DK;T3$VR4xVSHx7w!|!t@Gb~eN##Zx8D7^y* zkUN2RNcr8(6$ChuY_kWrBJL4^MFd{mg+4*j|dm$*NFV$E%l5QV}Gv<@vpvkGW4oE!S0~fK>J@|+h+nEhk-2?JN?vb75BdU<) zJ0i*wCu`1PkHIRI91?wn77Aktb9M%?;X)%wiu=3)jCsCuQ0S=Mz(M<@T9~y?+5eTk z4q!&{LgIsQ_QoQMPe2Lfo#qruQ04EW@5e}mM_Kl{#!!M@O{D>#ER9RUr-Vy}a!p>4 zJ6?S!AVMe(&lVsAd952QP^$Yfg)ABg2Mg*Fp!|*(#!>FR zi^?sJZ@}nU*|S98 z+1|>L$i^7{@fVu2MMdWG>0)JRI#}`o0XM9!fYEH9>2n*Kl^C@`by=D;DhU{{hP@f1 z@nw61N`;@bPTQCoi4{sobntcZHHRNL{79i6mBW?ZEAfFaPpG5!8Ys7g(6kn}y)GidOq`Tan zedN%-xg`B^r8LS{XeaE#m_hXc>{kDM(t$y}NI=PnMypnHvyKEPNmo{fC^-;l4f(^T zy@^K@m(5AY3#-V(;0rkuSBCI2Jy)f)bU4lZXN^FDLLK$uRhx+J9oPuN zrb7D98R>ng)Mz(qL{Abv#0#_o0q^}7XuMY{`WU$rr7%6&D+Oo(N2bX+X!t{COe!i9 zt$m3n^%o2I+x7yO3ReQ9>ZctxcAb>QhVSYomX>*Yvo(?h_(}jFLbVf@FlTuK*Qzb1 zO2HfEW*zkuiN=*qiVhYk6pl1*qBZdfjfh4Dr}Ycm12zwt3YTb;Q$p88lv(zDWNucE~zl*R`%w+*EZqBJ-(maj2Deyi_biET6Q{!D3!9 zRcMPegAOp1a7-fnT&&q>))UIg#HAg1STd2NL9KfUP8JCU@DEuU-xbm~Hx+Q!mwr+J z;S;^1rHmwq300gO6wa0>>HZaVQ_M`N?A*valQ^5eME+Eg8qt(> z+;!qVH8xjLY)Xz3UrUQAhY0vIA|pj zk>KoO=+F1P6dUZX7*42$Ruyy%iQkcF;t7Qz{T$pm7L;=t8hvR_$jH$(Ku0$I0o!p)@7C?iDNjC`_A#e+|(Fe_x zkJEJ_SLIn#O~YUhYh!zAAWeyaNgK49j5PK(^&RybY7wZGdq!!QW~J@$YCSbjaVx-y zxMM-duke-1^oVDu!bU8rPI*j^^Luo7IOwRhKtTp;AhPUV|@;IPY%UQptagY z4c_q$m|o4RdpHWS5B}bjt(qMx&WjMa;OwYDKWh{a9ga452aLbEr8v;LrL1i)8A6uf z6)u3abY;2#-<~uy1d_f}laa!T{SJK+!asKqpdPjZ03AqS$`nqxsCSslydfzS-2!}?U@3R++xXgx@L^rC!_q>Ft`)&>cP z2pGoPhl`4M`c&ev<^4Epbok&HKuG>?5AQy_yPs9a*j)Xj%GgA!ig^-pd-)DL{A&#T zGIU^%WGWNhrt`nl9iSGYP9-V&RKraKqWrq z>Mwdkq{)&I&WFRWiCDw-WT&2-9%li${tSf(XAaY_QJ`V;EnoPM>< z9))RcCC#I6KfLeozABD@I_7>?RoD*~y~X}QS~lD?DG zVj#B`>X-mH<%FhTuxh4a8W^-675gc;@$(1WZeP#8?lP=e(S|8k#os*F*BT5cT1iy& zc^_Bufn+=+om^n+W)1Ts&kqmFrd3@{Fq#M4QdKXj8!JU5nqg^THb^mQ%DYS9{}iWy zW6a#a6X8*6!om3-DjGpyS*<@U0FlfYf|+^ zp+8$4*Q^0v&sjo#kk?Y*$t5Hx8EsEZWz=Fs1dd_ZxI>(U5R=f*?6!oX$OD-S`BH(6 zghoiAh0ys5^vo%gT;Dr#K{dyy`E2TYR$)U{oewdR(`pTYzIqyvj0)d(l4vDjQ5S%2 zF*4;!yDHCN|1yeC`~WF2aI35#cAY~(MeBuRv7ML%5%KXN_0~d21%#?zPw8f%zEfkH z5r5?atrRHfG))^b@>r@v3Lz5YlSmodS*ttv{fA#T{6ZzS3kz9mz_SYwg>smWQqL~UDTo~IA8F&^edV-&B1cqoCAlk?WBY~ht@P;U9 z)J&M1@4oBsGl!oUmg;`e(Ep*v5jtvTluYWc`|AVZQqBxK9cJBn1dEW;Lc5zg)iMq; zc|vDFGa5rq*^k~AP*IAEaZ<`eKEMnntt_T}ImO(BP|p+x$lRUjJAG5`1Q(8!4@_8B zHBL4z)^`#_Ab{{_c$SoA%&CyL5Wpg+U5;r&yl-zxI$G-~N`dQKFWIb(DRohk`sN&m z$&2T$7AGCkuR6Tr@Q%LI*+E3~W}v6#eW%fXo~0iqvfHMML^2B4low@1^$xnuqVN>H zEFhRSGH^N`6*~E*WI#-WQ{S`5IOokJc)Uu>p@{NmIJ|h@SCIYw>PK(pzH8vK*5td9 zBB(wnOX62+fK(1)N~-8qaLSX{!q-G6hI)XiH>YORDM{z#g<7Y&f?hyc$rJvz`xX#K zNa>_Qm={CeiA70T&EY}Qi8a7CpFKn~H^TpiU`_%8zDP%!cvG3b+Zv$ECZj>u_|5ec zXt6((`k-lfjLH|{qgo5Z{vGQxs~zZf4zcO+it$dwB3*|L1XYGd0+b6YB$RAz3%#fh zlu-Oz-fLwHArzH2XX)qtV6??=#A}O+5mPCAu)C);$9+Xd;hP8LHyRa{_(VLW&zg$> zerL7kM^^d2fHBbwqbDqC*NbkVz&0VLyR8+0`cB&tSpJutBVq_kr_&Ki5E&JY>ajjp z7uhxv5+~?h0TX~skdjyv0GX8MknY{M>hH^$_a;tvRfSm~gJ0yiuG$K|nM6! zYmr7B_L5NW%?KpewMBCAS&NwM%wl791g#R{fR7Hj^FW0QFvXT{-NQG@Cfj3BO!Ix@l3(Oj3LMg+tg(?Bq^l*NvTD0O73R_h0*i>A~8Y)9>Ib_VLvJ-X&R zOto~G2ZQcI6&=o!iqdMZ+!Q7F6j>{%7O@`uZ-Qk!bwj0iz&Q`R2TIxHxy5EE+ppN;jIr&&vT91{;oA^(-sf$Feb;M3R+HK zf%Eo9%|u>nAQ-FfR{Gf#Pl_8|#-1ya`qpXT#?KtldWq$vT)`)=(w!ii4H*#;vU)xB z0p&RSB1$?a94}e6U5;a{zA)x`Q$u6|tRmoW80FS%KWgNbH~~rm5+OY)BFk*}}9_Wt~bA%AEysHWKW^8u*^W&mDfQ0vfr+ z^nmlN@4ME7ORJkTM0SjY8iYq0n;@oTy3SQs^1d8470t$~WXf<-E?&qp1~JVSIBXcd zP`u!EKH4aS8;VyyOECYLOH*v%(NjOvxc^2IWao|Dy-BU0XzB$_$(@SqQ?zDg); zACEfBJfRU64OJp`Q~rJ5Y4>Cf>*EFFTPgDS*(a;ZU@Qd+S57>j1LA~5x6ddPj>xED z`n2)Nzd7T!ItmfVG#oIVe%5LysbmP9goIr{;}YwdY+2FImZtZem{-I*J zrObo>&BHGqez705y(mon>|rD^HJFJv&we@P~@Vmi#-J@ z9@$-j?IYsCqzgbs28uT!oJ=WGx2uGN)@~6Mw!tQE=OxLHvZ@O?y&hsIry@Ba-w@n@ z5Dpv{-OeWUpo46MG{pA{jogR9hH4xgHVp^|Z24Tg?iaqwiHIdBg|HAQTry8iwrz%u zLNcqI;xa$eew33GbMx5qkkAC>zqVc1k7CjAMU6nYPExr6j?aAp0+C2)r6j`#h}F)> z2F!>I-EL1#V4MW~&=j|(^>p37Z-E5{ogh4$d~c`oKJWK_76?ts_1m5YaDm*3-}TIh zn$zy=?5*4Vf^VX+TM`p!yg)YZ_6sATbh_9hm=(fZGBQT9t*;L|gHgs9|gyfRY z|FXE-_GHI8J?RSIU~b9h6O!1n#OO>=Dwe=XTCsS5vhmG__Z;5S&(enH4n6PHH55-m zIUWO4(cfl5-44+V7fr;n&uK_7KLmim_zsaSp9#Z791^Ui=qpkcH)XwL%aTjpFI*kQElQEVH;Hj0d6G{>$~$ zeAOOw!FpHe9WIK5@CkzwUB!x}Bf^-UX)0f|Xk!I*#mW^w!AWw-7S(iP35yJFX5BtYJ?B$w z*hKV;Sgm=2v*hcLY(Ng%fX+?p%i*E@R*w)U2+TQ4zxAV!eC`)=Md7pqxTJf=HlzE+ zh2&?wU#Q#8oD$!h*OLcue9Jh_{oAYj-X3V1IZB@-JgSNxOz$BLJm_$eN!1<8bFBoE##2GRB5B*eQx4gZv zUdsV!ztAoqfPtLGToIbjt629Ww_@s4TmmrUZvfe~?=-+l~+Ks)=c0IhhW;A}-K!$3l+(VXrF;>@Hl@P*Krqstl%{e!=}W z-+yyOJOCpG*(C4(JDHw0YhK9NvC8-Vi^I!@m#gBGegUs1K>6B8&0s3A|<;9`|6y^?Qb;p~A`-&F zLxSBe*nN%q`HIM7{Grh}AJsm_90c5t*zS}K12ncLO>n`)3LTcdgAUY!)efOPyg^o% zW)gchiQxF9j|gaW22hX$0D{Aa32g?Uc%;LUT~(~5StOL_pk|DC+l8!@ACQ#N140WX z3Mduia1^s5FehcsS|A)!HGkwqmKkWpC8wE;aC%SakmNTSmbiZ_ z>qSNFiwl9&R3zV#MeuLqt)eNEeMx++w z4YG}xJr4uY!%^Q9=42@OD#2{lkicqQ$RB`|nmR`(?gyz_e%8a~?g#2cS&$WDT+#Fb zVXbCV^A{K{#W$lJ+t1lBk*p#jf)hYwHf4obeFH*ohTpa)aY|T2bY4MTY|3v&2xX&; zh3+@ElCm9G9%qm|_y7hpY{Va;_-sIFT>#y*Jlmq~`F`QEW7nogo~o(SVM8yf6Q2H? zkK1v-Q1Z#tZdA`L2Gu;8Xya2^p65lmJz0{;AY{cgwKV)9u{#hGevfp-hn*`fFbKI{NUj#P4Ln0sy+GSx)sZviHM3v9 z&`dJY;7Xxzz@7=yws6RXB`qDv)zSFO+f#aolhXH4(mlNXi*3x%q1xf7XGi+Xb^^RY zA{ZYA-1Kr@FdVPCZvQH;%Pod6%3{ z34li#{kHyrbjjcgatJ}k^Lb&-q!a7&Bik>Olv>Cx4UK&2ZBGv2bec(}YG%=Uf3b++ zApO7vpdUt{3Ei<_DR)qm6=-JB^afRL1Qsl!4ol)la;24{Rymzdo)!5&aexo9asSZ* z*>KbyM1iGs%mB0waYioG`zLqp;4@(La}7@ryg$f*RIg_cBCnC%>R%;{f>T>kmmA6k z^#O9DwC5b6efq`s-*NvPvcq-zOH{oo$4`F7yf|c9;vKD%G~-Axus5-ar&EI>q}#(r zi;INiRpA1b{Sq-bRYNan*w9HyTIKA2$SD+;!SB5k9EK&8T>`fB^iR36+lxW4x2XAH zW$2Td9*Fh_{UISWjDAXE>a5UBgv_Yd{y>_pFTkUGF$Acyq#_(uOU?zGRmGB;aY0nW zJOcBT9p%A~QSGyJNQy2z`9NO8{YVolX}UhhH^U9D)U*iI=ouOuUqCD(B?$=xCe8|` zdC{p zV{j>q@$C=QOu21Co_!pGJvXDFD6$Y(qqM>>*cj66s_{f48MlHA&-emWAuNouJnN%M_=cr0VTkj*K}S>53J z6dsKKQSD+BAMEw2@c5Oz62nK#3KxM8chNDt0*fJn4emY8O3ZT;=-BdZ2RZeE2 z;gm^9STx2PI#wRtc8l3|blrZpw$j_Jlr86PJ{)1^B&~MdfEtfMhDNYJ+Xxt+)y}pB z;J|hee1SARFs%EI+VErAr+g408IT$f3iKQuV#^0URyDcNvN6bqdVzoh$5aE4d3#ia z1*H`c5J?wSxn;AR+IxTc5o6vjG>@1cos?cn$CV)%fJ*N_6wfH|KbliESzTg1cZ41h zr(X0NJCmqLNSW-KJ7XZ%hQleT(LkDwPHE5`s!Yq!H?{%C5|RO-Im`@kc~y6k=^M0d z

    il>l6|7$v1&Uxv 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 M07*qoM6N<$f)&{bCIA2c diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png deleted file mode 100644 index a054fddbf9bdf92e0522860947eb76ef47af7645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27428 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrofluoric_acid_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_flow.png deleted file mode 100644 index b6668964beadc00b74c50fc61017c1c8d57e7d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68307 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 z 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/hydrogen_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png deleted file mode 100644 index e9a849b3d3154e6b50f1b493d42afe0dfb64b89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81833 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 P00000NkvXXu0mjf?0Cjz diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_cyan_still.png deleted file mode 100644 index 49d351bafc2cc126a0dbb44038042dbe33da9114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25137 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 LNkvXXu0mjfhthik diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png deleted file mode 100644 index 267c28ba29a12516c552c05eafe009176b25815f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81006 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 z 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�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 UniT-riU0rr07*qoM6N<$g0XF3PXGV_ diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_magenta_still.png deleted file mode 100644 index 56bd195fc65abd732b49e6abf8ef0f7014ae9b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25278 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�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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_still.png.mcmeta deleted file mode 100644 index f6e326dbb..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_still.png.mcmeta +++ /dev/null @@ -1,4 +0,0 @@ -{ - "animation": { - } -} diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png deleted file mode 100644 index a0f6e9fc7fc59ec75dfc9ceca1905bcf01102e01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82491 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

    c} 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 b3$XNmm~?WEM_$h700000NkvXXu0mjfL9HDA diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png deleted file mode 100644 index e25b3781ea7796eb744d6f763e226ff2d5fe170c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22126 zcmV(=K-s^EP)<_QRopeP{OfFfDw z3RVLmCd}IA!~rEKB3MKTN3t9;oFWuaX4hW7?{DAk$3IQqSAFW7efD1Aw|?uls-sW# zkLw>-?=8Nie{KKTdQiQ6$`gs1tbTRAS+P^jZ!}6Q^PxPOt zFD~xczoCCa`iI#=`lt0zOP~1l{_XwS>tQv&XaB7JS@rqF_w;SwrcW&HmoGM5{BZu6 zKJk|R@B6>64;F|0Yx>vhKC$fI*1s)%BJQKEj$Y9}s()1ahacyhiz`Vx$W)~-S+jgILaQ~+MP3aTw=pWNRrk?UG z!^Q1(U%$K4Z_W2{aP+Epglh4&{(b%X(w)Ale^39O-6!Ir2eYs4pWHur_bt!v-`T&j zuJtTiE_$FfEzh!eN&oKt-MdfRt^cR~pVE3fG~Z8JkLUL9>fe>F@%H>}1J+}@xJQ0b z=@Z|d|AZCWmPLNe?#9x$Xkqpim;2ZEuTM`qyG8$m{t5NOYdWj?$M=t~r>pyIzGd?* zyY+Z||K9$+^@KmI7Wc|ux4&9!&Tr0-+G_DTeb;yOcs7VXtrp)LH@13UzDCQP);v?S zcu)WS{{86__t~7=oZEdO?yz1wAa)YpGF|;({=~XkJYu&|(rfs5pZ=FVarEKX+N&q! z`&jcQ!`Wx#XWHj$C#xgw^jGt0*NgAWyTI>uyn1lnLFp4$^A4&P_l>XT8pG9VHh0|I zarcRMx8tL?=lzk^<1YE3hO3|DTQ2PuH?3*Bmp%5!aP^y;@7R3DZcQJQ-zlq}-rQfs z{#ZSfot(Ep`o!(?oz~Ujh57AIR-fG5d2{F8{kRKIrX9U$Lw4CMZZYf;Tiou_y3&!VR^sJU^A#MEMA>o$DmsM_~u(T-#S|B zAdRc}PhESBv|(01v$@^ocB6Lj|MD`_)%^GR7xXVk)*+6`q&luPS2kDDH6E6qdRQ%Q z-G8wEV14Q6js2thN2f(T{<3^L*TqWRm@UlZ#f^FmY&Lyu`ou^3f9U_AzC3?xwls&8 zw$j=UCo6Sj`NjQ*`w!RWtJPm^zH{@P=@Z$~?LP6B{onL|ldkc=Y!fe(YvdihTaR)6 z+l$Mp-}IaMVzpXjGqGO$kj&@e*8R)+m(}N&pBJCx8f}=1oq>IAHZ=#!Tji%tpP1`e zo|G-_&^vkgwf#r?kM2HkoWG@A{C(a9>FvkGCRpBT^{D(_TD|nNgTj!E=g;f^w*T9* z9^K;i^XW|2__O{U{X5du&Q@x-rZ3uD++0l8h*Oz95yxVD@jkj>Y0<^PP^X z<<0Us)Y?*Yb^Jw}@7a7$`oy#H1|An{8HZp{9p5~^ecqfc-B5p$_Sgf$Ovuvh`OL+3 zNUve_guKT(`G)j~J7@c~4YQHX%kjVK~Px!ouJF6`*>XK$`D zYW2+c4_e~E@vXv|tezGpk?qs0emYE*Y-nT8v3icqefa*t>i+o;)~m#mD3gUNiA)= zdPTn3Mo*Eh@aCPbOgHzL`Q}=^q;~PU*(9ecye+?rcGbpT$PzZIr*FP}^XrS9lZm5NCC$9o6dXwsMnR2QQGU;Cl7@c{8UggfkrK zD0_*Qx8WXQtF@~i*3b9=8>hoc)~i3?T-aQ=Wjg#)-^lM%p?{BW(T%UGW_BuPO5@CJ4`cS@PyLxoK(w3X8R!<2(rL||fH?a+N zR)?pEchN59kz{D;(-m}zy|eUlaa);wMZH5i-sgoaUj0QpZrPKZhj-|#zMNn@d$n}e zpN{k3d-`yGs&sH7aPx83o-CGealAYB=?dW>?8-RxmA{*X`lVP8r$4&MEsskujisqp zKXrPe_$eZWOpYa1tXq9tPZ6>HzP5k5g3O)1g4euOPL!^o&AEDExP9Hj6pLGN*S?2H ziS#aZ#ymdhZ9n_r{;B;_(^F`NRo;u*#j9V5lO`va?jhb9+kUOsXm9nq;RVXueB!CC zCjYTp$uNVy2R+_+^+$0|@SaTsAn6{$>NUwFeW3rq&Lih=CtdOe{d{dsaE1!H(iOJ( zEjEN7IwxzKJ>l7U^`5ZJVNlZ*;@y;|&{z1iEA2|5#>e85tbGdNbF?J$c#Y4>Q9`-k>Vat}YE1N4}%_Ie8EQUmf3tlPZpU);aAzMI2K zAKrh~!HHOQKv26s`yc(hpQq5|QQS%S7-TasP z=l9RAuU4zSi&MS&Tm7Z3;CN5r|McixId45!JTRghOiIdmRv^Y>I;A$~UU#OWShnO|?`n^jh@ywrcH z|5Un%<1dV)2v4g&SZnF`s@WYPOHp*bzj#sPdCJ6wBwifW_3H1l)oY4{A=tyQX4Go5 zoxikyQU9Xdo>Va7m^R|5W_G)N*)Mm%M$R4T$?Vn{E!kWAN!}mhuu;2vP~h$J5H6`% z{c8MsB`AVz-zsq!Gb17sNHkR{neIWzlnSTwMHwFfJWh;i)MV`(xch z?B-7UqQRh&s}Z_ywY%&25A{vo?9OKRXbcC=ohV=r^lSjaBKs&Xad!_aagNB+5oC|P zB=)AWV>$D!@TalBoOBOZ`LI=MhX>(5la2cGyaxwi7t$3370e!%5$HYcp$j*d+`@|^ zDUw-Slc{y_H0cWQRQ2*fo11NJR$r=gk{qi0icVo8Jm|tUrz=DZH`MOluU5YuD4vX& zBU42t4TiJ}c-&7hp8r_3{ufH%9k#mVcY%Hm7dx4rj__c1^Ng?_kn?r`tJ;fBBdW+$ z`R?>Hto)>0fqXNpeMg?PdR+Wo$pv@E|0?Gh9j|?UpZqot0seTr8W=|jdb)>vlF|nj zku?i1-#dDxwwxo6YzEVgik-Ao2Afcw>E^o4b>7t-nd|(88RR-=&l@31iX-Fgc20_A zVTU^916h`RV_vc>O(0t7W{XcH4aH54`2pq+x z3G{khytGP7Ti!+7%aH6D{C~K5*=a+fT|FgJYv+$tu=k26Z72XwSIAq;mbRWhIK$6} z+9zop6dn_J^DfvI)uPQQ%K&5@Or+TASfEzU>_FfdRj#(!2bo?y=DyO(v?qT@!9HMh zHX!K_bWW6k}fAW@KpF#r2WGrCR0AHtj855T%Yv5m!qb zvG|)XL4ob=V*9tKu);m4z`|EmvMB4>qx+}#PfwQ)tQB0QoNjrZI#T^q%ld|X*3Wh} z3fmmjzxDBF<=xz=rZb?TIK*e^(md6``$1-KETn#*Sf=Cfwu%CWWCycb5~9R=XC2mZ zETtGCyk)rf)7?{~?|w%{TRWmcLbbIV$14%QYX$wS zkH1tU8yWY?kN1;`VFa20)f;66O&2IIpny~Y4CS~H4W*xhe%-H2NuxDBOJW|IIOSQY zQ>ac*$2-79?d~A}3f|@x5S}QxK%ilI`O9wp!#R#RM=`5ieI)FqTr@FEx`&n4Azsde zT9V3PX+H!|N6xFwnm&+gZo7Mkn*q6K$+uNhPsN`{>s^rJ{FWecLU-Ay$$puOkE zeOkDM5*7bJ*lZyhPHC#e-|DETj^JGHA9GxNxzavp!5_#9R9#9%i%;t`$2#mU?yk2= z-2;z9X-}DZw|Z4%OI1X_=|qu;hEeNO^SZ%BLA*UUln|W(#q2#1752R+!y66?4g)qy zo)MXBdKZeoY+)2&DaC92^5Tj$l_7@@t`6&MJ8?br_S1h4ID4zW*X>MSdgf~o)~uFhYSQ^>msa@o2*r<8K7^rhgX zSlw{=)bMN2VW1V+B4F3NQuCQ>jLU7dBR_ z@NO7RClzzQDMNPC<$ug|@k`|qA{JjC|2x%PRLMIYW#`QPXcdBYi-+I`!L}k@Zt!AC z-2ux7M{kYQ*IBr$5WTbp;TKrtV*a=@ofT*BkIgavbdKXd}Y8b`9h`g|Re(^_r;RrhSm{;B+U` z{?+}f>l;XGOASwcNg)x1#x-yk1g_cV^iS-c2*R|xgYbZ$7^ML9If|_!LaKRfv(N2+ zw*T35f#6zP0qt13-oWnwuu*1M3velmn|<)^4!BjJVjLnRyOdo9ej9uJtNK@^HGmc6 zQx=OyjlfkGZSA$~LB?;B2ge_T88>&;ndubqmFUW6Lcz7a zG2HQ3XJQ(5VYdb#Ny=6zlFR#UMS z$m#=q%>GMGOs24#NH5q2YnAubwp3VW){3g0Nyh)%)lTmIzc=9`-*DzZW&%0t8l z#Yd90g%KSDQ7qj_png*^mo62*0MIOG+J%^3&KGX{dbQY~Vijnh7mtl4ynXSe$odUo z1>5eb{eoRp5FMtj4G<^laD{72w;put%d#UWbt4vLAAo2^1Oi!a030XyVXDaWA`wa} z;u~iHeoS-x^%+wwX8+AX%yoJTGR#Jz2Bk-UQU;w?)=Xw&PGZSSN$hDX?f&E)qtW>_ODkrs8p)2juT$`x*#Ls$e%h6Rbhp(N>hi zAyq`qLaPdQV;WZ^loU_vot%3OEB95N3kEHyfTJr3Uxe|Cde_eKIHvs5Y zi$9K1i1xn2dFPE`jR%w~0N3Xq0FLDk;?y;PDy5$<%ij0I&mI?q!?hJ$m(~Ct9T$ph zt+4|MmsS(0%>N*lfiLLLr8Q_}rsLTzdJS;05eByNzsNM)Lxs3^6_S+7#Udi9veE^3 zn|_bF5kNrM2e8{?Bb8DO009Ip{XAKY`VaLVN{^SHL@^851!x#%>IOg6r`oxdq)%zCYNn|*QE5tV7vGgDN;3IlD$tqvEz zqGC%VU3+dDum^${!x}_1-Yh>yYY@l15w6gY3c)OB3qqqShEPLIDP zoGizADnoGrn99I}643cWo)#g^4Th$lmugW;v-CQd7DU7$!2`nB6sThcGJk}Z%ARU$i$F6>Al97LE;t~^v6Kma;%2{%&!)9>Mo$Ax7lpU4_4_xq3aA4@;K zdRMVej}*BxXTpH9c{*|KT?{M9RpgCsxiH-q97!EHd$hNRC_TUyIzIT?oOEA3x_|%R z{=xN)koC$wkhdj#)0rU2+QV*mO~O`A2ywtjnmDdD>*f9HzuSHYV}o+h1gR_Cdbo9y zfN9{ex#y0(4}#J;5!+*eD_gx=bh=Ex9jys4kDk&$qJKnvui14GS9%RZU~a?qr8RhQ zSYtNKqTf;e(i+5J+dKLIhbaPy;uACA;H}K-Y;;FF+L}8o#5Q<)#Elfe9v`reGg;9Q zSWFXRDNrunpKldNWG(Z)UVdGMzOFxdQ2&trA@z+~T))On{P405B9EA8O{Q@t$v3_` zxJRO}Pk}%hB~>T*1&4hUS>m;okXU&pZ(&WN3!sZ|q;_%Fd?&R_2~nK6rkbn%7a~uB zEteie7F~YH&Pt~>xUqjw|DgJw#jM8}@T!WaI;8ZV0OWx3$I++s?;pzn>H%et#zf9+ zRIl0l#06Tbv-oqxp`p0rMdFSGiL+xxLm;|O`yldwf#_*23PK*>59g1{_4=zv5APq^ zKeWC(L01*t*YRPycwZ*U4(a2YKS6*)W&|Ys;7j`_^-oH1VvzO@p>a@#X_lWE6!kL| zkF}_04dsI{D7!Tf_-Y6wqO1IhNlL!y>}CPNa^3A{JueJyHC+*`0!pJO7b< z7A{o6PUtZz@nVKPMgWu4;0n^6P2dh&7yPdhS!>Ryy1BH)$yle+n^a#chlw?aKcod~ zt?0cVSHWl67wcwXZoa6b#uJ6+cZ)8+?|Sjnye7)tlT8dDVk*+=`NFK_7*k}Y>dW5m zgAH$@4DH8WgK%l(5h8jAknZN6$Yg}<-q_O2 zJ+xC*%;fG-fh~HCTY<6D<&&ZI5&x_A?)ZzN>JL3YEp{T!IUO*iqgs7Xi>Lac4-fSP zokF>`%kz)qwJ3EaQe9oBGm0MurIi!yfW+o+3mjqgg8rHPGwXX7>L89JN+G1UYW7NJ z11~L01aqn!=ZJj^fdL|Iyv~l=EBHZasaHpz^TtRdI&CmA6r+9fr}fY4pO@0Z9KELy zXZc0BwfYkEM3sN8Dh1}f58cs_PicCj?})Qu1{SMt4v*N8XL6|_Wn-E74nkgeed>%+ z4<7V<_qE6gH@x=ZSiqC<3js)Cr6=GvjU|pNK{i}-H_RCN2)@o%N%;Qk z#{Mb&Q_?;-{>ngOjP8rCLldaNInKn;HF_1Y3WWlzEP5YF7>{E3_+KIrp-+(@t256> zw$2uc(;9I^H-ARn2ZxJ|_QCww87Dk1&}|}Y_4>sl187hO!$9oFA?!E0PH6ljGA$L) zAdR=im;XZ4M(Pi`!^-&~W#cH;miK>}4N__`ZtJ4%9AyFHM>rJmcE>0r$eWL4c-kUI zAwHJAiHZgxu;Ibk*GJj-=+^zc`g_&)DMS_w2{kvOG&P(pUK(UXb9S8mgW|I|7!0+h zte&se3`9yOWXh#zBEGT;7TyPHpAf~S1JOpQ1q=n1mpwU-8^k;$ryh!XF$RR8TvVN< z35Y*eddQGph!}dXdVLUBu%(sEHw=h!tf_p17jR~XslySi3kQSR3PoH6)nF)!NX~0V zx~xdud8qiHBQ6LyFulIuH{1Oy^xd27=kjs#3v3_~4c0)e%}H6rN`SSn^U`aimru;m zGsn4cvnY+b>Io)-E$&@;q1S}19I4O{+(;?#q1eB*yQpTz{WJP!SUKp1Kr(8J?dT9q zf+1H^tKWwKQCg=l@AOXTk?e%&EsGSmrA4aH2H8Mdh(i`WvN3ZmAoP|Xs}S1wLr8s@ ztdZ&pkJYmWbT-C&BXCs9Rkai>WD{}gL*hb|fM(ywK45R777&kAUT3UDhqMz|iX#-$ zh_omeRqHfxp&+_7umwumhZPps?$w91^ZfkGWgk2>!@~!QPf24!dwXJv%sX;AcRh=z zebA}zVoI0Q?ECxU{&;5(VhzeE)E<|oGAJv1QHU;_M#qV8Zsc5@A4DPobFx8C0{W?O zB=_7AKyVsQbEXgQ3m71}x9Xdia~&dcGASRbTyXSn`}_9yO@3kV26e5-2i_!RlE8{k zJuzX@=Vi?+mBt{nbyPG!_3aZ)7^!Bkh-JqT?I;$R-gAD zceHiDDW2~vP;aaS^X{on`-<}f{DS%l^a!;InUg~DL>PqJNq1(`CI+=3kO+O!YlOKkwy>VL zlP@fY2Dmc(6gyV}%y{-j#~OZGi&q9ep!N!%wOTwON?x`=k-fF*Eg7pvcTBP^+Wutr z^8VNRU*Fk-Sge7&c$8S!7Aks^@(?Y&1Gsuc*&`Cp!hnIB7pAV@ivsV_`5{JXRSt4D z9E+*wtOn(w_6`i-8VltBec+;LM09w5cK`DJ<>?Qlqenp-CQOM7un(j-zyO$ga&2+9 zDw8*WfudctwM>o-hm$fLck$NJ1vvlw|&rd`h6^xd5b7qjWIo*sBK3z zxTE)EXmsKZ%ioe;xL?#AX)SU?1Bs@6CT}Bf#IauEK+bo-Bk(~2htj-qI%cvw3%y;H zPFri`7yJVDKuywes$1^^D&L}=4}txZSRTlb3<5Vu>Y@c}X^ zL}|K!npXE_Ka{0hruw2zwfc!_@b|1_AjYopvJcq01QudMnHXz25$FHsWCNv@V-+fB z=%}BCm%c`yLQtr)GWr)_2MGp{soSbu>X6)tvoO#`8oMN__>d52`4gF!cux7`SOMr5 z{z35vWbt~>mRM0q%^pl^hNP*>e?B~XkUWvZM5T84D0F@mdqCp@B6}apG4WUxuRSqm z$2#^6y{Fs(?9f(yOZ#>xv|0v7Z=#s`Zk2-UJ(w^7Or_Te{T#k(@D#@`aL0wlR+Qw~ zy`{y`Ge42FiEhvVX#g@sogi;It60n}JQQuHZh4TIk>|yfvP|kgJ`%iO94;(fAabgK zYHWwvf#cbiN9hy^vJ%QbvB%|!O2u13_Qz!+TV)Yjy=XF;-XHkLD5+i}X~#Z*+%n1U%-WE!8#BZb!_*=Uz9^hYZ7&aJ@JyRuZ}(%HFW0*q3-8es)q7sh6vliF%Gs`B2h^Vl0 zyR1?=QyY@$rP(&7#Z(ej>HRjciFoP8^z$f@HOd=Zb0IiqA58ojl|zdicGh3CDqz4{ zX$iIqK}ClPSV)}x(v++`lG-eFrrJeYW$!YwQmcbotE9Z8o<_ zCD`S{)1gl5{+3wOj`WY>E^TR+Ue%$2J>JR#p+(pU zTSayOzc8X+Fc1sGr_i=Ap52<+h)qjwVmh!E!7@k zVsC9)bvW+dkbP!Lm;Tz~6w%*(Hn^V9Anpr?XKGO3G0<%Fm-yfTR0`$HL$KAOtteGW zsxMi2gX1jaiLkBWDITqC`SLia0V39r1%{h80@xg8Ru}J3xDJ zb;oXL4^wuiiU)b4?Z35z*iaHp=tTOig)>bSpC660PI*KlXrPtF>m9+QZltx-vV}py z$y_Ji`!v9Wcb+JArlw+8e5DVnI7IRvlaS~0OEnrLZ@|0wY+)8YL%0zZ? z^K}Pk9U!+cRyR7(_yHpEvWaPx!ycQrXe3XGpIr?)xQ*MQyS5hwI@wD}v=7w$w|IA! zWoaThAC*=NwWGK?jF1{84Xr+FFY%3Wi&M%2YM{0R7rqo33#$Dkp^y@tU!TO{MWq;E zV8~qMFpOk$^M}Q;mCoED9hHs~1P4@7m$)nzFowmg+u(~_X#SfyO1q4os8ln9gM?#y{r6M&Qwwv!D;Ub1I%0DQ@0-ef)XRg$`5Jvagl_j>F_NaR0k_N4z!?kg^Zr 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

    NRh?huQg7M@D>Tj;R9!)8Dgn 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/nitric_acid_still.png deleted file mode 100644 index 16beef14c30f129382cf823f95923c2395a896da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24610 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

    DRd#yQY^#-(d|q&0 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²fvj5kT_ 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

    7;1tfgaQs@RDWR<5>TdAH04X`b=V-GxerLY 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

    gCjb>z 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 z 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
    d%Bg}B+iO9_5bS;?9E&x!i%)Vm%Jv&@U>1?! z#%uc3$N+cot?MoTEnw4Qt$A@e$>i3Mb89re=a=!DQDtvm5}peMX};>08#ZvwOEHe` zu^ug#ZY>9s6cqDnz7*ntvqs%1Im^;%JON?xZKmTwunu)P@=UVxDeVSX%R!WJ0vi)y-M3)d6DYvUD>jt5h$ zXzo)&FH6_2sQF(}>09k4$BrCk!EK$yI9Z(ag-OIL4O3yoE>OV5yKQE$sL_T#SLI96z zU}3oYisr|hndS%SC2cx4yTZ+6Jd_v;f0-dMdqwvyEDoXp1_4P zg

    biTTD)`DkWL!Z*parlwbyG`AI=rOng4 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�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 Date: Wed, 12 Aug 2026 01:18:51 +0200 Subject: [PATCH 13/23] Changed gradle build script to apply custom.gradle first --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 6380ff057..e32f4d5a9 100644 --- a/build.gradle +++ b/build.gradle @@ -30,14 +30,14 @@ base { archivesName.set(mkxString('archives_base_name', mkxString('mod_id'))) } -apply from: rootProject.file('gradle/scripts/cleanroom.gradle') - def customGradle = rootProject.file('custom.gradle') if (customGradle.exists()) { logger.lifecycle('[Mk.X] applying local custom.gradle') apply from: customGradle } +apply from: rootProject.file('gradle/scripts/cleanroom.gradle') + gradle.ext.mkxScriptSwitches.each { propertyName, scriptPath -> mkxApplyScript(propertyName as String, scriptPath as String) } From f36f8a0fb2cc787e85e77d797f197bfbd502735e Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Wed, 12 Aug 2026 03:57:12 +0200 Subject: [PATCH 14/23] Replaced IE's IngredientStack with IngredientReference in Inserter and Packer (fixes NBT bug), improved task conditions --- .../api/PackerHandler.java | 50 +- .../api/crafting/IngredientReference.java | 497 ++++++++++++ .../api/data/IIDataHandlingUtils.java | 82 +- .../block/data_router/GuiDataRouterEdit.java | 5 - .../gui/block/inserter/GuiInserter.java | 36 +- .../client/gui/block/packer/GuiPacker.java | 36 +- .../gui/block/packer/GuiPackerLabeler.java | 46 +- .../collection/DecoElementDisplays.java | 36 +- .../panel/DecoIngredientStackPickerPanel.java | 112 +-- .../AdvancedFluidInserterRenderer.java | 2 +- .../inserter/FluidInserterRenderer.java | 2 +- .../common/IISounds.java | 20 +- .../block/data_device/BlockIIDataDevice.java | 6 +- .../tileentity/TileEntityFluidInserter.java | 498 ------------ .../TileEntityAdvancedFluidInserter.java | 4 +- .../inserter/TileEntityAdvancedInserter.java | 9 +- .../inserter/TileEntityFluidInserter.java | 571 ++++++++++++++ .../inserter/TileEntityInserter.java | 554 +++++++------ .../inserter/TileEntityInserterBase.java | 746 ++++++++++-------- .../tileentity/TileEntityPacker.java | 84 +- .../common/util/easynbt/NBTSerialisation.java | 8 +- 21 files changed, 2106 insertions(+), 1298 deletions(-) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/IngredientReference.java delete mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityFluidInserter.java rename src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/{ => inserter}/TileEntityAdvancedFluidInserter.java (89%) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityFluidInserter.java diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/PackerHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/PackerHandler.java index 1e2c48022..a5cfabc9b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/PackerHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/PackerHandler.java @@ -8,10 +8,10 @@ import net.minecraftforge.energy.IEnergyStorage; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.items.IItemHandler; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.common.util.ILocalizedEnum; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.util.HashMap; import java.util.Map.Entry; @@ -20,7 +20,10 @@ import java.util.stream.Stream; /** + * Registers container adapters and stores Packer task definitions. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @since 19.08.2022 */ public class PackerHandler @@ -115,11 +118,11 @@ public static class PackerTask implements INBTSerializable /** * Filter for item and fluid tasks */ - public IngredientStack stack = new IngredientStack("*"); + public IngredientReference stack = new IngredientReference(); /** * Filter for the container to be packed */ - public IngredientStack containerFilter = new IngredientStack("*"); + public IngredientReference containerFilter = new IngredientReference(); /** * Amount of items/fluid/energy transferred after which this task expires
    * -1 Means task will never expire @@ -134,24 +137,27 @@ public static class PackerTask implements INBTSerializable * as long as it keeps making progress. */ public boolean repeat = false; - /** - * Logistic tag, acting as a filter for the container - */ - @Nullable - public LogisticTag logiTag = null; public PackerTask() { } - public PackerTask(PackerPutMode mode, PackerActionType actionType, IngredientStack stack) + public PackerTask(PackerPutMode mode, PackerActionType actionType, IngredientReference stack) { this.mode = mode; this.actionType = actionType; this.stack = stack; } + /** + * Creates a task from a legacy IE ingredient stack. + */ + public PackerTask(PackerPutMode mode, PackerActionType actionType, IngredientStack stack) + { + this(mode, actionType, IngredientReference.fromIngredientStack(stack)); + } + public PackerTask(NBTTagCompound nbt) { deserializeNBT(nbt); @@ -163,12 +169,11 @@ public NBTTagCompound serializeNBT() return EasyNBT.newNBT() .withEnum("mode", mode) .withEnum("action_type", actionType) - .withIngredientStack("stack", stack) - .withIngredientStack("container_filter", containerFilter) + .withSerializable("stack", stack) + .withSerializable("container_filter", containerFilter) .withInt("expiration_amount", expirationAmount) .withBoolean("unpack", unpack) .withBoolean("repeat_task", repeat) - .conditionally(logiTag!=null, e -> e.withSerializable("logi_tag", logiTag)) .unwrap(); } @@ -178,23 +183,23 @@ public void deserializeNBT(NBTTagCompound nbt) EasyNBT enbt = EasyNBT.wrapNBT(nbt); this.mode = enbt.getEnum("mode", PackerPutMode.class); this.actionType = enbt.getEnum("action_type", PackerActionType.class); - this.stack = enbt.getIngredientStack("stack"); - this.containerFilter = enbt.getIngredientStack("container_filter"); + this.stack = IngredientReference.readFromNBT(enbt.getCompound("stack")); + this.containerFilter = IngredientReference.readFromNBT(enbt.getCompound("container_filter")); this.expirationAmount = enbt.getInt("expiration_amount"); this.unpack = enbt.getBoolean("unpack"); this.repeat = enbt.hasKey("repeat_task")&&enbt.getBoolean("repeat_task"); - this.logiTag = enbt.hasKey("logi_tag")?new LogisticTag(enbt.getCompound("logi_tag")): null; + // Migrate the old separate container logistics-tag filter. + if(enbt.hasKey("logi_tag")) + this.containerFilter.withLogisticTag(new LogisticTag(enbt.getCompound("logi_tag"))); } } public static class LabelingTask implements INBTSerializable { - public IngredientStack filter = new IngredientStack("*"); + public IngredientReference filter = new IngredientReference(); public int expirationAmount = -1; public int serialBatch = 0; public String name = ""; - @Nullable - public LogisticTag logiTagIn = null; public LogisticTag logiTagOut = new LogisticTag(); public LabelingTask() @@ -212,10 +217,9 @@ public NBTTagCompound serializeNBT() { return EasyNBT.newNBT() .withString("name", name) - .withIngredientStack("stack", filter) + .withSerializable("stack", filter) .withInt("expiration_amount", expirationAmount) .withInt("serial_batch", serialBatch) - .conditionally(logiTagIn!=null, e -> e.withSerializable("logi_tag", logiTagIn)) .withSerializable("logi_tag_out", logiTagOut) .unwrap(); } @@ -225,10 +229,12 @@ public void deserializeNBT(NBTTagCompound nbt) { EasyNBT enbt = EasyNBT.wrapNBT(nbt); this.name = enbt.getString("name"); - this.filter = enbt.getIngredientStack("stack"); + this.filter = IngredientReference.readFromNBT(enbt.getCompound("stack")); this.expirationAmount = enbt.getInt("expiration_amount"); this.serialBatch = enbt.getInt("serial_batch"); - this.logiTagIn = enbt.hasKey("logi_tag")?new LogisticTag(enbt.getCompound("logi_tag")): null; + // Migrate the old separate input logistics-tag filter. + if(enbt.hasKey("logi_tag")) + this.filter.withLogisticTag(new LogisticTag(enbt.getCompound("logi_tag"))); this.logiTagOut = new LogisticTag(enbt.getCompound("logi_tag_out")); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/IngredientReference.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/IngredientReference.java new file mode 100644 index 000000000..2f1a31f7b --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/IngredientReference.java @@ -0,0 +1,497 @@ +package pl.pabilo8.immersiveintelligence.api.crafting; + +import blusunrize.immersiveengineering.api.crafting.IngredientStack; +import lombok.Getter; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.Constants.NBT; +import net.minecraftforge.common.util.INBTSerializable; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidUtil; +import net.minecraftforge.oredict.OreDictionary; +import pl.pabilo8.immersiveintelligence.api.LogisticTag; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +/** + * Stores an ingredient filter with lossless NBT and optional logistics-tag matching. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 12.08.2026 + */ +public class IngredientReference extends IngredientStack implements INBTSerializable, Cloneable +{ + private static final String NBT_FLUID_TAG = "fluidNBT"; + private static final String NBT_LOGISTIC_TAG = "logisticTag"; + + @Getter + @Nullable + private LogisticTag logisticTag; + + /** + * Creates a wildcard ingredient reference. + */ + public IngredientReference() + { + super("*"); + } + + /** + * Creates an item-stack ingredient reference. + */ + public IngredientReference(@Nonnull ItemStack stack) + { + super(stack.copy()); + } + + /** + * Creates an Ore Dictionary or wildcard ingredient reference. + */ + public IngredientReference(@Nonnull String oreName) + { + super(oreName); + } + + /** + * Creates an Ore Dictionary or wildcard ingredient reference with an amount. + */ + public IngredientReference(@Nonnull String oreName, int inputSize) + { + super(oreName, inputSize); + } + + /** + * Creates an item-list ingredient reference. + */ + public IngredientReference(@Nonnull List stackList) + { + this(stackList, 1); + } + + /** + * Creates an item-list ingredient reference with an amount. + */ + public IngredientReference(@Nonnull List stackList, int inputSize) + { + super(copyStacks(stackList), inputSize); + } + + /** + * Creates a fluid ingredient reference. + */ + public IngredientReference(@Nonnull FluidStack fluid) + { + super(fluid.copy()); + this.inputSize = Math.max(1, fluid.amount); + } + + /** + * Creates a wildcard reference with a logistics-tag filter. + */ + public IngredientReference(@Nonnull LogisticTag logisticTag) + { + this(); + this.logisticTag = logisticTag.clone(); + } + + /** + * Creates a deep copy of an IE ingredient stack. + */ + public IngredientReference(@Nonnull IngredientStack ingredient) + { + super(ingredient); + this.stack = ingredient.stack==null?null: ingredient.stack.copy(); + this.stackList = ingredient.stackList==null?null: copyStacks(ingredient.stackList); + this.fluid = ingredient.fluid==null?null: ingredient.fluid.copy(); + this.inputSize = ingredient.inputSize; + this.useNBT = ingredient.useNBT; + if(ingredient instanceof IngredientReference) + { + LogisticTag tag = ((IngredientReference)ingredient).logisticTag; + this.logisticTag = tag==null?null: tag.clone(); + } + } + + /** + * Converts an IE ingredient stack into an IngredientReference. + */ + @Nonnull + public static IngredientReference fromIngredientStack(@Nullable IngredientStack ingredient) + { + return ingredient==null?new IngredientReference(): new IngredientReference(ingredient); + } + + /** + * Converts this reference to a plain IE ingredient stack. + * The optional logistics-tag predicate is not represented by IngredientStack. + */ + @Nonnull + public IngredientStack toIngredientStack() + { + IngredientStack result; + if(isWildcard()) + result = new IngredientStack("*", inputSize); + else if(fluid!=null) + { + FluidStack copy = fluid.copy(); + copy.amount = inputSize; + result = new IngredientStack(copy); + } + else if(oreName!=null) + result = new IngredientStack(oreName, inputSize); + else if(stackList!=null) + result = new IngredientStack(copyStacks(stackList), inputSize); + else + result = new IngredientStack(stack==null?ItemStack.EMPTY: stack.copy()); + result.inputSize = inputSize; + result.useNBT = useNBT; + return result; + } + + /** + * Sets whether NBT must match. + */ + @Override + public IngredientReference setUseNBT(boolean useNBT) + { + this.useNBT = useNBT; + return this; + } + + /** + * Sets an optional logistics-tag predicate. + */ + public IngredientReference withLogisticTag(@Nullable LogisticTag logisticTag) + { + this.logisticTag = logisticTag==null?null: logisticTag.clone(); + return this; + } + + /** + * Returns true for the native '*' ingredient mode. + */ + public boolean isWildcard() + { + return (stack==null||stack.isEmpty())&&(stackList==null||stackList.isEmpty())&&(fluid==null||fluid.amount==0) + &&(oreName==null||"*".equals(oreName)); + } + + /** + * Returns true if this reference also checks a logistics tag. + */ + public boolean hasLogisticTag() + { + return logisticTag!=null; + } + + /** + * Returns true if the fluid matches this reference and required amount. + */ + public boolean matchesFluidStack(@Nullable FluidStack input) + { + return logisticTag==null&&input!=null&&input.amount >= Math.max(1, inputSize)&&matchesFluidValue(input); + } + + /** + * Returns true if the fluid matches this reference without checking amount. + */ + public boolean matchesFluidStackIgnoringSize(@Nullable FluidStack input) + { + return logisticTag==null&&matchesFluidValue(input); + } + + @Override + public boolean matches(Object input) + { + if(input instanceof IngredientStack) + { + IngredientReference other = fromIngredientStack((IngredientStack)input); + return equals(other)&&inputSize <= other.inputSize; + } + if(input instanceof FluidStack) + return matchesFluidStack((FluidStack)input); + return super.matches(input); + } + + @Override + public boolean matchesItemStack(@Nullable ItemStack input) + { + if(input==null||input.isEmpty()) + return false; + if(fluid!=null) + { + FluidStack contained = FluidUtil.getFluidContained(input); + return contained!=null&&contained.amount >= Math.max(1, inputSize) + &&matchesFluidValue(contained)&&matchesLogisticTag(input); + } + return input.getCount() >= Math.max(1, inputSize)&&matchesItemStackIgnoringSize(input); + } + + @Override + public boolean matchesItemStackIgnoringSize(@Nullable ItemStack input) + { + if(input==null||input.isEmpty()) + return false; + + boolean matchesIngredient; + if(isWildcard()) + matchesIngredient = true; + else if(fluid!=null) + matchesIngredient = matchesFluidValue(FluidUtil.getFluidContained(input)); + else if(oreName!=null) + matchesIngredient = super.matchesItemStackIgnoringSize(input); + else if(stackList!=null) + { + matchesIngredient = false; + for(ItemStack listed : stackList) + if(matchesListedStack(listed, input)) + { + matchesIngredient = true; + break; + } + } + else + matchesIngredient = matchesListedStack(stack, input); + return matchesIngredient&&matchesLogisticTag(input); + } + + @Override + public List getStackList() + { + return isWildcard()?Collections.emptyList(): super.getStackList(); + } + + @Override + public ItemStack getRandomizedExampleStack(long rand) + { + if(isWildcard()) + return ItemStack.EMPTY; + ItemStack example = super.getRandomizedExampleStack(rand); + return example==null?ItemStack.EMPTY: example; + } + + @Override + public ItemStack getExampleStack() + { + if(isWildcard()) + return ItemStack.EMPTY; + if(fluid!=null) + return FluidUtil.getFilledBucket(fluid); + ItemStack example = super.getExampleStack(); + return example==null?ItemStack.EMPTY: example; + } + + /** + * Creates a copy with a different required amount. + */ + @Override + public IngredientReference copyWithSize(int size) + { + IngredientReference copy = clone(); + copy.inputSize = size; + return copy; + } + + /** + * Creates a copy with a multiplied required amount. + */ + @Override + public IngredientReference copyWithMultipliedSize(double multiplier) + { + return copyWithSize((int)Math.floor(inputSize*multiplier)); + } + + /** + * Writes the IE-compatible ingredient format and II extensions. + */ + @Override + public NBTTagCompound writeToNBT(NBTTagCompound nbt) + { + if(isWildcard()&&oreName==null) + new IngredientStack("*", inputSize).writeToNBT(nbt); + else + super.writeToNBT(nbt); + // Keep the shared amount authoritative for legacy readers of fluid references. + if(fluid!=null) + nbt.setInteger("fluidAmount", inputSize); + // IE only stores useNBT for item-stack mode. Keep it for all reference modes. + nbt.setBoolean("useNBT", useNBT); + if(fluid!=null&&fluid.tag!=null) + nbt.setTag(NBT_FLUID_TAG, fluid.tag.copy()); + if(logisticTag!=null) + nbt.setTag(NBT_LOGISTIC_TAG, logisticTag.serializeNBT()); + return nbt; + } + + /** + * Serializes this reference to NBT. + */ + @Override + public NBTTagCompound serializeNBT() + { + return writeToNBT(new NBTTagCompound()); + } + + /** + * Loads this reference from IE-compatible NBT. + */ + @Override + public void deserializeNBT(NBTTagCompound nbt) + { + copyFrom(readFromNBT(nbt)); + } + + /** + * Reads an IngredientReference from IE-compatible NBT. + */ + @Nonnull + public static IngredientReference readFromNBT(@Nullable NBTTagCompound nbt) + { + if(nbt==null||!nbt.hasKey("nbtType")) + return new IngredientReference(); + + IngredientStack legacy = IngredientStack.readFromNBT(nbt); + if(legacy==null) + return new IngredientReference(); + + IngredientReference result = new IngredientReference(legacy); + if(nbt.hasKey("inputSize")) + result.inputSize = nbt.getInteger("inputSize"); + if(nbt.hasKey("useNBT")) + result.useNBT = nbt.getBoolean("useNBT"); + if(result.fluid!=null&&nbt.hasKey(NBT_FLUID_TAG, NBT.TAG_COMPOUND)) + result.fluid.tag = nbt.getCompoundTag(NBT_FLUID_TAG).copy(); + if(nbt.hasKey(NBT_LOGISTIC_TAG, NBT.TAG_COMPOUND)) + result.logisticTag = new LogisticTag(nbt.getCompoundTag(NBT_LOGISTIC_TAG)); + return result; + } + + @SuppressWarnings("MethodDoesntCallSuperMethod") + @Override + public IngredientReference clone() + { + return new IngredientReference(this); + } + + @Override + public boolean equals(Object object) + { + if(this==object) + return true; + if(!(object instanceof IngredientReference)) + return false; + + IngredientReference other = (IngredientReference)object; + String thisOre = isWildcard()?"*": oreName; + String otherOre = other.isWildcard()?"*": other.oreName; + return useNBT==other.useNBT + &&Objects.equals(thisOre, otherOre) + &&stacksEqualReference(stack, other.stack, useNBT) + &&stackListsEqualReference(stackList, other.stackList, useNBT) + &&fluidsEqualReference(fluid, other.fluid, useNBT) + &&Objects.equals(logisticTag, other.logisticTag); + } + + @Override + public int hashCode() + { + int result = Objects.hash(useNBT, isWildcard()?"*": oreName, logisticTag); + result = 31*result+stackHashReference(stack, useNBT); + if(stackList!=null) + for(ItemStack listed : stackList) + result = 31*result+stackHashReference(listed, useNBT); + if(fluid!=null) + result = 31*result+Objects.hash(fluid.getFluid(), useNBT?fluid.tag: null); + return result; + } + + private void copyFrom(@Nonnull IngredientReference other) + { + this.stack = other.stack==null?null: other.stack.copy(); + this.stackList = other.stackList==null?null: copyStacks(other.stackList); + this.oreName = other.oreName; + this.fluid = other.fluid==null?null: other.fluid.copy(); + this.inputSize = other.inputSize; + this.useNBT = other.useNBT; + this.logisticTag = other.logisticTag==null?null: other.logisticTag.clone(); + } + + private boolean matchesFluidValue(@Nullable FluidStack input) + { + if(input==null) + return false; + if(isWildcard()) + return true; + if(fluid==null||input.getFluid()!=fluid.getFluid()) + return false; + return !useNBT||Objects.equals(fluid.tag, input.tag); + } + + private boolean matchesLogisticTag(ItemStack input) + { + return logisticTag==null||logisticTag.itemMatches(input); + } + + private static List copyStacks(List stacks) + { + List copy = new ArrayList<>(stacks.size()); + for(ItemStack stack : stacks) + if(stack!=null) + copy.add(stack.copy()); + return copy; + } + + private boolean matchesListedStack(@Nullable ItemStack listed, @Nonnull ItemStack input) + { + return listed!=null&&!listed.isEmpty() + &&OreDictionary.itemMatches(listed, input, false) + &&(!useNBT||ItemStack.areItemStackTagsEqual(listed, input)); + } + + private static boolean stackListsEqualReference(@Nullable List first, @Nullable List second, boolean useNBT) + { + if(first==second) + return true; + if(first==null||second==null||first.size()!=second.size()) + return false; + for(int i = 0; i < first.size(); i++) + if(!stacksEqualReference(first.get(i), second.get(i), useNBT)) + return false; + return true; + } + + private static boolean stacksEqualReference(@Nullable ItemStack first, @Nullable ItemStack second, boolean useNBT) + { + if(first==second) + return true; + if(first==null||second==null) + return false; + if(first.isEmpty()||second.isEmpty()) + return first.isEmpty()&&second.isEmpty(); + return ItemStack.areItemsEqual(first, second) + &&(!useNBT||ItemStack.areItemStackTagsEqual(first, second)); + } + + private static boolean fluidsEqualReference(@Nullable FluidStack first, @Nullable FluidStack second, boolean useNBT) + { + if(first==second) + return true; + return first!=null&&second!=null + &&first.getFluid()==second.getFluid() + &&(!useNBT||Objects.equals(first.tag, second.tag)); + } + + private static int stackHashReference(@Nullable ItemStack stack, boolean useNBT) + { + if(stack==null||stack.isEmpty()) + return 0; + return Objects.hash(stack.getItem().getRegistryName(), stack.getMetadata(), useNBT?stack.getTagCompound(): null); + } + + +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/IIDataHandlingUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/IIDataHandlingUtils.java index 59301bcce..72704731f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/data/IIDataHandlingUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/data/IIDataHandlingUtils.java @@ -1,6 +1,5 @@ package pl.pabilo8.immersiveintelligence.api.data; -import blusunrize.immersiveengineering.api.crafting.IngredientStack; import net.minecraft.item.EnumDyeColor; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -11,7 +10,9 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.TextFormatting; import net.minecraft.world.World; +import net.minecraftforge.fluids.FluidStack; import pl.pabilo8.immersiveintelligence.api.LogisticTag; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.api.data.device.IDataConnector; import pl.pabilo8.immersiveintelligence.api.data.device.IDataDevice; import pl.pabilo8.immersiveintelligence.api.data.types.*; @@ -23,16 +24,15 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.util.EnumSet; -import java.util.IdentityHashMap; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.function.Consumer; import java.util.function.Function; /** + * Provides conversion and dispatch utilities for II data variables and packets. + * * @author Pabilo8 (pabilo@iiteam.net) - * @updated 19.07.2026 + * @updated 12.08.2026 * @ii-approved 0.3.1 * @since 28.08.2024 */ @@ -92,22 +92,76 @@ public static & ISerializableEnum> T asEnum(char variable, Da return null; } - public static IngredientStack asIngredient(char variable, DataPacket packet) + /** + * Gets an ingredient reference from a packet variable. + */ + public static IngredientReference asIngredient(char variable, DataPacket packet) { return ingredientFromData(packet.get(variable)); } - public static IngredientStack ingredientFromData(DataType dataType) + /** + * Converts a data variable to an ingredient reference. + */ + @Nonnull + public static IngredientReference ingredientFromData(@Nullable DataType dataType) { if(dataType instanceof DataTypeItemStack) { - ItemStack stack = ((DataTypeItemStack)dataType).value.copy(); - return new IngredientStack(stack).setUseNBT(stack.hasTagCompound()); + ItemStack value = ((DataTypeItemStack)dataType).value; + ItemStack stack = value==null?ItemStack.EMPTY: value.copy(); + return stack.isEmpty()?new IngredientReference(): + new IngredientReference(stack).setUseNBT(stack.hasTagCompound()); + } + if(dataType instanceof DataTypeFluidStack) + { + FluidStack fluid = ((DataTypeFluidStack)dataType).value; + return fluid==null?new IngredientReference(): + new IngredientReference(fluid.copy()).setUseNBT(fluid.tag!=null); + } + if(dataType instanceof DataTypeLogisticTag) + { + LogisticTag logisticTag = ((DataTypeLogisticTag)dataType).value; + return logisticTag==null?new IngredientReference(): new IngredientReference(logisticTag); + } + if(dataType instanceof DataTypeArray) + { + List stacks = new ArrayList<>(); + boolean useNBT = false; + for(DataType entry : ((DataTypeArray)dataType).value) + { + if(!(entry instanceof DataTypeItemStack)||((DataTypeItemStack)entry).value==null) + return new IngredientReference(); + ItemStack stack = ((DataTypeItemStack)entry).value.copy(); + useNBT |= stack.hasTagCompound(); + stacks.add(stack); + } + return stacks.isEmpty()?new IngredientReference(): new IngredientReference(stacks).setUseNBT(useNBT); + } + if(dataType instanceof DataTypeString) + return new IngredientReference(((DataTypeString)dataType).value); + return new IngredientReference(); + } + + @Nonnull + private static DataType ingredientToData(IngredientReference reference) + { + if(reference.fluid!=null) + { + FluidStack fluid = reference.fluid.copy(); + fluid.amount = reference.inputSize; + return new DataTypeFluidStack(fluid); + } + if(reference.oreName!=null) + return new DataTypeString(reference.oreName); + if(reference.stackList!=null) + { + List stacks = new ArrayList<>(); + for(ItemStack stack : reference.stackList) + stacks.add(new DataTypeItemStack(stack.copy())); + return new DataTypeArray(stacks); } - else if(dataType instanceof DataTypeString) - return new IngredientStack(dataType.toString()); - else - return new IngredientStack("*"); + return new DataTypeItemStack(reference.stack==null?ItemStack.EMPTY: reference.stack.copy()); } //--- Optional ---// diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_router/GuiDataRouterEdit.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_router/GuiDataRouterEdit.java index 6b173c454..07248703d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_router/GuiDataRouterEdit.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_router/GuiDataRouterEdit.java @@ -1,6 +1,5 @@ package pl.pabilo8.immersiveintelligence.client.gui.block.data_router; -import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumDyeColor; import net.minecraft.nbt.NBTTagCompound; @@ -14,7 +13,6 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoCheckbox; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoDropdownDataLetters; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoDropdown; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoElementDisplays; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.data_editor.DecoDataEditor; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoPanel; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoTaskList.ListMode; @@ -161,9 +159,6 @@ private void addRoutingSection(DecoPanel panel, int yy) .withEntries(EnumFacing.VALUES) .withSelectedEntry(edited.outgoingSide) .withOnSelectedEntry((oldSide, newSide) -> edited.outgoingSide = newSide) - .withDisplayFunction(DecoElementDisplays.getSimpleTextDisplay(side -> - I18n.format(IIReference.DESCRIPTION_KEY+"side."+side.getName()) - )) ); panel.addLabel(KEY+"action", 132, yy+18) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/inserter/GuiInserter.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/inserter/GuiInserter.java index 2aac01e02..78041b5ab 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/inserter/GuiInserter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/inserter/GuiInserter.java @@ -1,16 +1,17 @@ package pl.pabilo8.immersiveintelligence.client.gui.block.inserter; -import blusunrize.immersiveengineering.api.crafting.IngredientStack; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoDropdown; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoElementDisplays; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.label.DecoLabel; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoEntryPanelBuilder; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoIngredientStackPickerPanel; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoIngredientStackPickerPanel.PickerPanelMode; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoPanel; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoTaskList; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.panel.DecoTaskList.ListMode; @@ -19,6 +20,7 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.text.DecoTextField; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.text.util.TextFilter; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; +import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserterBase; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserterBase.InserterTask; @@ -26,7 +28,6 @@ import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.IIStringUtil; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyMultiTypeCollection; -import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; @@ -35,8 +36,12 @@ import java.util.function.Supplier; /** + * Configures Inserter tasks and sends task changes to the server. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @ii-approved 0.3.1 + * @updated 12.08.2026 * @since 20.01.2026 */ @DecoTemplate(name = "inserter", category = DecoGuiCategory.DATA_TILE) @@ -48,6 +53,8 @@ public class GuiInserter extends DecoTileGui tasks; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public int taskRetryDelay = 0; @Nullable private InserterTask selected; @@ -106,7 +113,7 @@ public void onInit() .withRawText("task") ) .withElementApplyMethod((task, panel) -> { - IngredientStack stack = task.stack; + IngredientReference stack = task.stack; panel.label("type").withText(INSERTER_KEY+"tasks."+task.getName()); boolean wildcard = isWildcard(stack); @@ -114,7 +121,9 @@ public void onInit() DecoItemStackDisplay icon = panel.component("icon", DecoItemStackDisplay.class); icon.visible = icon.enabled = !wildcard; - icon.withStack(!wildcard?stack.getExampleStack(): ItemStack.EMPTY); + icon.withStack(stack.hasLogisticTag()? + IIContent.itemLogisticTag.getStack(stack.getLogisticTag(), 1): + (!wildcard?stack.getExampleStack(): ItemStack.EMPTY)); }) ) ); @@ -210,31 +219,22 @@ private void refreshDetails() .withTranslatedTooltip(INSERTER_KEY+"items_per_step.tooltip") .withDisabled(!thisTask.areDetailsEditable()), new DecoIngredientStackPickerPanel(6-2, 34+18+18+18) - .withLogisticTagMode(true) - .withFluidMode(thisTask.getName().contains("fluid")) + .withMode(thisTask.getName().contains("fluid")?PickerPanelMode.FLUID: PickerPanelMode.ITEM_LOGISTIC_TAG) .withOnStackChanged(stack -> { thisTask.stack = stack; - //refreshDetails(); + taskList.cleanup(); }) - .withIngredientStack(thisTask.stack) + .withIngredientReference(thisTask.stack) .withSize(panelDetails.width-6-2, 56) .withDisabled(!thisTask.areDetailsEditable()) ); } - @Override - protected EasyNBT onSaveTileData() - { - return super.onSaveTileData() - .withSerializable("tasks", tasks); - } - //--- Task helpers --- - private static boolean isWildcard(IngredientStack ing) + private static boolean isWildcard(IngredientReference ing) { - ItemStack ex = ing.getExampleStack(); - return ex==null||ex.isEmpty(); + return ing==null||ing.isWildcard()&&!ing.hasLogisticTag(); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPacker.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPacker.java index 31dfb5a5f..1785901c3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPacker.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPacker.java @@ -1,6 +1,5 @@ package pl.pabilo8.immersiveintelligence.client.gui.block.packer; -import blusunrize.immersiveengineering.api.crafting.IngredientStack; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -8,6 +7,7 @@ import pl.pabilo8.immersiveintelligence.api.PackerHandler; import pl.pabilo8.immersiveintelligence.api.PackerHandler.PackerActionType; import pl.pabilo8.immersiveintelligence.api.PackerHandler.PackerTask; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoCheckbox; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoTab; @@ -37,7 +37,6 @@ import pl.pabilo8.immersiveintelligence.common.util.ILocalizedEnum; import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyCollection; -import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; @@ -47,8 +46,10 @@ import static pl.pabilo8.immersiveintelligence.common.util.IIReference.RES_II; /** + * Edits Packer transfer tasks and displays Packer resources. + * * @author Pabilo8 (pabilo@iiteam.net) - * @updated 24.01.2026 + * @updated 12.08.2026 * @ii-approved 0.3.1 * @since 25.08.2022 */ @@ -122,7 +123,7 @@ public void onInit() .withIsJobPredicate(t -> t.expirationAmount==-1) .withModeHandling(mode, m -> mode = m) .withBlankTaskSupplier(() -> { - PackerTask created = new PackerTask(PackerHandler.PackerPutMode.ALL_POSSIBLE, actionType, new IngredientStack("*")); + PackerTask created = new PackerTask(PackerHandler.PackerPutMode.ALL_POSSIBLE, actionType, new IngredientReference()); created.expirationAmount = (taskList.getMode()==ListMode.JOBS)?-1: 1; return created; }) @@ -147,13 +148,15 @@ public void onInit() .withElementApplyMethod((task, panel) -> { panel.label("type").withText(task.actionType.getFullLocaleKey()+(task.unpack?".in": ".out")); - IngredientStack ing = task.stack; - boolean wildcard = ing==null||"*".equals(ing.oreName); + IngredientReference ing = task.stack; + boolean wildcard = ing==null||ing.isWildcard()&&!ing.hasLogisticTag(); panel.label("wild").visible = wildcard; DecoItemStackDisplay icon = panel.component("icon", DecoItemStackDisplay.class); icon.visible = icon.enabled = !wildcard; - icon.withStack(!wildcard?ing.getExampleStack(): ItemStack.EMPTY); + icon.withStack(ing.hasLogisticTag()? + IIContent.itemLogisticTag.getStack(ing.getLogisticTag(), 1): + (!wildcard?ing.getExampleStack(): ItemStack.EMPTY)); }) ) ); @@ -332,22 +335,20 @@ else if(task.expirationAmount==-1) (actionType==PackerActionType.FLUID?PickerPanelMode.FLUID: PickerPanelMode.ENERGY); panelDetails.addComponent((panelStackFilterPicker = new DecoIngredientStackPickerPanel(4, panelDetails.height-56-4)) .withMode(panelMode) - .withIngredientStack(task.stack) + .withIngredientReference(task.stack) .withOnStackChanged(is -> { task.stack = is; - if(task.stack.getExampleStack().isEmpty()) - task.stack = new IngredientStack("*", task.stack.inputSize); + taskList.cleanup(); }) .withMaxEnergy(Packer.energyCapacityUpgradeMaxTransfer) .withSize(panelDetails.width-8, 56) ); panelDetails.addComponent((panelContainerFilterPicker = new DecoIngredientStackPickerPanel(4, panelDetails.height-56-4)) - .withMode(panelMode) - .withIngredientStack(task.containerFilter) + .withMode(PickerPanelMode.ITEM_LOGISTIC_TAG) + .withIngredientReference(task.containerFilter) .withOnStackChanged(is -> { task.containerFilter = is; - if(task.containerFilter.getExampleStack().isEmpty()) - task.containerFilter = new IngredientStack("*"); + taskList.cleanup(); }) .withMaxEnergy(Packer.energyCapacityUpgradeMaxTransfer) .withSize(panelDetails.width-8, 56) @@ -392,11 +393,4 @@ public String geLocaleKey() return GUI_LABEL_KEY+"packer.direction."; } } - - @Override - protected EasyNBT onSaveTileData() - { - tile.tasks = tasks; - return super.onSaveTileData(); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPackerLabeler.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPackerLabeler.java index abbf7299c..d74821ab1 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPackerLabeler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/packer/GuiPackerLabeler.java @@ -1,11 +1,11 @@ package pl.pabilo8.immersiveintelligence.client.gui.block.packer; -import blusunrize.immersiveengineering.api.crafting.IngredientStack; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import pl.pabilo8.immersiveintelligence.api.LogisticTag; import pl.pabilo8.immersiveintelligence.api.PackerHandler.LabelingTask; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoCheckbox; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoTab; @@ -28,7 +28,6 @@ import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.IIStringUtil; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyCollection; -import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; @@ -37,8 +36,10 @@ import static pl.pabilo8.immersiveintelligence.common.util.IIReference.GUI_LABEL_KEY; /** + * Edits Packer labeling tasks and logistics-tag filters. + * * @author Pabilo8 (pabilo@iiteam.net) - * @updated 24.01.2026 + * @updated 12.08.2026 * @ii-approved 0.3.1 * @since 25.08.2022 */ @@ -104,7 +105,7 @@ public void onInit() .withModeHandling(mode, m -> mode = m) .withBlankTaskSupplier(() -> { LabelingTask created = new LabelingTask(); - created.filter = new IngredientStack("*"); + created.filter = new IngredientReference(); created.expirationAmount = (taskList.getMode()==ListMode.JOBS)?-1: 1; created.serialBatch = 0; return created; @@ -127,12 +128,14 @@ public void onInit() .withTextColor(IIReference.COLOR_IMMERSIVE_ORANGE) ) .withElementApplyMethod((task, panel) -> { - IngredientStack ing = task.filter; - boolean wildcard = ing==null||"*".equals(ing.oreName); + IngredientReference ing = task.filter; + boolean wildcard = ing==null||ing.isWildcard()&&!ing.hasLogisticTag(); DecoItemStackDisplay icon = panel.component("icon", DecoItemStackDisplay.class); icon.visible = icon.enabled = !wildcard; - icon.withStack(!wildcard?ing.getExampleStack(): ItemStack.EMPTY); + icon.withStack(ing.hasLogisticTag()? + IIContent.itemLogisticTag.getStack(ing.getLogisticTag(), 1): + (!wildcard?ing.getExampleStack(): ItemStack.EMPTY)); panel.label("type").withText(GUI_LABEL_KEY+"packer.labeler.task"); @@ -226,32 +229,20 @@ else if(task.expirationAmount==-1) //Filter + (optional) tags panelDetails.addComponent((panelFilterPicker = new DecoIngredientStackPickerPanel(4, panelDetails.height-56-4)) .withMode(PickerPanelMode.ITEM_LOGISTIC_TAG) - .withIngredientStack(task.filter) + .withIngredientReference(task.filter) .withOnStackChanged(is -> { - //Prefer LogiTags - if(LogisticTag.hasLogisticsTag(is.getExampleStack())) - { - task.logiTagIn = LogisticTag.getLogisticsTagFromStack(is.getExampleStack()); - task.filter = new IngredientStack("*", task.filter.inputSize); - } - else - { - task.filter = is; - if(task.filter.getExampleStack().isEmpty()) - task.filter = new IngredientStack("*", task.filter.inputSize); - } + task.filter = is; + taskList.cleanup(); }) .withSize(panelDetails.width-8, 56) ); panelDetails.addComponent((panelOutputPicker = new DecoIngredientStackPickerPanel(4, panelDetails.height-56-4)) .withMode(PickerPanelMode.ITEM) - .withIngredientStack(new IngredientStack(IIContent.itemLogisticTag.getStack(task.logiTagOut, 1))) + .withIngredientReference(new IngredientReference(IIContent.itemLogisticTag.getStack(task.logiTagOut, 1))) .withOnStackChanged(is -> { if(LogisticTag.hasLogisticsTag(is.getExampleStack())) - { task.logiTagOut = LogisticTag.getLogisticsTagFromStack(is.getExampleStack()); - task.filter = new IngredientStack("*", task.filter.inputSize); - } + taskList.cleanup(); }) .withSize(panelDetails.width-8, 56) ); @@ -291,11 +282,4 @@ private void updateExpiresFields() if(taskList!=null) taskList.setMode(selected.expirationAmount==-1?ListMode.JOBS: ListMode.REQUESTS); } - - @Override - protected EasyNBT onSaveTileData() - { - tile.labels = labels; - return super.onSaveTileData(); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoElementDisplays.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoElementDisplays.java index 61e519468..d2ec3401c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoElementDisplays.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoElementDisplays.java @@ -1,10 +1,12 @@ package pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.util.IStringSerializable; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.EnumFacing; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.DecoComponent; import pl.pabilo8.immersiveintelligence.client.util.font.IIFontRenderer; import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.ILocalizedEnum; import javax.annotation.Nullable; @@ -34,8 +36,15 @@ public static DecoElementDisplay getDefaultDisplay() return (t, width, font, mouseX, mouseY, partialTicks, heightProbe) -> { if(!heightProbe) { - String displayed = t instanceof ILocalizedEnum?((ILocalizedEnum)t).getLocalizedName(): t.toString(); - font.drawString(displayed, 2, 2, IIColor.fromHex("afafaf").getPackedRGB()); + String localizedText; + if(t instanceof EnumFacing) + localizedText = I18n.format(IIReference.DESCRIPTION_KEY+"side."+((EnumFacing)t).getName()); + else if(t instanceof ILocalizedEnum) + localizedText = ((ILocalizedEnum)t).getLocalizedName(); + else + localizedText = t.toString(); + + font.drawString(localizedText, 2, 2, IIColor.fromHex("afafaf").getPackedRGB()); } return font.FONT_HEIGHT+1; }; @@ -189,18 +198,19 @@ public interface DecoElementSorter @Nullable default List autocomplete(List elements, String input) { - if(elements instanceof IStringSerializable) - { - //noinspection unchecked - return elements.stream() - .map(e -> (IStringSerializable)e) - .filter(e -> e.getName().toLowerCase().startsWith(input.toLowerCase())) - .map(e -> (T)e) - .collect(Collectors.toList()); - } return elements.stream() - .filter(e -> e.toString().toLowerCase().startsWith(input.toLowerCase())) + .filter(element -> { + String localizedText; + if(element instanceof EnumFacing) + localizedText = I18n.format(IIReference.DESCRIPTION_KEY+"side."+((EnumFacing)element).getName()); + else if(element instanceof ILocalizedEnum) + localizedText = ((ILocalizedEnum)element).getLocalizedName(); + else + localizedText = element.toString(); + return localizedText.toLowerCase().startsWith(input.toLowerCase()); + }) .collect(Collectors.toList()); + } } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/panel/DecoIngredientStackPickerPanel.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/panel/DecoIngredientStackPickerPanel.java index 14053e3be..2b8be5f69 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/panel/DecoIngredientStackPickerPanel.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/panel/DecoIngredientStackPickerPanel.java @@ -10,6 +10,7 @@ import net.minecraftforge.oredict.OreDictionary; import org.lwjgl.input.Keyboard; import pl.pabilo8.immersiveintelligence.api.LogisticTag; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeFluidStack; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeItemStack; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; @@ -33,9 +34,10 @@ import java.util.function.Consumer; /** - * {@link IngredientStack} picker panel ({@link ItemStack} + settings). Supports {@link FluidStack} picking via {@link #isFluidMode}. + * Edits {@link IngredientReference} item, fluid, energy, and logistics filters. * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @ii-approved 0.3.1 * @since 21.01.2026 */ @@ -43,7 +45,7 @@ public class DecoIngredientStackPickerPanel extends DecoPanel { private static final String TRANSLATION_KEY = IIReference.GUI_LABEL_KEY+"itemstack_editor."; @Nonnull - protected IngredientStack stack = new IngredientStack(ItemStack.EMPTY); + protected IngredientReference stack = new IngredientReference(); @Nonnull protected PickerPanelMode mode = PickerPanelMode.ITEM; @@ -54,7 +56,7 @@ public class DecoIngredientStackPickerPanel extends DecoPanel protected DecoSlider energySlider; protected DecoTextField energyField, fluidNameField; - private Consumer onStackChanged; + private Consumer onStackChanged; private int maxEnergyCount = 1000000; public DecoIngredientStackPickerPanel(int x, int y) @@ -65,17 +67,28 @@ public DecoIngredientStackPickerPanel(int x, int y) public DecoIngredientStackPickerPanel withStack(@Nonnull ItemStack stack) { - return withIngredientStack(new IngredientStack(stack.copy())); + return withIngredientReference(new IngredientReference(stack.copy())); } public DecoIngredientStackPickerPanel withIngredientStack(@Nonnull IngredientStack stack) { - this.stack = stack; + return withIngredientReference(IngredientReference.fromIngredientStack(stack)); + } + + /** + * Sets the ingredient reference edited by this panel. + */ + public DecoIngredientStackPickerPanel withIngredientReference(@Nonnull IngredientReference stack) + { + this.stack = stack.clone(); this.stack.inputSize = clampInteger(this.stack.inputSize, getMinimumCount(), Integer.MAX_VALUE); - if(!isFluidMode()&&this.stack.stack==null) - this.stack.stack = ItemStack.EMPTY; if(isItemDataTypeMode()) + { this.stack.oreName = null; + if(this.stack.stack==null) + this.stack.stack = ItemStack.EMPTY; + this.stack.withLogisticTag(null); + } applyToUI(); if(!initialized) @@ -127,7 +140,7 @@ public DecoIngredientStackPickerPanel withDataType(@Nonnull DataType dataType) public DecoIngredientStackPickerPanel withItemStackDataType(@Nonnull DataTypeItemStack dataType) { ItemStack itemStack = dataType.value==null?ItemStack.EMPTY: dataType.value.copy(); - IngredientStack ingredientStack = new IngredientStack(itemStack); + IngredientReference ingredientStack = new IngredientReference(itemStack); ingredientStack.inputSize = itemStack.isEmpty()?1: Math.max(1, itemStack.getCount()); ingredientStack.oreName = null; ingredientStack.useNBT = false; @@ -136,12 +149,12 @@ public DecoIngredientStackPickerPanel withItemStackDataType(@Nonnull DataTypeIte public DecoIngredientStackPickerPanel withFluidStackDataType(@Nonnull DataTypeFluidStack dataType) { - IngredientStack ingredientStack; + IngredientReference ingredientStack; if(dataType.value==null) - ingredientStack = new IngredientStack(ItemStack.EMPTY); + ingredientStack = new IngredientReference(); else { - ingredientStack = new IngredientStack(dataType.value.copy()); + ingredientStack = new IngredientReference(dataType.value.copy()).setUseNBT(dataType.value.tag!=null); ingredientStack.inputSize = Math.max(1, dataType.value.amount); } return withIngredientStack(ingredientStack); @@ -199,13 +212,13 @@ public DecoIngredientStackPickerPanel withOreDictBased(boolean oreDict) this.stack.oreName = null; else if(oreDict&&this.stack.stack!=null&&!this.stack.stack.isEmpty()) this.stack.oreName = findFirstOreName(this.stack.stack); - else + else if(this.stack.stack!=null&&!this.stack.stack.isEmpty()) this.stack.oreName = null; applyToUI(); return this; } - public DecoIngredientStackPickerPanel withOnStackChanged(Consumer onStackChanged) + public DecoIngredientStackPickerPanel withOnStackChanged(Consumer onStackChanged) { this.onStackChanged = onStackChanged; return this; @@ -305,8 +318,7 @@ protected boolean initialize() //Reset stack if(button==MouseButton.RIGHT||(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)&&button==MouseButton.LEFT)) { - stack.fluid = null; - applyToUI(); + withIngredientReference(new IngredientReference("*", Math.max(1, stack.inputSize))); return true; } if(button!=MouseButton.LEFT||parentGui==null) @@ -319,9 +331,9 @@ protected boolean initialize() FluidStack fluid = FluidUtil.getFluidContained(held); if(fluid!=null) { - IngredientStack fluidIng = new IngredientStack(fluid); - fluidIng.inputSize = fluid.amount; - withIngredientStack(fluidIng); + IngredientReference fluidReference = new IngredientReference(fluid) + .setUseNBT(fluid.tag!=null); + withIngredientReference(fluidReference); applyToUI(); return true; } @@ -346,15 +358,6 @@ protected boolean initialize() .withOnTextChanged(this::handleCountTextChanged) .withTranslatedTooltip(TRANSLATION_KEY+"count.tooltip") ); - - //toggles not applicable (kept for backward behavior: allow NBT toggle in fluid mode if you really want) - addComponents( - toggleNBT = new DecoSwitch(4, height-16-2) - .withSize(width/2-8, 16) - .withText(TRANSLATION_KEY+"nbt") - .withOnToggle(this::withMatchNBT) - .withTranslatedTooltip(TRANSLATION_KEY+"nbt.fluid.tooltip") - ); } break; case ITEM: @@ -373,7 +376,7 @@ protected boolean initialize() //Reset stack if(button==MouseButton.RIGHT||(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)&&button==MouseButton.LEFT)) { - withIngredientStack(new IngredientStack(ItemStack.EMPTY)); + withIngredientReference(new IngredientReference()); applyToUI(); return true; } @@ -385,7 +388,13 @@ protected boolean initialize() if(held.isEmpty()) return false; - withIngredientStack(new IngredientStack(held.copy())); + if(isLogisticTagMode()&&LogisticTag.hasLogisticsTag(held)) + { + LogisticTag logisticTag = LogisticTag.getLogisticsTagFromStack(held); + withIngredientReference(new IngredientReference().withLogisticTag(logisticTag)); + } + else + withIngredientReference(new IngredientReference(held.copy())); applyToUI(); return true; }) @@ -449,7 +458,7 @@ private void applyToUI() case ITEM_LOGISTIC_TAG: case ITEM_DATA_TYPE: { - boolean fieldsHidden = isLogisticTagMode()&&getLogisticTag()!=null; + boolean fieldsHidden = isLogisticTagMode()&&stack.hasLogisticTag(); if(metadataField!=null) metadataField.visible = !fieldsHidden; if(toggleOre!=null) @@ -465,10 +474,17 @@ private void applyToUI() if(isItemDataTypeMode()) { this.stack.oreName = null; + if(this.stack.stack==null) + this.stack.stack = ItemStack.EMPTY; + this.stack.withLogisticTag(null); this.stack.useNBT = false; } if(stackDisplay!=null) - stackDisplay.withStack(stack); + { + ItemStack display = stack.hasLogisticTag()? + IIContent.itemLogisticTag.getStack(stack.getLogisticTag(), 1): stack.getExampleStack(); + stackDisplay.withStack(display); + } } break; case FLUID: @@ -502,17 +518,28 @@ public ItemStack getItemStack() { if(isFluidMode()||isEnergyMode()) return ItemStack.EMPTY; + if(isLogisticTagMode()&&stack.hasLogisticTag()) + return IIContent.itemLogisticTag.getStack(stack.getLogisticTag(), 1); if(isItemDataTypeMode()&&stack.stack!=null) return stack.stack.copy(); return stack.getExampleStack(); } + /** + * @return the edited ingredient reference + */ @Nonnull - public IngredientStack getIngredientStack() + public IngredientReference getIngredientReference() { return stack; } + @Nonnull + public IngredientReference getIngredientStack() + { + return getIngredientReference(); + } + @Nonnull public DataType getDataType() { @@ -567,15 +594,10 @@ public DataTypeFluidStack getFluidStackDataType(@Nonnull DataTypeFluidStack data return dataType; } + @Nullable public LogisticTag getLogisticTag() { - ItemStack itemStack = getItemStack(); - if(isLogisticTagMode()&&!itemStack.isEmpty()&&itemStack.getItem()==IIContent.itemLogisticTag) - { - LogisticTag tag = LogisticTag.getLogisticsTagFromStack(itemStack); - return tag==null?new LogisticTag(): tag; - } - return null; + return isLogisticTagMode()?stack.getLogisticTag(): null; } @Nullable @@ -681,20 +703,16 @@ public void onGuiEvent(DecoGuiEvent event) switch(event) { case COPY: - DecoGuiUtils.setClipboardNBT(getIngredientStack().writeToNBT(new NBTTagCompound())); + DecoGuiUtils.setClipboardNBT(getIngredientReference().serializeNBT()); break; case CUT: - DecoGuiUtils.setClipboardNBT(getIngredientStack().writeToNBT(new NBTTagCompound())); - withIngredientStack(new IngredientStack(ItemStack.EMPTY)); + DecoGuiUtils.setClipboardNBT(getIngredientReference().serializeNBT()); + withIngredientReference(new IngredientReference()); break; case PASTE: NBTTagCompound nbt = DecoGuiUtils.getClipboardNBT(); if(!nbt.hasNoTags()) - { - IngredientStack ingredientStack = IngredientStack.readFromNBT(nbt); - if(ingredientStack!=null) - withIngredientStack(ingredientStack); - } + withIngredientReference(IngredientReference.readFromNBT(nbt)); break; default: super.onGuiEvent(event); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/AdvancedFluidInserterRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/AdvancedFluidInserterRenderer.java index 0a3bc2b68..80c8c195d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/AdvancedFluidInserterRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/AdvancedFluidInserterRenderer.java @@ -6,7 +6,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMT; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer.RegisteredTileRenderer; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityAdvancedFluidInserter; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityAdvancedFluidInserter; import pl.pabilo8.immersiveintelligence.common.util.amt.AMTModelHeader; import java.util.function.Function; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/FluidInserterRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/FluidInserterRenderer.java index 8a61b530e..619a0fe82 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/FluidInserterRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/inserter/FluidInserterRenderer.java @@ -6,7 +6,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMT; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer.RegisteredTileRenderer; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityFluidInserter; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityFluidInserter; import pl.pabilo8.immersiveintelligence.common.util.amt.AMTModelHeader; import java.util.function.Function; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IISounds.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IISounds.java index 2c0d33009..5359110d4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IISounds.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IISounds.java @@ -75,15 +75,15 @@ public class IISounds @ModSound(sounds = {"device/electric_motor/start"}, subtitle = "inserter") public static SoundEvent inserterStart = registerSound("inserter_start"); @ModSound(sounds = {"device/electric_motor/forward"}, subtitle = "inserter") - public static SoundEvent inserterYaw = registerSound("inserter_forward"); + public static SoundEvent inserterYaw = registerSound("inserter_yaw"); @ModSound(sounds = {"device/electric_motor/backward"}, subtitle = "inserter") - public static SoundEvent inserterPitch = registerSound("inserter_backward"); + public static SoundEvent inserterPitch = registerSound("inserter_pitch"); @ModSound(sounds = {"device/electric_motor/end"}, subtitle = "inserter") public static SoundEvent inserterEnd = registerSound("inserter_end"); - public static MultiSound inserterYawM = new MultiSound("inserter_yaw_loop", inserterStart, - inserterYaw, inserterEnd); - public static MultiSound inserterPitchM = new MultiSound("inserter_pitch_loop", inserterEnd, - inserterPitch, inserterStart); + public static MultiSound inserterYawM = new MultiSound("inserter_yaw_loop", + inserterStart, inserterYaw, inserterEnd); + public static MultiSound inserterPitchM = new MultiSound("inserter_pitch_loop", + inserterEnd, inserterPitch, inserterStart); //electric motor @ModSound(sounds = {"device/electric_motor/start"}) public static SoundEvent electricMotorStart = registerSound("electric_motor_start"); @@ -93,10 +93,10 @@ public class IISounds public static SoundEvent electricMotorForward = registerSound("electric_motor_forward"); @ModSound(sounds = {"device/electric_motor/backward"}, subtitle = "*") public static SoundEvent electricMotorBackward = registerSound("electric_motor_backward"); - public static MultiSound electricMotorForwardLoop = new MultiSound("electric_motor_forward_loop", electricMotorStart, - electricMotorForward, electricMotorBackward); - public static MultiSound electricMotorBackwardLoop = new MultiSound("electric_motor_backward_loop", electricMotorStart, - electricMotorEnd, electricMotorBackward); + public static MultiSound electricMotorForwardLoop = new MultiSound("electric_motor_forward_loop", + electricMotorStart, electricMotorForward, electricMotorBackward); + public static MultiSound electricMotorBackwardLoop = new MultiSound("electric_motor_backward_loop", + electricMotorStart, electricMotorEnd, electricMotorBackward); //heavy electric motor @ModSound(sounds = {"device/electric_motor_heavy/start"}) public static SoundEvent electricMotorHeavyStart = registerSound("electric_motor_heavy_start"); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java index 03e173d38..2986057db 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java @@ -21,10 +21,10 @@ import net.minecraftforge.common.property.Properties; import pl.pabilo8.immersiveintelligence.common.block.data_device.BlockIIDataDevice.IIBlockTypes_Connector; import pl.pabilo8.immersiveintelligence.common.block.data_device.tileentity.*; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityAdvancedFluidInserter; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityChemicalDispenser; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityFluidInserter; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityAdvancedFluidInserter; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityAdvancedInserter; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityFluidInserter; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserter; import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.block.BlockIITileProvider; @@ -121,7 +121,6 @@ public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World wo ArrayList applicableWires = new ArrayList<>(); NonNullList pInventory = player.inventory.mainInventory; for(ItemStack s : pInventory) - { if(s.getItem() instanceof IWireCoil) { IWireCoil coilItem = (IWireCoil)s.getItem(); @@ -164,7 +163,6 @@ public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World wo applicableWires.add(insertIndex, coil); } } - } if(applicableWires.size() > 0) { ItemStack heldItem = pInventory.get(player.inventory.currentItem); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityFluidInserter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityFluidInserter.java deleted file mode 100644 index fb6b44521..000000000 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityFluidInserter.java +++ /dev/null @@ -1,498 +0,0 @@ -package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity; - -import blusunrize.immersiveengineering.api.crafting.IngredientStack; -import blusunrize.immersiveengineering.api.energy.wires.WireType; -import com.google.common.collect.ImmutableSet; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.passive.EntityCow; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.IFluidTankProperties; -import pl.pabilo8.immersiveintelligence.api.data.DataPacket; -import pl.pabilo8.immersiveintelligence.api.data.IIDataHandlingUtils; -import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; -import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.FluidInserter; -import pl.pabilo8.immersiveintelligence.common.IIContent; -import pl.pabilo8.immersiveintelligence.common.IIUtils; -import pl.pabilo8.immersiveintelligence.common.block.data_device.BlockIIDataDevice.IIBlockTypes_Connector; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserterBase; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Optional; -import java.util.Set; -import java.util.function.Supplier; - -/** - * Fluid variant of the inserter. - * - * @author Pabilo8 (pabilo@iiteam.net) - * @updated 19.01.2026 - * @ii-approved 0.3.1 - * @since 15.07.2019 - */ -public class TileEntityFluidInserter extends TileEntityInserterBase -{ - public static final HashMap> TASKS = new LinkedHashMap<>(); - private static final Set WIRES = ImmutableSet.of(WireType.LV_CATEGORY, WireType.MV_CATEGORY); - - static - { - TASKS.put("fluid", InserterTaskFluid::new); - TASKS.put("fluid_milk_cow", InserterTaskMilkCow::new); - TASKS.put("fluid_latex_collector", InserterTaskLatexCollectorDrain::new); - } - - /** - * Temporary internal buffer between input drain and output fill. - */ - private FluidTank buffer = new FluidTank(FluidInserter.maxTake); - - @Nonnull - @Override - protected Set getAcceptedPowerWires() - { - return WIRES; - } - - @Override - public int getPickupSpeed() - { - return FluidInserter.taskTime; - } - - @Override - public int getEnergyUsage() - { - return FluidInserter.energyUsage; - } - - @Override - public int getEnergyCapacity() - { - return FluidInserter.energyCapacity; - } - - @Override - public int getMaxTakeAmount() - { - return FluidInserter.maxTake; - } - - @Nonnull - @Override - public HashMap> getAvailableTasks() - { - return TASKS; - } - - @Override - protected void handleSounds() - { - - } - - @Override - public void readCustomNBT(@Nonnull NBTTagCompound nbt, boolean descPacket) - { - super.readCustomNBT(nbt, descPacket); - if(nbt.hasKey("buffer")) - buffer.readFromNBT(nbt.getCompoundTag("buffer")); - } - - @Override - public void writeCustomNBT(@Nonnull NBTTagCompound nbt, boolean descPacket) - { - super.writeCustomNBT(nbt, descPacket); - nbt.setTag("buffer", buffer.writeToNBT(new NBTTagCompound())); - } - - @Override - public boolean hasCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) - { - if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - return true; - return super.hasCapability(capability, facing); - } - - @Override - @SuppressWarnings("unchecked") - public T getCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) - { - if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) - return (T)new IFluidHandler() - { - @Override - public IFluidTankProperties[] getTankProperties() - { - return buffer.getTankProperties(); - } - - @Override - public int fill(FluidStack resource, boolean doFill) - { - return buffer.fill(resource, doFill); - } - - @Nullable - @Override - public FluidStack drain(FluidStack resource, boolean doDrain) - { - return buffer.drain(resource, doDrain); - } - - @Nullable - @Override - public FluidStack drain(int maxDrain, boolean doDrain) - { - return buffer.drain(maxDrain, doDrain); - } - }; - return super.getCapability(capability, facing); - } - - @Override - public void onPacketReceive(DataPacket packet) - { - // minimal, "only fluid task" command surface - IIDataHandlingUtils.expectingStringParam('c', packet, command -> { - DataType a = packet.get('a'); // action name ("fluid") or index for remove - - switch(command) - { - case "add": - { - if(packet.has('a')&&"fluid".equals(a.toString())) - tasks.add(new InserterTaskFluid()); - } - break; - case "remove": - { - // allow removing by index only, keeps this tiny - IIDataHandlingUtils.expectingIntegerParam('a', packet, idx -> { - if(idx >= 0&&idx < tasks.size()) - tasks.remove(idx); - }); - } - break; - case "clear": - { - tasks.clear(); - current = null; - } - break; - } - }); - - sendUpdate(); - } - - @Nonnull - @Override - public ItemStack getTileDrop(@Nullable EntityPlayer player, IBlockState state) - { - // keep same block/meta, but ensure correct connector type for fluid inserter - ItemStack stack = new ItemStack(state.getBlock(), 1, IIBlockTypes_Connector.FLUID_INSERTER.getMeta()); - // ...existing code from base uses defaultOutputFacing/defaultInputFacing via NBT in stack... - return stack; - } - - /** - * Single supported task: move fluid from input handler to internal buffer, then from buffer to output handler. - */ - public static class InserterTaskFluid extends InserterTask - { - public InserterTaskFluid() - { - super(); - } - - @Override - public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) - { - TileEntityFluidInserter self = (TileEntityFluidInserter)tile; - if(this.stack.inputSize <= 0) - return false; - - //Determine which side to interact with - EnumFacing facing = (in?facingIn: facingOut); - BlockPos pos = (in?posIn: posOut); - //Find the capability from the side - IFluidHandler handler = IIUtils.getTileCapability(world, pos, - CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite()); - if(handler==null) - //Or from above (f.e. barrels) - handler = IIUtils.getTileCapability(world, pos, - CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, EnumFacing.UP); - if(handler==null) //Or an entity - { - Optional first = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(pos), - input -> input.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite())) - .stream() - .findFirst(); - if(first.isPresent()) - handler = first.get().getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite()); - } - if(handler==null) - return false; - - //Perform the action - int toMove = getAmountToBeTaken(self); - if(in) - { - //Any fluid - FluidStack drained; - if("*".equals(stack.oreName)) - drained = handler.drain(toMove, false); - else - { - FluidStack actuallyDrain = this.stack.fluid.copy(); - actuallyDrain.amount = toMove; - drained = handler.drain(toMove, false); - } - return drained!=null&&drained.amount > 0&&(!this.strictAmount||drained.amount==toMove); - } - else - { - FluidStack offer = this.stack.fluid==null?null: this.stack.fluid.copy(); - if(offer!=null) - offer.amount = toMove; - int filled = handler.fill(offer, false); - return filled > 0&&(!this.strictAmount||filled==toMove); - } - } - - @Override - public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) - { - //Determine which side to interact with - EnumFacing facing = (in?facingIn: facingOut); - BlockPos pos = (in?posIn: posOut); - //Find the capability from the side - IFluidHandler handler = IIUtils.getTileCapability(world, pos, - CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite()); - if(handler==null) - //Or from above (f.e. barrels) - handler = IIUtils.getTileCapability(world, pos, - CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, EnumFacing.UP); - if(handler==null) //Or an entity - { - Optional first = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(pos), - input -> input.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite())) - .stream() - .findFirst(); - if(first.isPresent()) - handler = first.get().getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite()); - } - if(handler==null) - return false; - - if(in) - { - //Any fluid - int toMove = getAmountToBeTaken(tile); - FluidStack drained; - if("*".equals(stack.oreName)) - drained = handler.drain(toMove, true); - else - { - FluidStack actuallyDrain = this.stack.fluid.copy(); - actuallyDrain.amount = toMove; - drained = handler.drain(toMove, true); - } - if(drained!=null&&drained.amount > 0) - { - ((TileEntityFluidInserter)tile).buffer.fill(drained, true); - return true; - } - return false; - } - else - { - FluidStack offer = this.stack.fluid.copy(); - offer.amount = getAmountToBeTaken(tile); - FluidStack drained = ((TileEntityFluidInserter)tile).buffer.drain(offer, true); - if(drained!=null&&drained.amount > 0) - { - int filled = handler.fill(drained, true); - //If we couldn't fill all, put back the rest - if(filled < drained.amount) - { - FluidStack toReturn = drained.copy(); - toReturn.amount = drained.amount-filled; - ((TileEntityFluidInserter)tile).buffer.fill(toReturn, true); - } - if(!isJob) - this.stack.inputSize -= filled; - return true; - } - return false; - } - } - - @Override - public String getName() - { - return "fluid"; - } - - @Override - public float getTimeModifier() - { - return 0f; - } - } - - /** - * Milk a cow in front of the input position. - * Puts FluidInserter.maxTake mB of milk into the internal buffer per execution (config-driven). - */ - public static class InserterTaskMilkCow extends InserterTaskFluid - { - public InserterTaskMilkCow() - { - super(); - } - - @Override - public void deserializeNBT(NBTTagCompound nbt) - { - super.deserializeNBT(nbt); - this.stack = new IngredientStack(FluidRegistry.getFluidStack("milk", FluidInserter.cowMilkAmount)); - this.stack.inputSize = FluidInserter.cowMilkAmount; - } - - @Override - public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) - { - if(!in) - return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, false); - return !world.getEntitiesWithinAABB(EntityCow.class, new AxisAlignedBB(posIn)).isEmpty(); - } - - @Override - public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) - { - if(!in) - return super.execute(tile, world, posIn, posOut, facingIn, facingOut, false); - - TileEntityFluidInserter self = (TileEntityFluidInserter)tile; - if(world.getEntitiesWithinAABB(EntityCow.class, new AxisAlignedBB(posIn)).isEmpty()) - return false; - - FluidStack milk = new FluidStack(FluidRegistry.getFluid("milk"), FluidInserter.cowMilkAmount); - if(milk.getFluid()==null) - return false; - - int filled = self.buffer.fill(milk, true); - return filled > 0; - } - - @Override - public String getName() - { - return "fluid_milk_cow"; - } - - @Override - public float getTimeModifier() - { - return 1f; - } - - @Override - public boolean areDetailsEditable() - { - return false; - } - } - - /** - * Drain partial latex from a Latex Collector even when its full 1000mB bucket isn't finished. - * Uses collector progress fraction to compute available mB: floor((timer/collectTime)*1000). - */ - public static class InserterTaskLatexCollectorDrain extends InserterTaskFluid - { - public InserterTaskLatexCollectorDrain() - { - super(); - } - - @Override - public void deserializeNBT(NBTTagCompound nbt) - { - super.deserializeNBT(nbt); - this.stack = new IngredientStack(new FluidStack(IIContent.fluidLatex, 10)); - this.stack.inputSize = 10; - } - - @Override - public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) - { - if(!in) - return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, false); - - TileEntityFluidInserter self = (TileEntityFluidInserter)tile; - final int room = self.buffer.getCapacity()-self.buffer.getFluidAmount(); - if(room <= 0) - return false; - - TileEntity lc = world.getTileEntity(posIn); - return lc instanceof TileEntityLatexCollector&&((TileEntityLatexCollector)lc).getAvailableLatexMilliBuckets() > 0; - } - - @Override - public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) - { - if(!in) - return super.execute(tile, world, posIn, posOut, facingIn, facingOut, false); - - TileEntityFluidInserter self = (TileEntityFluidInserter)tile; - - TileEntity lc = world.getTileEntity(posIn); - if(!(lc instanceof TileEntityLatexCollector)||((TileEntityLatexCollector)lc).getAvailableLatexMilliBuckets() <= 0) - return false; - int amountToBeTaken = getAmountToBeTaken(self); - int drained = ((TileEntityLatexCollector)lc).drainLatexMilliBuckets(amountToBeTaken, true); - if(drained <= 0) - return false; - self.buffer.fill(new FluidStack(IIContent.fluidLatex, drained), true); - if(!isJob) - this.stack.inputSize -= drained; - return true; - } - - @Override - public String getName() - { - return "fluid_latex_collector"; - } - - @Override - public float getTimeModifier() - { - return 2f; - } - - @Override - public boolean areDetailsEditable() - { - return false; - } - } -} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityAdvancedFluidInserter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedFluidInserter.java similarity index 89% rename from src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityAdvancedFluidInserter.java rename to src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedFluidInserter.java index 67fbe2876..22175ddda 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityAdvancedFluidInserter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedFluidInserter.java @@ -1,9 +1,9 @@ -package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity; +package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.AdvancedFluidInserter; /** - * Fluid variant of the inserter + * Advanced variant of {@link TileEntityFluidInserter} * * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedInserter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedInserter.java index 5fca428d8..de1c6bf78 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedInserter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityAdvancedInserter.java @@ -5,17 +5,20 @@ import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.AdvancedInserter; import javax.annotation.Nonnull; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Set; import java.util.function.Supplier; /** + * Advanced variant of {@link TileEntityInserter} + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @since 15.07.2019 */ public class TileEntityAdvancedInserter extends TileEntityInserter { - public static final HashMap> TASKS = new HashMap<>(); + public static final LinkedHashMap> TASKS = new LinkedHashMap<>(); private static final Set WIRES = ImmutableSet.of(WireType.LV_CATEGORY, WireType.MV_CATEGORY); static @@ -59,7 +62,7 @@ public int getMaxTakeAmount() @Nonnull @Override - public HashMap> getAvailableTasks() + public LinkedHashMap> getAvailableTasks() { return TASKS; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityFluidInserter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityFluidInserter.java new file mode 100644 index 000000000..6f16b9e73 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityFluidInserter.java @@ -0,0 +1,571 @@ +package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter; + +import blusunrize.immersiveengineering.api.energy.wires.WireType; +import com.google.common.collect.ImmutableSet; +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.passive.EntityCow; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTank; +import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidTankProperties; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; +import pl.pabilo8.immersiveintelligence.api.data.DataPacket; +import pl.pabilo8.immersiveintelligence.api.data.IIDataHandlingUtils; +import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.FluidInserter; +import pl.pabilo8.immersiveintelligence.common.IIContent; +import pl.pabilo8.immersiveintelligence.common.block.data_device.BlockIIDataDevice.IIBlockTypes_Connector; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityLatexCollector; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.LinkedHashMap; +import java.util.Set; +import java.util.function.Supplier; + +/** + * Fluid variant of {@link TileEntityInserter}. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 + * @ii-approved 0.3.1 + * @since 15.07.2019 + */ +public class TileEntityFluidInserter extends TileEntityInserterBase +{ + public static final LinkedHashMap> TASKS = new LinkedHashMap<>(); + private static final Set WIRES = ImmutableSet.of(WireType.LV_CATEGORY, WireType.MV_CATEGORY); + + static + { + TASKS.put("fluid", InserterTaskFluid::new); + TASKS.put("fluid_milk_cow", InserterTaskMilkCow::new); + TASKS.put("fluid_latex_collector", InserterTaskLatexCollectorDrain::new); + } + + /** + * Temporary internal buffer between input drain and output fill. + */ + @SyncNBT(name = "buffer", events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_RECIPE_CHANGED, SyncEvents.TILE_GUI_OPENED}) + public FluidTank buffer; + + private final IFluidHandler fluidWrapper = new IFluidHandler() + { + @Override + public IFluidTankProperties[] getTankProperties() + { + return buffer.getTankProperties(); + } + + @Override + public int fill(FluidStack resource, boolean doFill) + { + return buffer.fill(resource, doFill); + } + + @Nullable + @Override + public FluidStack drain(FluidStack resource, boolean doDrain) + { + return buffer.drain(resource, doDrain); + } + + @Nullable + @Override + public FluidStack drain(int maxDrain, boolean doDrain) + { + return buffer.drain(maxDrain, doDrain); + } + }; + + public TileEntityFluidInserter() + { + buffer = new FluidTank(getMaxTakeAmount()); + } + + @Nonnull + @Override + protected Set getAcceptedPowerWires() + { + return WIRES; + } + + @Override + public int getPickupSpeed() + { + return FluidInserter.taskTime; + } + + @Override + public int getEnergyUsage() + { + return FluidInserter.energyUsage; + } + + @Override + public int getEnergyCapacity() + { + return FluidInserter.energyCapacity; + } + + @Override + public int getMaxTakeAmount() + { + return FluidInserter.maxTake; + } + + @Nonnull + @Override + public LinkedHashMap> getAvailableTasks() + { + return TASKS; + } + + @Override + public boolean hasCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) + { + if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + return true; + return super.hasCapability(capability, facing); + } + + @Override + @SuppressWarnings("unchecked") + public T getCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) + { + if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + return (T)fluidWrapper; + return super.getCapability(capability, facing); + } + + @Override + public void onPacketReceive(DataPacket packet) + { + taskRetryDelay = 0; + final boolean[] changed = {false}; + + IIDataHandlingUtils.expectingStringParam('c', packet, command -> { + DataType a = packet.get('a'); + + switch(command) + { + case "add": + { + if(packet.has('a')&&"fluid".equals(a.toString())) + { + tasks.add(new InserterTaskFluid()); + changed[0] = true; + } + } + break; + case "remove": + { + int before = tasks.size(); + IIDataHandlingUtils.expectingIntegerParam('a', packet, idx -> { + if(idx >= 0&&idx < tasks.size()) + tasks.remove(idx); + }); + changed[0] = tasks.size()!=before; + } + break; + case "clear": + { + changed[0] = !tasks.isEmpty(); + tasks.clear(); + current = null; + currentTaskIndex = -1; + } + break; + } + }); + + refreshCurrentTask(); + if(changed[0]) + { + markDirty(); + if(!world.isRemote) + updateTileForEvent(SyncEvents.TILE_RECIPE_CHANGED); + } + } + + @Nonnull + @Override + public ItemStack getTileDrop(@Nullable EntityPlayer player, IBlockState state) + { + return withDropData(new ItemStack(state.getBlock(), 1, IIBlockTypes_Connector.FLUID_INSERTER.getMeta())); + } + + /** + * Single supported task: move fluid from input handler to internal buffer, then from buffer to output handler. + */ + public static class InserterTaskFluid extends InserterTask + { + @Nullable + private transient FluidStack plannedFluid; + + public InserterTaskFluid() + { + super(); + } + + @Override + public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) + { + TileEntityFluidInserter self = (TileEntityFluidInserter)tile; + int requested = getAmountToBeTaken(self); + if(requested <= 0) + return false; + + EnumFacing facing = in?facingIn: facingOut; + IFluidHandler handler = getTargetCapability(world, in?posIn: posOut, + CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite(), in); + if(handler==null) + return false; + + if(in) + { + int room = self.buffer.getCapacity()-self.buffer.getFluidAmount(); + if(room <= 0||strictAmount&&room < requested) + return false; + + FluidStack drained = drain(handler, Math.min(requested, room), false); + if(!matches(drained)) + return false; + int accepted = self.buffer.fill(drained, false); + if(accepted <= 0||strictAmount&&accepted < requested) + return false; + + plannedFluid = drained.copy(); + plannedFluid.amount = accepted; + return true; + } + + FluidStack buffered = self.buffer.getFluid(); + FluidStack offer = buffered!=null&&buffered.amount > 0?buffered.copy(): copyPlannedFluid(); + if(!matches(offer)) + return false; + + int filled = handler.fill(offer, false); + if(buffered!=null&&buffered.amount > 0) + return filled >= offer.amount; + if(filled <= 0||strictAmount&&filled < offer.amount) + return false; + if(filled < offer.amount) + plannedFluid.amount = filled; + return true; + } + + @Override + public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) + { + TileEntityFluidInserter self = (TileEntityFluidInserter)tile; + EnumFacing facing = in?facingIn: facingOut; + IFluidHandler handler = getTargetCapability(world, in?posIn: posOut, + CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, facing.getOpposite(), in); + if(handler==null) + return false; + + if(in) + { + FluidStack planned = copyPlannedFluid(); + if(!matches(planned)) + return false; + + FluidStack simulated = handler.drain(planned, false); + if(!matches(simulated)||simulated.amount < planned.amount) + return false; + FluidStack drained = handler.drain(planned, true); + return matches(drained)&&drained.amount==planned.amount + &&self.buffer.fill(drained, true)==drained.amount; + } + + FluidStack buffered = self.buffer.getFluid(); + if(!matches(buffered)) + return false; + FluidStack offer = buffered.copy(); + if(handler.fill(offer, false) < offer.amount) + return false; + + FluidStack drained = self.buffer.drain(offer, true); + if(drained==null||drained.amount <= 0) + return false; + int filled = handler.fill(drained, true); + if(filled < drained.amount) + { + FluidStack remainder = drained.copy(); + remainder.amount -= filled; + self.buffer.fill(remainder, true); + return false; + } + if(!isJob) + stack.inputSize = Math.max(0, stack.inputSize-filled); + return true; + } + + @Nullable + private FluidStack drain(IFluidHandler handler, int amount, boolean doDrain) + { + if(stack.isWildcard()) + return handler.drain(amount, doDrain); + if(stack.fluid==null) + return null; + + FluidStack requested = stack.useNBT?stack.fluid.copy(): findMatchingFluid(handler); + if(requested==null) + return null; + requested.amount = amount; + return handler.drain(requested, doDrain); + } + + @Nullable + private FluidStack findMatchingFluid(IFluidHandler handler) + { + for(IFluidTankProperties properties : handler.getTankProperties()) + { + FluidStack contents = properties.getContents(); + if(contents!=null&&contents.amount > 0&&stack.matchesFluidStackIgnoringSize(contents)) + return contents.copy(); + } + return null; + } + + protected final void setPlannedFluid(@Nullable FluidStack fluid) + { + plannedFluid = fluid==null?null: fluid.copy(); + } + + @Nullable + protected final FluidStack copyPlannedFluid() + { + return plannedFluid==null?null: plannedFluid.copy(); + } + + protected boolean matches(@Nullable FluidStack fluid) + { + return fluid!=null&&fluid.amount > 0&&stack.matchesFluidStackIgnoringSize(fluid); + } + + @Override + protected void clearCachedTargets() + { + super.clearCachedTargets(); + plannedFluid = null; + } + + @Override + public String getName() + { + return "fluid"; + } + + @Override + public float getTimeModifier() + { + return 0f; + } + } + + /** + * Milk a cow in front of the input position. + * Puts FluidInserter.maxTake mB of milk into the internal buffer per execution (config-driven). + */ + public static class InserterTaskMilkCow extends InserterTaskFluid + { + @Nullable + private transient EntityCow cachedCow; + + public InserterTaskMilkCow() + { + configureStack(); + } + + @Override + public void deserializeNBT(NBTTagCompound nbt) + { + super.deserializeNBT(nbt); + configureStack(); + } + + private void configureStack() + { + FluidStack milk = FluidRegistry.getFluidStack("milk", FluidInserter.cowMilkAmount); + if(milk!=null) + { + stack = new IngredientReference(milk); + stack.inputSize = FluidInserter.cowMilkAmount; + } + } + + @Override + public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) + { + if(!in) + return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, false); + + TileEntityFluidInserter self = (TileEntityFluidInserter)tile; + FluidStack milk = FluidRegistry.getFluidStack("milk", FluidInserter.cowMilkAmount); + if(milk==null||self.buffer.getCapacity()-self.buffer.getFluidAmount() < milk.amount) + return false; + + if(cachedCow==null||cachedCow.isDead) + cachedCow = world.getEntitiesWithinAABB(EntityCow.class, new AxisAlignedBB(posIn)) + .stream().findFirst().orElse(null); + if(cachedCow==null) + return false; + + setPlannedFluid(milk); + return true; + } + + @Override + public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) + { + if(!in) + return super.execute(tile, world, posIn, posOut, facingIn, facingOut, false); + + TileEntityFluidInserter self = (TileEntityFluidInserter)tile; + FluidStack milk = copyPlannedFluid(); + if(cachedCow==null||cachedCow.isDead||milk==null) + return false; + return self.buffer.fill(milk, true)==milk.amount; + } + + @Override + protected void clearCachedTargets() + { + super.clearCachedTargets(); + cachedCow = null; + } + + @Override + public String getName() + { + return "fluid_milk_cow"; + } + + @Override + public float getTimeModifier() + { + return 1f; + } + + @Override + public boolean areDetailsEditable() + { + return false; + } + } + + /** + * Drain partial latex from a Latex Collector even when its full 1000mB bucket isn't finished. + * Uses collector progress fraction to compute available mB: floor((timer/collectTime)*1000). + */ + public static class InserterTaskLatexCollectorDrain extends InserterTaskFluid + { + @Nullable + private transient TileEntityLatexCollector cachedCollector; + + public InserterTaskLatexCollectorDrain() + { + configureStack(); + } + + @Override + public void deserializeNBT(NBTTagCompound nbt) + { + super.deserializeNBT(nbt); + configureStack(); + } + + private void configureStack() + { + stack = new IngredientReference(new FluidStack(IIContent.fluidLatex, 10)); + stack.inputSize = 10; + } + + @Override + public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) + { + if(!in) + return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, false); + + TileEntityFluidInserter self = (TileEntityFluidInserter)tile; + int room = self.buffer.getCapacity()-self.buffer.getFluidAmount(); + int requested = getAmountToBeTaken(self); + if(room <= 0||requested <= 0) + return false; + + TileEntity target = world.getTileEntity(posIn); + cachedCollector = target instanceof TileEntityLatexCollector?(TileEntityLatexCollector)target: null; + if(cachedCollector==null) + return false; + + int available = cachedCollector.getAvailableLatexMilliBuckets(); + int amount = Math.min(requested, Math.min(room, available)); + if(amount <= 0||strictAmount&&amount < requested) + return false; + + setPlannedFluid(new FluidStack(IIContent.fluidLatex, amount)); + return true; + } + + @Override + public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) + { + if(!in) + return super.execute(tile, world, posIn, posOut, facingIn, facingOut, false); + + TileEntityFluidInserter self = (TileEntityFluidInserter)tile; + FluidStack planned = copyPlannedFluid(); + if(cachedCollector==null||planned==null||planned.amount <= 0) + return false; + + int drained = cachedCollector.drainLatexMilliBuckets(planned.amount, true); + if(drained <= 0) + return false; + int filled = self.buffer.fill(new FluidStack(IIContent.fluidLatex, drained), true); + if(!isJob&&filled > 0) + stack.inputSize = Math.max(0, stack.inputSize-filled); + return filled==drained; + } + + @Override + protected void clearCachedTargets() + { + super.clearCachedTargets(); + cachedCollector = null; + } + + @Override + public String getName() + { + return "fluid_latex_collector"; + } + + @Override + public float getTimeModifier() + { + return 2f; + } + + @Override + public boolean areDetailsEditable() + { + return false; + } + } + +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserter.java index a0924c154..653ee5f9f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserter.java @@ -4,12 +4,10 @@ import blusunrize.immersiveengineering.common.util.FakePlayerUtil; import com.google.common.collect.ImmutableSet; import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityMinecart; import net.minecraft.entity.item.EntityMinecartEmpty; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.Tuple; import net.minecraft.util.math.AxisAlignedBB; @@ -17,34 +15,39 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.IIDataHandlingUtils; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeInteger; -import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeItemStack; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeString; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; import pl.pabilo8.immersiveintelligence.api.utils.MinecartBlockHelper; import pl.pabilo8.immersiveintelligence.api.utils.minecart.IMinecartBlockPickable; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.Inserter; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; -import java.util.*; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.Set; import java.util.function.Predicate; import java.util.function.Supplier; /** + * A machine that can transfer items between containers based on a list of tasks. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @since 15.07.2019 */ public class TileEntityInserter extends TileEntityInserterBase { - public static final HashMap> TASKS = new LinkedHashMap<>(); + public static final LinkedHashMap> TASKS = new LinkedHashMap<>(); private static final Set WIRES = ImmutableSet.of(WireType.LV_CATEGORY, WireType.MV_CATEGORY); static @@ -88,54 +91,33 @@ public int getMaxTakeAmount() @Nonnull @Override - public HashMap> getAvailableTasks() + public LinkedHashMap> getAvailableTasks() { return TASKS; } - @SideOnly(Side.CLIENT) - @Override - protected void handleSounds() - { - /*if(world.isRemote&&world.getTotalWorldTime()%10==0) - { - if(armDirection!=nextDirection) - { - world.playSound(ClientUtils.mc().player, getPos(), IISounds.inserter_backward, SoundCategory.BLOCKS, .25f, 1); - } - else if(pickProgress!=nextPickProgress) - { - world.playSound(ClientUtils.mc().player, getPos(), IISounds.inserter_forward, SoundCategory.BLOCKS, .25f, 1); - } - }*/ - } - @Override public void onPacketReceive(DataPacket packet) { super.onPacketReceive(packet); + taskRetryDelay = 0; + final boolean[] changed = {false}; IIDataHandlingUtils.expectingStringParam('c', packet, command -> { - DataType m = packet.get('m'); - //(optional) {stack} or string DataType s = packet.get('s'); - //action: item, place_block, minecart_in, minecart_out, etc. DataType a = packet.get('a'); - //(optional) input distance - int DataType i = packet.get('i'); - //(optional) output distance - int DataType o = packet.get('o'); switch(command) { case "add": { - if(packet.has('a')&&TASKS.containsKey(a.toString())) + if(packet.has('a')&&getAvailableTasks().containsKey(a.toString())) { - Supplier supplier = TASKS.get(a.toString()); + Supplier supplier = getAvailableTasks().get(a.toString()); InserterTask task = supplier.get(); - //input facing, default null if(packet.has('i')) { EnumFacing f = null; @@ -150,7 +132,6 @@ else if(i instanceof DataTypeString) task.facingIn = f; } - //output facing, default null if(packet.has('o')) { EnumFacing f = null; @@ -165,7 +146,6 @@ else if(o instanceof DataTypeString) task.facingOut = f; } - //1 resembles I, and 0 resembles O - set input and output distance IIDataHandlingUtils.expectingIntegerParam('1', packet, integer -> task.distanceIn = MathHelper.clamp(integer, -1, 2)); IIDataHandlingUtils.expectingIntegerParam('0', packet, @@ -174,20 +154,16 @@ else if(o instanceof DataTypeString) if(packet.has('s')) task.stack = IIDataHandlingUtils.ingredientFromData(packet.get('s')); - //expires (requests - tasks expires after r amount of items) if(packet.has('e')) { - - int requested = - packet.get('e') instanceof DataTypeInteger? - packet.getVarInType(DataTypeInteger.class, packet.get('e')).value: - task.stack.inputSize; + int requested = packet.get('e') instanceof DataTypeInteger? + packet.getVarInType(DataTypeInteger.class, packet.get('e')).value: + task.stack.inputSize; task.overrideTakeAmount = task.stack.inputSize; task.stack.inputSize = requested; task.isJob = false; } - //overrides amount of items per operation if(packet.has('t')) { task.overrideTakeAmount = MathHelper.clamp( @@ -195,47 +171,50 @@ else if(o instanceof DataTypeString) task.strictAmount = true; } tasks.add(task); + changed[0] = true; } } break; case "remove": { - /* - uses action, but parameter is optional - by id (int) - {by stack, by ore} - if 'a', check if task name matches - */ + int before = tasks.size(); if(a instanceof DataTypeInteger) - tasks.remove(((DataTypeInteger)a).value); + { + int index = ((DataTypeInteger)a).value; + if(index >= 0&&index < tasks.size()) + tasks.remove(index); + } else { - Predicate p; - if(s instanceof DataTypeString) - p = packerTask -> packerTask.stack.oreName.equals(s.toString()); - else if(s instanceof DataTypeItemStack) - p = packerTask -> packerTask.stack.equals(IIDataHandlingUtils.ingredientFromData(s)); - else - p = packerTask -> true; + IngredientReference filter = IIDataHandlingUtils.ingredientFromData(s); + Predicate p = filter.isWildcard()&&!filter.hasLogisticTag()? + task -> true: task -> task.stack.equals(filter); if(packet.has('a')) p = p.and(task -> task.getName().equals(a.toString())); tasks.removeIf(p); } + changed[0] = tasks.size()!=before; } break; case "clear": { + changed[0] = !tasks.isEmpty(); tasks.clear(); current = null; + currentTaskIndex = -1; } break; } }); - - sendUpdate(); - + refreshCurrentTask(); + if(changed[0]) + { + markDirty(); + if(!world.isRemote) + updateTileForEvent(SyncEvents.TILE_RECIPE_CHANGED); + } } /** @@ -244,6 +223,8 @@ else if(s instanceof DataTypeItemStack) */ public static class InserterTaskItem extends InserterTask { + private transient ItemStack plannedStack = ItemStack.EMPTY; + public InserterTaskItem() { super(); @@ -253,115 +234,148 @@ public InserterTaskItem() @ParametersAreNonnullByDefault public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - IItemHandler cap = null; - - //prioritize TEs first - TileEntity te = world.getTileEntity(in?posIn: posOut); - EnumFacing facing = (in?facingIn: facingOut); - if(te!=null&&te.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite())) - cap = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()); - else //if no TE, try to find entity with cap + EnumFacing facing = in?facingIn: facingOut; + IItemHandler handler = getTargetCapability(world, in?posIn: posOut, + CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite(), in); + if(handler==null) + return false; + + if(!in) { - Optional first = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(in?posIn: posOut), - input -> input.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite())) - .stream() - .findFirst(); + ItemStack held = tile.inventory.get(0); + ItemStack candidate = held.isEmpty()?plannedStack.copy(): held.copy(); + if(!held.isEmpty()&&!plannedStack.isEmpty()) + { + if(!ItemHandlerHelper.canItemStacksStack(held, plannedStack)) + return false; + candidate.grow(plannedStack.getCount()); + } + if(candidate.isEmpty()) + return false; + + ItemStack remainder = ItemHandlerHelper.insertItem(handler, candidate, true); + int accepted = candidate.getCount()-remainder.getCount(); + if(accepted <= 0||accepted < held.getCount()) + return false; - if(first.isPresent()) - cap = first.get().getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()); + int acceptedPlanned = accepted-held.getCount(); + if(strictAmount&&acceptedPlanned < plannedStack.getCount()) + return false; + if(acceptedPlanned < plannedStack.getCount()) + plannedStack.setCount(acceptedPlanned); + return plannedStack.isEmpty()?remainder.isEmpty(): acceptedPlanned > 0; } - if(cap!=null) - if(in) - { - int toBeTaken = getAmountToBeTaken(tile); - if(toBeTaken <= 0) - return false; - //iterate all the slots, - for(int slot = 0; slot < cap.getSlots(); slot++) - { - ItemStack inSlot = cap.getStackInSlot(slot); - if(!inSlot.isEmpty()&&("*".equals(stack.oreName)||stack.matchesItemStackIgnoringSize(inSlot))) - { - //amount that is finally taken - int actualSize = Math.min(inSlot.getCount(), toBeTaken); - cap.extractItem(slot, actualSize, true); + int requested = getAmountToBeTaken(tile); + if(requested <= 0) + return false; - //enough items - if((toBeTaken -= actualSize)==0) - return true; - } - } + ItemStack held = tile.inventory.get(0); + int room = Math.max(0, tile.getSlotLimit(0)-held.getCount()); + if(room <= 0) + return false; - //hasn't taken enough items, but has *some* items, return whether it can take less - return strictAmount&&!tile.inventory.get(0).isEmpty(); - } - else - return ItemHandlerHelper.insertItem(cap, tile.inventory.get(0), true).isEmpty(); - return false; + int available = 0; + ItemStack selected = ItemStack.EMPTY; + for(int slot = 0; slot < handler.getSlots()&&available < requested&&available < room; slot++) + { + ItemStack source = handler.getStackInSlot(slot); + if(!matches(source)) + continue; + if(!held.isEmpty()&&!ItemHandlerHelper.canItemStacksStack(held, source)) + continue; + if(!selected.isEmpty()&&!ItemHandlerHelper.canItemStacksStack(selected, source)) + continue; + if(selected.isEmpty()) + selected = source; + + int amount = Math.min(requested-available, room-available); + ItemStack simulated = handler.extractItem(slot, amount, true); + available += simulated.getCount(); + } + + if(available <= 0||strictAmount&&available < requested) + return false; + plannedStack = selected.copy(); + plannedStack.setCount(available); + return true; } @Override public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - IItemHandler cap = null; - - //prioritize TEs first - TileEntity te = world.getTileEntity(in?posIn: posOut); - EnumFacing facing = (in?facingIn: facingOut); - if(te!=null&&te.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite())) - cap = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()); - else //if no TE, try to find entity with cap + EnumFacing facing = in?facingIn: facingOut; + IItemHandler handler = getTargetCapability(world, in?posIn: posOut, + CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite(), in); + if(handler==null) + return false; + + if(!in) { - Optional first = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(in?posIn: posOut), - input -> input.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite())) - .stream() - .findFirst(); + ItemStack held = tile.inventory.get(0); + if(held.isEmpty()) + return false; + ItemStack remainder = ItemHandlerHelper.insertItem(handler, held, false); + tile.inventory.set(0, remainder); + return remainder.isEmpty(); + } - if(first.isPresent()) - cap = first.get().getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()); + if(plannedStack.isEmpty()) + return false; + + int targetAmount = plannedStack.getCount(); + int moved = 0; + ItemStack held = tile.inventory.get(0); + for(int slot = 0; slot < handler.getSlots()&&moved < targetAmount; slot++) + { + ItemStack source = handler.getStackInSlot(slot); + if(!matches(source)||!ItemHandlerHelper.canItemStacksStack(plannedStack, source)) + continue; + if(!held.isEmpty()&&!ItemHandlerHelper.canItemStacksStack(held, source)) + continue; + + int amount = targetAmount-moved; + ItemStack simulated = handler.extractItem(slot, amount, true); + if(simulated.isEmpty()) + continue; + ItemStack rejected = tile.insertionHandler.insertItem(0, simulated, true); + int accepted = simulated.getCount()-rejected.getCount(); + if(accepted <= 0) + continue; + + ItemStack extracted = handler.extractItem(slot, accepted, false); + ItemStack left = tile.insertionHandler.insertItem(0, extracted, false); + int inserted = extracted.getCount()-left.getCount(); + if(!left.isEmpty()) + handler.insertItem(slot, left, false); + moved += inserted; } - if(cap!=null) - if(in) - { - //Don't allow taking more than remaining amount for expiring tasks - int toBeTaken = getAmountToBeTaken(tile); - if(toBeTaken <= 0) - return false; + if(!isJob&&moved > 0) + stack.inputSize = Math.max(0, stack.inputSize-moved); + return moved==targetAmount; + } - //iterate all the slots, - for(int slot = 0; slot < cap.getSlots(); slot++) - { - ItemStack inSlot = cap.getStackInSlot(slot); - if(!inSlot.isEmpty()&&("*".equals(stack.oreName)||stack.matchesItemStackIgnoringSize(inSlot))) - { - //amount that is finally taken - int actualSize = Math.min(inSlot.getCount(), toBeTaken); - //try to input the item, if it won't fit for some reason, try to put it back - ItemStack left = tile.insertionHandler.insertItem(0, cap.extractItem(slot, actualSize, false), false); - //correct the amount by how many items weren't taken - actualSize -= left.getCount(); - //if isn't a job, subtract the items to take - if(!isJob) - stack.inputSize = Math.max(0, stack.inputSize-actualSize); - - //enough items - if((toBeTaken -= actualSize)==0) - return true; - } - } + protected final void setPlannedStack(ItemStack stack) + { + plannedStack = stack.copy(); + } - //hasn't taken enough items, but has *some* items, return whether it can take less - return strictAmount&&!tile.inventory.get(0).isEmpty(); - } - else - { - tile.inventory.set(0, ItemHandlerHelper.insertItem(cap, tile.inventory.get(0), false)); - return tile.inventory.get(0).isEmpty(); - } + protected final ItemStack getPlannedStack() + { + return plannedStack; + } + + protected boolean matches(ItemStack source) + { + return !source.isEmpty()&&stack.matchesItemStackIgnoringSize(source); + } - return false; + @Override + protected void clearCachedTargets() + { + super.clearCachedTargets(); + plannedStack = ItemStack.EMPTY; } @Override @@ -390,55 +404,46 @@ public InserterTaskPlaceBlock() @Override public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - if(!in) - { - // if expiring task already finished, don't place extra - if(!isJob&&this.stack.inputSize <= 0) - return false; - return true; - } - return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, in); + if(in) + return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, true); + + if(!isJob&&stack.inputSize <= 0) + return false; + ItemStack target = tile.inventory.get(0).isEmpty()?getPlannedStack(): tile.inventory.get(0); + return !target.isEmpty()&&target.getItem() instanceof ItemBlock + &&world.mayPlace(((ItemBlock)target.getItem()).getBlock(), posOut, false, facingOut, null); } @Override public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - if(!in) - { - // if expiring task already finished, don't place extra - if(!isJob&&this.stack.inputSize <= 0) - return false; + if(in) + return super.execute(tile, world, posIn, posOut, facingIn, facingOut, true); - ItemStack stack = tile.inventory.get(0); - if(stack.isEmpty()||!(stack.getItem() instanceof ItemBlock)) - return false; + if(!isJob&&stack.inputSize <= 0) + return false; - if(world.mayPlace(((ItemBlock)stack.getItem()).getBlock(), posOut, false, facingOut, null)) - { - FakePlayer fakePlayer = FakePlayerUtil.getFakePlayer(world); - IBlockState state = ((ItemBlock)stack.getItem()).getBlock().getStateForPlacement(world, posOut, facingOut, 0.5f, 0.5f, 0.5f, stack.getMetadata(), fakePlayer); - boolean b = ((ItemBlock)stack.getItem()).placeBlockAt( - tile.inventory.get(0), - fakePlayer, - world, - posOut, - facingOut, - 0.5f, - 0.5f, - 0.5f, - state - ); - if(b) - tile.inventory.get(0).shrink(1); - //if isn't a job, subtract the items to take - if(!isJob) - this.stack.inputSize = Math.max(0, this.stack.inputSize-1); - - return b; - } + ItemStack held = tile.inventory.get(0); + if(held.isEmpty()||!(held.getItem() instanceof ItemBlock) + ||!world.mayPlace(((ItemBlock)held.getItem()).getBlock(), posOut, false, facingOut, null)) return false; - } - return super.execute(tile, world, posIn, posOut, facingIn, facingOut, in); + + FakePlayer fakePlayer = FakePlayerUtil.getFakePlayer(world); + IBlockState state = ((ItemBlock)held.getItem()).getBlock().getStateForPlacement( + world, posOut, facingOut, 0.5f, 0.5f, 0.5f, held.getMetadata(), fakePlayer); + boolean placed = ((ItemBlock)held.getItem()).placeBlockAt( + held, fakePlayer, world, posOut, facingOut, + 0.5f, 0.5f, 0.5f, state + ); + if(placed) + held.shrink(1); + return placed; + } + + @Override + protected int getAmountToBeTaken(TileEntityInserterBase tile) + { + return Math.min(1, super.getAmountToBeTaken(tile)); } @Override @@ -459,6 +464,9 @@ public float getTimeModifier() */ public static class InserterTaskFromMinecart extends InserterTaskItem { + @Nullable + private transient EntityMinecart cachedMinecart; + public InserterTaskFromMinecart() { super(); @@ -467,54 +475,66 @@ public InserterTaskFromMinecart() @Override public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - if(in) - { - // if expiring task already finished, don't pickup extra carts - if(!isJob&&this.stack.inputSize <= 0) - return false; + if(!in) + return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, false); - Optional first = world.getEntitiesWithinAABB(EntityMinecart.class, new AxisAlignedBB(posIn), entity -> entity instanceof IMinecartBlockPickable) - .stream() - .findFirst(); + if(!isJob&&stack.inputSize <= 0) + return false; - return first.isPresent(); - } - return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, in); + EntityMinecart cart = getMinecart(world, posIn); + if(!(cart instanceof IMinecartBlockPickable)) + return false; + + ItemStack carried = ((IMinecartBlockPickable)cart).getBlockForPickup().getFirst(); + if(!matches(carried)) + return false; + setPlannedStack(carried); + return true; } @Override public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - if(in) - { - // if expiring task already finished, don't pickup extra carts - if(!isJob&&this.stack.inputSize <= 0) - return false; + if(!in) + return super.execute(tile, world, posIn, posOut, facingIn, facingOut, false); - Optional first = world.getEntitiesWithinAABB(EntityMinecart.class, new AxisAlignedBB(posIn), entity -> entity instanceof IMinecartBlockPickable) - .stream() - .findFirst(); + if(!isJob&&stack.inputSize <= 0) + return false; - if(first.isPresent()) - { - EntityMinecart cart = first.get(); - Tuple block = ((IMinecartBlockPickable)cart).getBlockForPickup(); - tile.inventory.set(0, block.getFirst().copy()); + EntityMinecart cart = getMinecart(world, posIn); + if(!(cart instanceof IMinecartBlockPickable)) + return false; - EntityMinecart c = MinecartBlockHelper.getMinecartFromBlockStack(ItemStack.EMPTY, world); - c.setPosition(cart.posX, cart.posY, cart.posZ); - cart.setDead(); - world.spawnEntity(c); + Tuple block = ((IMinecartBlockPickable)cart).getBlockForPickup(); + if(!matches(block.getFirst())) + return false; + tile.inventory.set(0, block.getFirst().copy()); - if(!isJob) - this.stack.inputSize = Math.max(0, this.stack.inputSize-1); + EntityMinecart replacement = MinecartBlockHelper.getMinecartFromBlockStack(ItemStack.EMPTY, world); + replacement.setPosition(cart.posX, cart.posY, cart.posZ); + cart.setDead(); + world.spawnEntity(replacement); - return true; - } + if(!isJob) + stack.inputSize = Math.max(0, stack.inputSize-1); + return true; + } - return false; - } - return super.execute(tile, world, posIn, posOut, facingIn, facingOut, in); + @Nullable + private EntityMinecart getMinecart(World world, BlockPos pos) + { + if(cachedMinecart!=null&&!cachedMinecart.isDead) + return cachedMinecart; + cachedMinecart = world.getEntitiesWithinAABB(EntityMinecart.class, new AxisAlignedBB(pos), + entity -> entity instanceof IMinecartBlockPickable).stream().findFirst().orElse(null); + return cachedMinecart; + } + + @Override + protected void clearCachedTargets() + { + super.clearCachedTargets(); + cachedMinecart = null; } @Override @@ -535,6 +555,9 @@ public float getTimeModifier() */ public static class InserterTaskIntoMinecart extends InserterTaskItem { + @Nullable + private transient EntityMinecartEmpty cachedMinecart; + public InserterTaskIntoMinecart() { super(); @@ -543,51 +566,61 @@ public InserterTaskIntoMinecart() @Override public boolean canExecute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - if(!in) - { - // if expiring task already finished, don't load extra carts - if(!isJob&&this.stack.inputSize <= 0) - return false; + if(in) + return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, true); - return world.getEntitiesWithinAABB(EntityMinecartEmpty.class, new AxisAlignedBB(posOut)) - .stream() - .findFirst().isPresent(); - } - return super.canExecute(tile, world, posIn, posOut, facingIn, facingOut, in); + if(!isJob&&stack.inputSize <= 0) + return false; + ItemStack target = tile.inventory.get(0).isEmpty()?getPlannedStack(): tile.inventory.get(0); + return !target.isEmpty()&&getMinecart(world, posOut)!=null; } @Override public boolean execute(TileEntityInserterBase tile, World world, BlockPos posIn, BlockPos posOut, EnumFacing facingIn, EnumFacing facingOut, boolean in) { - if(!in) - { - // if expiring task already finished, don't load extra carts - if(!isJob&&this.stack.inputSize <= 0) - return false; + if(in) + return super.execute(tile, world, posIn, posOut, facingIn, facingOut, true); - Optional first = world.getEntitiesWithinAABB(EntityMinecartEmpty.class, new AxisAlignedBB(posOut)) - .stream() - .findFirst(); + if(!isJob&&stack.inputSize <= 0) + return false; - if(first.isPresent()) - { - EntityMinecartEmpty cart = first.get(); - ItemStack placed = tile.inventory.get(0).copy(); - placed.setCount(1); + EntityMinecartEmpty cart = getMinecart(world, posOut); + if(cart==null||tile.inventory.get(0).isEmpty()) + return false; - tile.inventory.get(0).shrink(1); + ItemStack placed = tile.inventory.get(0).copy(); + placed.setCount(1); + tile.inventory.get(0).shrink(1); - EntityMinecart c = MinecartBlockHelper.getMinecartFromBlockStack(placed, world); - c.setPosition(cart.posX, cart.posY, cart.posZ); - ((IMinecartBlockPickable)c).setMinecartBlock(placed); - cart.setDead(); - world.spawnEntity(c); + EntityMinecart replacement = MinecartBlockHelper.getMinecartFromBlockStack(placed, world); + replacement.setPosition(cart.posX, cart.posY, cart.posZ); + ((IMinecartBlockPickable)replacement).setMinecartBlock(placed); + cart.setDead(); + world.spawnEntity(replacement); + return true; + } - return true; - } - return false; - } - return super.execute(tile, world, posIn, posOut, facingIn, facingOut, in); + @Nullable + private EntityMinecartEmpty getMinecart(World world, BlockPos pos) + { + if(cachedMinecart!=null&&!cachedMinecart.isDead) + return cachedMinecart; + cachedMinecart = world.getEntitiesWithinAABB(EntityMinecartEmpty.class, new AxisAlignedBB(pos)) + .stream().findFirst().orElse(null); + return cachedMinecart; + } + + @Override + protected void clearCachedTargets() + { + super.clearCachedTargets(); + cachedMinecart = null; + } + + @Override + protected int getAmountToBeTaken(TileEntityInserterBase tile) + { + return Math.min(1, super.getAmountToBeTaken(tile)); } @Override @@ -602,4 +635,5 @@ public float getTimeModifier() return 2f; } } + } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserterBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserterBase.java index 1472bd1f7..3f1d1c511 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserterBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/inserter/TileEntityInserterBase.java @@ -1,21 +1,17 @@ package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter; -import blusunrize.immersiveengineering.api.ApiUtils; import blusunrize.immersiveengineering.api.TargetingInfo; -import blusunrize.immersiveengineering.api.crafting.IngredientStack; import blusunrize.immersiveengineering.api.energy.wires.IImmersiveConnectable; import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection; -import blusunrize.immersiveengineering.api.energy.wires.TileEntityImmersiveConnectable; import blusunrize.immersiveengineering.api.energy.wires.WireType; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IBlockBounds; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IComparatorOverride; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IHammerInteraction; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.ITileDrop; -import blusunrize.immersiveengineering.common.util.ItemNBTHelper; -import blusunrize.immersiveengineering.common.util.Utils; import blusunrize.immersiveengineering.common.util.inventory.IEInventoryHandler; import blusunrize.immersiveengineering.common.util.inventory.IIEInventory; import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -24,86 +20,102 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; -import net.minecraft.util.math.Vec3i; +import net.minecraft.util.math.*; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.device.DataWireNetwork; import pl.pabilo8.immersiveintelligence.api.data.device.IDataConnector; -import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.Inserter; +import pl.pabilo8.immersiveintelligence.client.util.carversound.ConditionCompoundSound; import pl.pabilo8.immersiveintelligence.common.IIGUI; +import pl.pabilo8.immersiveintelligence.common.IISounds; import pl.pabilo8.immersiveintelligence.common.block.data_device.BlockIIDataDevice.IIBlockTypes_Connector; -import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; -import pl.pabilo8.immersiveintelligence.common.network.messages.MessageIITileSync; import pl.pabilo8.immersiveintelligence.common.util.IIMath; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyMultiTypeCollection; -import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.ITypeNBTSerializable; import pl.pabilo8.immersiveintelligence.common.util.easynbt.NBTSerialisation; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIGuiMultiblockTile; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIConnectable; import pl.pabilo8.immersiveintelligence.common.wire.IIDataWireType; import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Set; import java.util.function.Supplier; /** + * Provides common wire, task, inventory, synchronization, and animation logic for Inserters. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @since 28.09.2020 */ -public abstract class TileEntityInserterBase extends TileEntityImmersiveConnectable implements IIEInventory, ITileDrop, IComparatorOverride, IHammerInteraction, ITickable, IBlockBounds, IDataConnector, IIIGuiMultiblockTile +public abstract class TileEntityInserterBase extends TileEntityIIConnectable implements IIEInventory, ITileDrop, + IComparatorOverride, IHammerInteraction, ITickable, IBlockBounds, IDataConnector, IIIGuiMultiblockTile { + private static final int TASK_RETRY_DELAY = 10; + + @SyncNBT(name = "energyStorage", events = {SyncEvents.TILE_ENERGY_CHANGED, SyncEvents.TILE_GUI_OPENED}) public int energyStorage = 0; + @SyncNBT(name = "pickProgress", events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_RECIPE_CHANGED, SyncEvents.TILE_GUI_OPENED}) public int pickProgress = 0; + @SyncNBT(name = "takeAmount", events = {SyncEvents.TILE_CUSTOM2, SyncEvents.TILE_GUI_OPENED}) public int takeAmount = getMaxTakeAmount(); + @SyncNBT(name = "outputFacing", events = {SyncEvents.TILE_CUSTOM2, SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_DROP_AS_ITEM}) public EnumFacing defaultOutputFacing = EnumFacing.NORTH; + @SyncNBT(name = "inputFacing", events = {SyncEvents.TILE_CUSTOM2, SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_DROP_AS_ITEM}) public EnumFacing defaultInputFacing = EnumFacing.SOUTH; public int defaultOutputDistance = 2, defaultInputDistance = 2; @Nullable public InserterTask current = null; - public IItemHandler insertionHandler = new IEInventoryHandler(1, this); + @SyncNBT(name = "currentTaskIndex", events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_RECIPE_CHANGED, SyncEvents.TILE_GUI_OPENED}) + public int currentTaskIndex = -1; + @SyncNBT(name = "inventory", events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_RECIPE_CHANGED, SyncEvents.TILE_GUI_OPENED}) + public NonNullList inventory = NonNullList.withSize(1, ItemStack.EMPTY); + @SyncNBT(name = "nextTaskAfterFinish", events = {SyncEvents.TILE_CUSTOM2, SyncEvents.TILE_GUI_OPENED}) public boolean nextTaskAfterFinish = true; + @SyncNBT(name = "tasks", events = {SyncEvents.TILE_RECIPE_CHANGED, SyncEvents.TILE_GUI_OPENED}) + public EasyMultiTypeCollection tasks = new EasyMultiTypeCollection<>(InserterTask.class); + @SyncNBT(name = "taskRetryDelay") + public int taskRetryDelay = 0; + @SyncNBT(name = "secondCable", events = SyncEvents.TILE_CUSTOM2, nullable = true) + public WireType secondCable; + + public final IItemHandler insertionHandler = new IEInventoryHandler(1, this); protected DataWireNetwork wireNetwork = new DataWireNetwork().add(this); - protected EasyMultiTypeCollection tasks = new EasyMultiTypeCollection<>(InserterTask.class); - protected NonNullList inventory = NonNullList.withSize(1, ItemStack.EMPTY); //The currently held item private boolean refreshWireNetwork = false; - private WireType secondCable; - @Override - protected boolean canTakeLV() - { - return getAcceptedPowerWires().contains(WireType.LV_CATEGORY); - } + @SideOnly(Side.CLIENT) + private ConditionCompoundSound pitchSound; + @SideOnly(Side.CLIENT) + private ConditionCompoundSound yawSound; - @Override - protected boolean canTakeMV() - { - return getAcceptedPowerWires().contains(WireType.MV_CATEGORY); - } + //--- Wire system ---// @Override - protected boolean canTakeHV() + public boolean acceptsWireType(WireType wireType) { - return getAcceptedPowerWires().contains(WireType.HV_CATEGORY); + String category = wireType.getCategory(); + return IIDataWireType.DATA_CATEGORY.equals(category)||getAcceptedPowerWires().contains(category); } @Override - public boolean canConnect() + public boolean isRelay() { - return true; + return false; } @Override @@ -115,38 +127,37 @@ public boolean isEnergyOutput() @Override public int outputEnergy(int amount, boolean simulate, int energyType) { - if(amount > 0&&energyStorage < getEnergyCapacity()) + if(amount <= 0||energyStorage >= getEnergyCapacity()) + return 0; + + int received = Math.min(amount, Math.min(getEnergyCapacity()-energyStorage, getEnergyUsage())); + if(!simulate) { - if(!simulate) - { - int rec = Math.min(getEnergyCapacity()-energyStorage, getEnergyUsage()); - energyStorage += rec; - return rec; - } - return Math.min(getEnergyCapacity()-energyStorage, getEnergyUsage()); + boolean wasPowered = hasTaskEnergy(); + energyStorage += received; + markDirty(); + if(!wasPowered&&hasTaskEnergy()) + updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); } - return 0; + return received; } @Override public boolean canConnectCable(WireType cableType, TargetingInfo target, Vec3i offset) { - int tc = getTargetedConnector(target); - return canAttach(cableType, tc); + return canAttach(cableType, getTargetedConnector(target)); } - private boolean canAttach(WireType toAttach, int conn) + private boolean canAttach(WireType toAttach, int connector) { - String attachCat = toAttach.getCategory(); - - if(attachCat==null) + String category = toAttach.getCategory(); + if(category==null) return false; - if(conn==0) - return attachCat.equals(IIDataWireType.DATA_CATEGORY)&&limitType==null; - else if(conn==1) - return getAcceptedPowerWires().contains(attachCat)&&secondCable==null; - + if(connector==0) + return IIDataWireType.DATA_CATEGORY.equals(category)&&limitType==null; + if(connector==1) + return getAcceptedPowerWires().contains(category)&&secondCable==null; return false; } @@ -156,18 +167,20 @@ public void connectCable(WireType cableType, TargetingInfo target, IImmersiveCon switch(getTargetedConnector(target)) { case 0: - if(this.limitType==null) + if(limitType==null) { DataWireNetwork.updateConnectors(pos, world, wireNetwork); - this.limitType = cableType; + limitType = cableType; } break; case 1: if(secondCable==null) - this.secondCable = cableType; + secondCable = cableType; break; } - this.markContainingBlockForUpdate(null); + markDirty(); + if(!world.isRemote) + updateTileForEvent(SyncEvents.TILE_CUSTOM2); } @Override @@ -179,34 +192,39 @@ public WireType getCableLimiter(TargetingInfo target) return limitType; case 1: return secondCable; + default: + return null; } - return null; } @Override - public void removeCable(Connection connection) + public void removeCable(@Nullable Connection connection) { - WireType type = connection!=null?connection.cableType: null; - if(type==null) - { - limitType = null; - secondCable = null; - } - if(type==limitType) + WireType type = connection==null?null: connection.cableType; + if(type==null||type==limitType) { wireNetwork.removeFromNetwork(this); - this.limitType = null; + limitType = null; } - if(type==secondCable) - this.secondCable = null; - this.markContainingBlockForUpdate(null); + if(type==null||type==secondCable) + secondCable = null; + + markDirty(); + if(world!=null&&!world.isRemote) + updateTileForEvent(SyncEvents.TILE_CUSTOM2); + } + + @Override + public void onConnectivityUpdate(BlockPos pos, int dimension) + { + super.onConnectivityUpdate(pos, dimension); + refreshWireNetwork = false; } @Override public Vec3d getConnectionOffset(Connection con) { - boolean right = con.cableType==limitType; - return getConnectionOffset(right); + return getConnectionOffset(con.cableType==limitType); } @Override @@ -217,228 +235,301 @@ public Vec3d getConnectionOffset(Connection con, TargetingInfo target, Vec3i off private Vec3d getConnectionOffset(boolean data) { - if(data) - return new Vec3d(0.875f, 0.5f, 0.875f); - else - return new Vec3d(0.125f, 0.475f, 0.125f); + return data?new Vec3d(0.875f, 0.5f, 0.875f): new Vec3d(0.125f, 0.475f, 0.125f); } + /** + * Gets the connector selected by the wire hit position. + * + * @param target wire target data + * @return 0 for data or 1 for power + */ public int getTargetedConnector(TargetingInfo target) { - if(target.hitX < 1&&target.hitX > 0.75&&target.hitZ < 1&&target.hitZ > 0.75) - return 0; - else - return 1; + return target.hitX < 1&&target.hitX > 0.75&&target.hitZ < 1&&target.hitZ > 0.75?0: 1; } + //--- Tick and task handling ---// + @Override - public void receiveMessageFromClient(NBTTagCompound message) + public void update() { - super.receiveMessageFromClient(message); - if(message.hasKey("tasks")) + refreshCurrentTask(); + if(world.isRemote) { - tasks.deserializeNBT(message.getTagList("tasks", 10)); - sendUpdate(); + handleSounds(); + if(current!=null&&hasTaskEnergy()) + performTasks(); + return; } - } - - @Override - public void receiveMessageFromServer(@Nonnull NBTTagCompound message) - { - super.receiveMessageFromServer(message); - if(message.hasKey("pickProgress")) - pickProgress = message.getInteger("pickProgress"); - if(message.hasKey("takeAmount")) - takeAmount = Math.min(message.getInteger("takeAmount"), getMaxTakeAmount()); - if(message.hasKey("nextTaskAfterFinish")) - nextTaskAfterFinish = message.getBoolean("nextTaskAfterFinish"); - if(message.hasKey("energyStorage")) - energyStorage = message.getInteger("energyStorage"); + if(!refreshWireNetwork) + { + refreshWireNetwork = true; + wireNetwork.removeFromNetwork(null); + } - if(message.hasKey("outputFacing")) - defaultOutputFacing = EnumFacing.getFront(message.getInteger("outputFacing")); - if(message.hasKey("inputFacing")) - defaultInputFacing = EnumFacing.getFront(message.getInteger("inputFacing")); + if(taskRetryDelay > 0) + taskRetryDelay--; - if(message.hasKey("inventory")) - inventory = Utils.readInventory(message.getTagList("inventory", 10), 1); + if(!hasTaskEnergy()) + return; - if(message.hasKey("tasks")) - tasks.deserializeNBT(message.getTagList("tasks", 10)); - if(message.hasKey("current")) + if(performTasks()) { - ITypeNBTSerializable task = NBTSerialisation.deserializePolymorphic(message.getCompoundTag("current")); - if(task instanceof InserterTask) - current = ((InserterTask)task); + energyStorage = Math.max(0, energyStorage-getEnergyUsage()); + markDirty(); + if(!hasTaskEnergy()) + updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); } - else current = null; - } - @Override - public void readCustomNBT(@Nonnull NBTTagCompound nbt, boolean descPacket) + protected boolean performTasks() { - super.readCustomNBT(nbt, descPacket); - if(nbt.hasKey("inventory")) - inventory = Utils.readInventory(nbt.getTagList("inventory", 10), 1); - if(nbt.hasKey("pickProgress")) - pickProgress = nbt.getInteger("pickProgress"); - if(nbt.hasKey("takeAmount")) - takeAmount = Math.min(nbt.getInteger("takeAmount"), getMaxTakeAmount()); - if(nbt.hasKey("nextTaskAfterFinish")) - nextTaskAfterFinish = nbt.getBoolean("nextTaskAfterFinish"); + if(tasks.isEmpty()) + { + setCurrentTask(null); + return false; + } - if(nbt.hasKey("outputFacing")) - defaultOutputFacing = EnumFacing.getFront(nbt.getInteger("outputFacing")); - if(nbt.hasKey("inputFacing")) - defaultInputFacing = EnumFacing.getFront(nbt.getInteger("inputFacing")); + if(current==null) + { + if(world.isRemote||taskRetryDelay > 0) + return false; - if(nbt.hasKey("secondCable")) - secondCable = nbt.hasKey("secondCable")?ApiUtils.getWireTypeFromNBT(nbt, "secondCable"): null; - if(nbt.hasKey("energyStorage")) - energyStorage = nbt.getInteger("energyStorage"); + for(InserterTask task : tasks) + { + task.clearCachedTargets(); + EnumFacing facingIn = task.facingIn==null?defaultInputFacing: task.facingIn; + EnumFacing facingOut = task.facingOut==null?defaultOutputFacing: task.facingOut; + BlockPos posIn = pos.offset(facingIn, task.distanceIn > 0?task.distanceIn: defaultInputDistance); + BlockPos posOut = pos.offset(facingOut, task.distanceOut > 0?task.distanceOut: defaultOutputDistance); - if(nbt.hasKey("tasks")) - tasks.deserializeNBT(nbt.getTagList("tasks", 10)); - } + if(task.canExecute(this, world, posIn, posOut, facingIn, facingOut, true) + &&task.canExecute(this, world, posIn, posOut, facingIn, facingOut, false)) + { + setCurrentTask(task); + taskRetryDelay = 0; + break; + } + task.clearCachedTargets(); + } - @Override - public void writeCustomNBT(@Nonnull NBTTagCompound nbt, boolean descPacket) - { - super.writeCustomNBT(nbt, descPacket); - nbt.setTag("inventory", Utils.writeInventory(inventory)); - nbt.setInteger("pickProgress", pickProgress); - nbt.setInteger("takeAmount", Math.min(takeAmount, getMaxTakeAmount())); - nbt.setBoolean("nextTaskAfterFinish", nextTaskAfterFinish); + if(current==null) + { + taskRetryDelay = TASK_RETRY_DELAY; + return false; + } + } - nbt.setInteger("outputFacing", defaultOutputFacing.ordinal()); - nbt.setInteger("inputFacing", defaultInputFacing.ordinal()); - if(secondCable!=null) - nbt.setString("secondCable", secondCable.getUniqueName()); - nbt.setTag("tasks", tasks.serializeNBT()); + EnumFacing facingIn = current.facingIn==null?defaultInputFacing: current.facingIn; + EnumFacing facingOut = current.facingOut==null?defaultOutputFacing: current.facingOut; + BlockPos posIn = pos.offset(facingIn, current.distanceIn > 0?current.distanceIn: defaultInputDistance); + BlockPos posOut = pos.offset(facingOut, current.distanceOut > 0?current.distanceOut: defaultOutputDistance); + int maxProgress = getTaskDuration(current); - nbt.setInteger("energyStorage", energyStorage); - } + if(pickProgress==0) + { + if(world.isRemote) + { + pickProgress++; + return true; + } - @Override - public void update() - { - if(world.isRemote) - handleSounds(); - else if(!refreshWireNetwork) + boolean canStart = current.canExecute(this, world, posIn, posOut, facingIn, facingOut, true) + &¤t.canExecute(this, world, posIn, posOut, facingIn, facingOut, false); + boolean started = canStart&¤t.execute(this, world, posIn, posOut, facingIn, facingOut, true); + current.clearCachedTargets(); + if(started) + { + pickProgress++; + updateTileForEvent(SyncEvents.TILE_CUSTOM1); + return true; + } + + setCurrentTask(null); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); + return false; + } + + if(pickProgress >= maxProgress) { - refreshWireNetwork = true; - wireNetwork.removeFromNetwork(null); + if(world.isRemote) + return false; + + boolean completed = current.canExecute(this, world, posIn, posOut, facingIn, facingOut, false) + &¤t.execute(this, world, posIn, posOut, facingIn, facingOut, false); + current.clearCachedTargets(); + if(completed) + { + int id = tasks.indexOf(current); + boolean removed = !current.shouldContinue(); + if(removed) + tasks.remove(current); + + if(tasks.isEmpty()) + setCurrentTask(null); + else + { + int next = Math.max(0, id)+(removed?0: nextTaskAfterFinish?1: 0); + setCurrentTask(tasks.get(next%tasks.size())); + } + pickProgress = 0; + updateTileForEvent(removed?SyncEvents.TILE_RECIPE_CHANGED: SyncEvents.TILE_CUSTOM1); + return true; + } + return false; } - if(energyStorage > Inserter.energyUsage) - performTasks(); + pickProgress++; + return true; + } + private boolean hasTaskEnergy() + { + return energyStorage >= getEnergyUsage(); } - protected void performTasks() + private int getTaskDuration(InserterTask task) { - if(tasks.isEmpty()) - return; + return Math.max(1, (int)(getPickupSpeed()*(1+task.getTimeModifier()))); + } - if(this.current==null) - for(InserterTask task : tasks) + private void setCurrentTask(@Nullable InserterTask task) + { + current = task; + currentTaskIndex = task==null?-1: tasks.indexOf(task); + if(currentTaskIndex < 0) + current = null; + } + + protected final void refreshCurrentTask() + { + if(current!=null) + { + int actualIndex = tasks.indexOf(current); + if(actualIndex >= 0) { - EnumFacing facingIn = task.facingIn==null?defaultInputFacing: task.facingIn; - EnumFacing facingOut = task.facingOut==null?defaultOutputFacing: task.facingOut; + currentTaskIndex = actualIndex; + return; + } + } - BlockPos posIn = pos.offset(facingIn, task.distanceIn > 0?task.distanceIn: defaultInputDistance); - BlockPos posOut = pos.offset(facingOut, task.distanceOut > 0?task.distanceOut: defaultOutputDistance); + if(currentTaskIndex >= 0&¤tTaskIndex < tasks.size()) + current = tasks.get(currentTaskIndex); + else + { + current = null; + currentTaskIndex = -1; + } + } - if(!task.canExecute(this, world, posIn, posOut, facingIn, facingOut, true)) - continue; - if(!task.canExecute(this, world, posIn, posOut, facingIn, facingOut, false)) - continue; + //--- Repeated sounds ---// - current = task; - if(!world.isRemote) - sendUpdate(); - break; - } - //you should be, but who knows ^^ - if(this.current!=null) + @SideOnly(Side.CLIENT) + private void handleSounds() + { + if(isArmMoving()&&(pitchSound==null||pitchSound.isDonePlaying())) { - EnumFacing facingIn = current.facingIn==null?defaultInputFacing: current.facingIn; - EnumFacing facingOut = current.facingOut==null?defaultOutputFacing: current.facingOut; + pitchSound = new ConditionCompoundSound<>(IISounds.inserterPitchM, + new Vec3d(pos).addVector(0.5, 0.5, 0.5), this, TileEntityInserterBase::isArmMoving); + pitchSound.setVolume(0.25f); + } + if(isArmRotating()&&(yawSound==null||yawSound.isDonePlaying())) + { + yawSound = new ConditionCompoundSound<>(IISounds.inserterYawM, + new Vec3d(pos).addVector(0.5, 0.5, 0.5), this, TileEntityInserterBase::isArmRotating); + yawSound.setVolume(0.25f); + } + } - BlockPos posIn = pos.offset(facingIn, current.distanceIn > 0?current.distanceIn: defaultInputDistance); - BlockPos posOut = pos.offset(facingOut, current.distanceOut > 0?current.distanceOut: defaultOutputDistance); + private boolean isArmMoving() + { + return !isInvalid()&¤t!=null&&hasTaskEnergy() + &&pickProgress > 0&&pickProgress < getTaskDuration(current); + } - int maxProgress = (int)(getPickupSpeed()*(1+current.getTimeModifier())); + private boolean isArmRotating() + { + if(!isArmMoving()) + return false; + EnumFacing input = getCurrentInputFacing(); + EnumFacing output = getCurrentOutputFacing(); + return input.getAxis()!=EnumFacing.Axis.Y&&output.getAxis()!=EnumFacing.Axis.Y&&input!=output; + } + //--- Capability lookup ---// - //better check - if(pickProgress==0) - if(!world.isRemote) - { - if(current.canExecute(this, world, posIn, posOut, facingIn, facingOut, true)) - { - this.current.execute(this, world, posIn, posOut, facingIn, facingOut, true); - pickProgress++; - } - else - this.current = null; - sendUpdate(); - } - else - pickProgress++; - else if(pickProgress==maxProgress) - { - if(!world.isRemote) - { - if(this.current.execute(this, world, posIn, posOut, facingIn, facingOut, false)) //most of the time, if inventory.get(0).isEmpty() - { - int id = tasks.indexOf(current); - if(!current.shouldContinue()) - tasks.remove(current); - current = (!tasks.isEmpty())?tasks.get((id+(nextTaskAfterFinish?1: 0))%tasks.size()): null; - pickProgress = 0; - sendUpdate(); - } - } - else if(this.current.canExecute(this, world, posIn, posOut, facingIn, facingOut, false)) - pickProgress = 0; + /** + * Finds a capability on the target side or on the top face of a tile or entity. + * + * @param world target world + * @param pos target block position + * @param capability capability to find + * @param side preferred side + * @param capability type + * @return capability instance or null + */ + @Nullable + public static T findTargetCapability(World world, BlockPos pos, Capability capability, EnumFacing side) + { + TileEntity tile = world.getTileEntity(pos); + T found = getCapability(tile, capability, side); + if(found!=null) + return found; - } - else if(pickProgress < maxProgress) - pickProgress++; + for(Entity entity : world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(pos))) + { + found = getCapability(entity, capability, side); + if(found!=null) + return found; } + return null; + } + @Nullable + private static T getCapability(@Nullable ICapabilityProvider provider, Capability capability, EnumFacing side) + { + if(provider==null) + return null; + T found = provider.getCapability(capability, side); + if(found==null&&side!=EnumFacing.UP) + found = provider.getCapability(capability, EnumFacing.UP); + return found; } - protected void sendUpdate() + private static class CachedCapability { - IIPacketHandler.sendToClient(this, new MessageIITileSync(this, EasyNBT.newNBT() - .withTag("inventory", Utils.writeInventory(inventory)) - .withInt("pickProgress", pickProgress) - .withInt("takeAmount", takeAmount) - .withBoolean("nextTaskAfterFinish", nextTaskAfterFinish) - .withInt("outputFacing", defaultOutputFacing.ordinal()) - .withInt("inputFacing", defaultInputFacing.ordinal()) - .withTag("tasks", tasks.serializeNBT()) - .withInt("energyStorage", energyStorage) - .conditionally(current!=null, e -> e.withTag("current", - EasyNBT.wrapNBT(current.serializeNBT()) - .withString("type", current.getClass().getSimpleName()) - )) - )); + private final BlockPos pos; + private final EnumFacing side; + private final Capability capability; + @Nullable + private final T value; + + private CachedCapability(World world, BlockPos pos, Capability capability, EnumFacing side) + { + this.pos = pos; + this.side = side; + this.capability = capability; + this.value = findTargetCapability(world, pos, capability, side); + } + + private boolean matches(BlockPos pos, Capability capability, EnumFacing side) + { + return this.capability==capability&&this.side==side&&this.pos.equals(pos); + } } + //--- Inventory ---// + @Override public boolean hasCapability(@Nonnull Capability capability, EnumFacing facing) { - if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) - return true; - return super.hasCapability(capability, facing); + return capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY||super.hasCapability(capability, facing); } @Override + @SuppressWarnings("unchecked") public T getCapability(@Nonnull Capability capability, EnumFacing facing) { if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) @@ -448,47 +539,66 @@ public T getCapability(@Nonnull Capability capability, EnumFacing facing) @Nonnull @Override - public float[] getBlockBounds() + public NonNullList getInventory() { - return new float[]{0f, 0, 0f, 1f, 0.1875f, 1f}; + return inventory; } @Override - public int getComparatorInputOverride() + public boolean isStackValid(int slot, ItemStack stack) { - return 0; + return true; } @Override - public void readOnPlacement(@Nullable EntityLivingBase placer, ItemStack stack) + public int getSlotLimit(int slot) { - if(stack.getTagCompound()!=null) - receiveMessageFromServer(stack.getTagCompound()); + return current!=null&¤t.overrideTakeAmount!=-1?current.overrideTakeAmount: takeAmount; + } + @Override + public void doGraphicalUpdates(int slot) + { } + //--- Block and placement ---// + + @Nonnull @Override - public NonNullList getInventory() + public float[] getBlockBounds() { - return inventory; + return new float[]{0f, 0, 0f, 1f, 0.1875f, 1f}; } @Override - public boolean isStackValid(int slot, ItemStack stack) + public int getComparatorInputOverride() { - return true; + return 0; } @Override - public int getSlotLimit(int slot) + public void readOnPlacement(@Nullable EntityLivingBase placer, ItemStack stack) { - return (current!=null&¤t.overrideTakeAmount!=-1)?current.overrideTakeAmount: takeAmount; + //noinspection unchecked + if(stack.hasTagCompound()) + NBTSerialisation.synchroniseFor(this, (tag, tile) -> tag.deserializeAll(tile, stack.getTagCompound(), true)); } + @Nonnull @Override - public void doGraphicalUpdates(int slot) + public ItemStack getTileDrop(@Nullable EntityPlayer player, IBlockState state) { + return withDropData(new ItemStack(state.getBlock(), 1, IIBlockTypes_Connector.INSERTER.getMeta())); + } + protected ItemStack withDropData(ItemStack stack) + { + NBTTagCompound nbt = new NBTTagCompound(); + //noinspection unchecked + NBTSerialisation.synchroniseFor(this, (tag, tile) -> tag.serializeForEvent(tile, nbt, SyncEvents.TILE_DROP_AS_ITEM)); + if(!nbt.hasNoTags()) + stack.setTagCompound(nbt); + return stack; } @Override @@ -497,40 +607,38 @@ public boolean hammerUseSide(@Nonnull EnumFacing side, @Nonnull EntityPlayer pla if(world.isRemote) return true; - EnumFacing hitside = null; - + EnumFacing hitSide = null; if(IIMath.isPointInRectangle(0.25, 0.75, 0.75, 1, hitX, hitZ)) - hitside = EnumFacing.SOUTH; + hitSide = EnumFacing.SOUTH; else if(IIMath.isPointInRectangle(0.25, 0, 0.75, 0.25, hitX, hitZ)) - hitside = EnumFacing.NORTH; + hitSide = EnumFacing.NORTH; else if(IIMath.isPointInRectangle(0.75, 0.25, 1, 0.75, hitX, hitZ)) - hitside = EnumFacing.EAST; + hitSide = EnumFacing.EAST; else if(IIMath.isPointInRectangle(0, 0.25, 0.25, 0.75, hitX, hitZ)) - hitside = EnumFacing.WEST; - + hitSide = EnumFacing.WEST; - if(hitside!=null) + if(hitSide!=null) + { if(player.isSneaking()) { - if(defaultInputFacing==hitside) + if(defaultInputFacing==hitSide) defaultInputFacing = EnumFacing.UP; - defaultOutputFacing = hitside; + defaultOutputFacing = hitSide; } else { - if(defaultOutputFacing==hitside) + if(defaultOutputFacing==hitSide) defaultOutputFacing = EnumFacing.UP; - defaultInputFacing = hitside; + defaultInputFacing = hitSide; } - - IIPacketHandler.sendToClient(this, new MessageIITileSync(this, EasyNBT.newNBT() - .withInt("inputFacing", defaultInputFacing.ordinal()) - .withInt("outputFacing", defaultOutputFacing.ordinal()) - )); - + markDirty(); + updateTileForEvent(SyncEvents.TILE_CUSTOM2); + } return true; } + //--- Data network ---// + @Override public DataWireNetwork getDataNetwork() { @@ -547,29 +655,18 @@ public void setDataNetwork(DataWireNetwork net) public void onDataChange() { if(!isInvalid()) - { markDirty(); - IBlockState stateHere = world.getBlockState(pos); - markContainingBlockForUpdate(stateHere); - } - } - - @Override - public World getConnectorWorld() - { - return getWorld(); } @Override public void onPacketReceive(DataPacket packet) { - // TODO: 21.12.2021 packet receiving + // Implemented by concrete Inserters. } @Override public void sendPacket(DataPacket packet) { - //Nope } @Override @@ -578,18 +675,10 @@ public boolean moveConnectionTo(Connection c, BlockPos newEnd) return true; } - @Nonnull - @Override - public ItemStack getTileDrop(@Nullable EntityPlayer player, IBlockState state) - { - ItemStack stack = new ItemStack(state.getBlock(), 1, IIBlockTypes_Connector.INSERTER.getMeta()); - ItemNBTHelper.setInt(stack, "outputFacing", defaultOutputFacing.ordinal()); - ItemNBTHelper.setInt(stack, "inputFacing", defaultInputFacing.ordinal()); - return stack; - } - /** - * @return all tasks assigned to this inserter + * Gets all tasks assigned to this Inserter. + * + * @return task collection */ @Nonnull public final EasyMultiTypeCollection getTasks() @@ -600,42 +689,36 @@ public final EasyMultiTypeCollection getTasks() //--- Abstract variables ---// /** - * @return names of all power wires able to connect to this inserter + * @return names of all power wires that can connect to this Inserter */ @Nonnull protected abstract Set getAcceptedPowerWires(); /** - * @return how many ticks does it take to perform a task + * @return task duration in ticks */ public abstract int getPickupSpeed(); /** - * @return how much IF this inserter uses per tick + * @return IF used for each active task tick */ public abstract int getEnergyUsage(); /** - * @return how much IF this inserter can store + * @return maximum stored IF */ public abstract int getEnergyCapacity(); /** - * @return max amount of items this inserter can take per operation + * @return maximum amount moved per operation */ public abstract int getMaxTakeAmount(); /** - * @return all available tasks for this inserter + * @return registered tasks available to this Inserter */ @Nonnull - public abstract HashMap> getAvailableTasks(); - - /** - * Control the sounds played here. - */ - @SideOnly(Side.CLIENT) - protected abstract void handleSounds(); + public abstract LinkedHashMap> getAvailableTasks(); public final EnumFacing getCurrentInputFacing() { @@ -690,12 +773,17 @@ public static abstract class InserterTask implements ITypeNBTSerializable /** * Inserter will only take the item if the item matches this **/ - public IngredientStack stack = new IngredientStack("*"); + public IngredientReference stack = new IngredientReference(); /** * Whether the task shouldn't end after items are taken **/ public boolean isJob = true; + @Nullable + private transient CachedCapability cachedInputCapability; + @Nullable + private transient CachedCapability cachedOutputCapability; + public InserterTask() { @@ -714,7 +802,7 @@ public NBTTagCompound serializeNBT() nbt.setInteger("facingOut", facingOut.getIndex()); if(distanceOut!=-1) nbt.setInteger("distanceOut", MathHelper.clamp(distanceOut, -1, 2)); - nbt.setTag("stack", stack.writeToNBT(new NBTTagCompound())); + nbt.setTag("stack", stack.serializeNBT()); nbt.setBoolean("isJob", isJob); nbt.setBoolean("strictAmount", strictAmount); @@ -736,11 +824,7 @@ public void deserializeNBT(NBTTagCompound nbt) if(nbt.hasKey("distanceOut")) distanceOut = MathHelper.clamp(nbt.getInteger("distanceOut"), -1, 2); if(nbt.hasKey("stack")) - { - stack = IngredientStack.readFromNBT(nbt.getCompoundTag("stack")); - if(stack.fluid!=null) - stack.inputSize = stack.fluid.amount; - } + stack = IngredientReference.readFromNBT(nbt.getCompoundTag("stack")); if(nbt.hasKey("isJob")) isJob = nbt.getBoolean("isJob"); if(nbt.hasKey("strictAmount")) @@ -749,6 +833,42 @@ public void deserializeNBT(NBTTagCompound nbt) overrideTakeAmount = nbt.getInteger("overrideTakeAmount"); } + /** + * Gets and caches a capability for one task endpoint. + * + * @param world target world + * @param pos target position + * @param capability capability to get + * @param side preferred capability side + * @param input true for the input endpoint + * @param capability type + * @return capability instance or null + */ + @Nullable + @SuppressWarnings("unchecked") + protected final T getTargetCapability(World world, BlockPos pos, Capability capability, EnumFacing side, boolean input) + { + CachedCapability cached = input?cachedInputCapability: cachedOutputCapability; + if(cached==null||!cached.matches(pos, capability, side)) + { + cached = new CachedCapability<>(world, pos, capability, side); + if(input) + cachedInputCapability = cached; + else + cachedOutputCapability = cached; + } + return (T)cached.value; + } + + /** + * Clears endpoint caches after one task phase. + */ + protected void clearCachedTargets() + { + cachedInputCapability = null; + cachedOutputCapability = null; + } + /** * @return whether the task shouldn't be removed from task list, default true */ @@ -787,7 +907,7 @@ public boolean areDetailsEditable() /** * GUI/support accessor */ - public final IngredientStack getIngredient() + public final IngredientReference getIngredient() { return stack; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java index abf35b019..a505ce078 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPacker.java @@ -1,7 +1,6 @@ package pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity; import blusunrize.immersiveengineering.api.IEApi; -import blusunrize.immersiveengineering.api.crafting.IngredientStack; import blusunrize.immersiveengineering.api.energy.immersiveflux.FluxStorage; import blusunrize.immersiveengineering.api.energy.immersiveflux.FluxStorageAdvanced; import blusunrize.immersiveengineering.api.tool.ConveyorHandler.IConveyorAttachable; @@ -29,6 +28,7 @@ import net.minecraftforge.fluids.IFluidTank; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidTankProperties; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; @@ -40,9 +40,9 @@ import pl.pabilo8.immersiveintelligence.api.PackerHandler.PackerActionType; import pl.pabilo8.immersiveintelligence.api.PackerHandler.PackerPutMode; import pl.pabilo8.immersiveintelligence.api.PackerHandler.PackerTask; +import pl.pabilo8.immersiveintelligence.api.crafting.IngredientReference; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.IIDataHandlingUtils; -import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeLogisticTag; import pl.pabilo8.immersiveintelligence.api.upgrade.IManagedUpgradableDevice; import pl.pabilo8.immersiveintelligence.api.upgrade.Upgrade; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeManager; @@ -68,7 +68,10 @@ import java.util.function.Predicate; /** + * Packs items, fluids, or energy into compatible containers by configured tasks. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 12.08.2026 * @since 28.06.2019 */ public class TileEntityPacker extends TileEntityMultiblockIIGeneric @@ -317,12 +320,8 @@ private void performPackerAction(@Nullable IItemHandler itemHandler, @Nullable I if(world.isRemote&&task.unpack) continue; - //Container filter gating ("*" = any) - if(task.containerFilter!=null&&!"*".equals(task.containerFilter.oreName)) - if(!task.containerFilter.matchesItemStackIgnoringSize(containerStack)) - continue; - //Container logistic tag gating (if present) - if(task.logiTag!=null&&!task.logiTag.itemMatches(containerStack)) + //Apply the base ingredient and optional logistics-tag predicates together. + if(task.containerFilter!=null&&!task.containerFilter.matchesItemStackIgnoringSize(containerStack)) continue; //Do not repeat non-repeatable tasks in later passes @@ -350,7 +349,7 @@ private void performPackerAction(@Nullable IItemHandler itemHandler, @Nullable I for(int i = 0; i < handlerIn.getSlots(); i++) { //"*" means a wildcard, else use standard ingredientstack matching - if("*".equals(task.stack.oreName)||task.stack.matchesItemStackIgnoringSize(handlerIn.extractItem(i, amount, true))) + if(task.stack.matchesItemStackIgnoringSize(handlerIn.extractItem(i, amount, true))) { ItemStack extracted = handlerIn.extractItem(i, amount, false); if(extracted.isEmpty()) @@ -401,13 +400,18 @@ private void performPackerAction(@Nullable IItemHandler itemHandler, @Nullable I //Output fluid to container if(task.unpack) { - FluidStack simulated = fluidHandler.drain(amount, false); - if(simulated!=null&&simulated.amount > 0&&("*".equals(task.stack.oreName)||simulated.isFluidEqual(task.stack.fluid))) + FluidStack request = getFluidDrainRequest(fluidHandler, task.stack, amount); + FluidStack simulated = task.stack.isWildcard()? + fluidHandler.drain(amount, false): + (request==null?null: fluidHandler.drain(request, false)); + if(simulated!=null&&simulated.amount > 0&&task.stack.matchesFluidStackIgnoringSize(simulated)) { int accepted = fluidTankUpgradeOutput.fill(simulated.copy(), true); if(accepted > 0) { - FluidStack drained = fluidHandler.drain(accepted, true); + FluidStack drainRequest = simulated.copy(); + drainRequest.amount = accepted; + FluidStack drained = fluidHandler.drain(drainRequest, true); if(drained!=null&&drained.amount > 0) { progressForTask = true; @@ -426,7 +430,7 @@ private void performPackerAction(@Nullable IItemHandler itemHandler, @Nullable I { if(fluid==null||fluid.amount <= 0) continue; - if(!("*".equals(task.stack.oreName)||fluid.isFluidEqual(task.stack.fluid))) + if(!task.stack.matchesFluidStackIgnoringSize(fluid)) continue; int request = Math.min(amount, fluid.amount); @@ -549,6 +553,33 @@ private void performPackerAction(@Nullable IItemHandler itemHandler, @Nullable I } } + @Nullable + private static FluidStack getFluidDrainRequest(IFluidHandler handler, IngredientReference reference, int amount) + { + if(reference.isWildcard()||reference.fluid==null) + return null; + + FluidStack requested; + if(reference.useNBT) + requested = reference.fluid.copy(); + else + { + requested = null; + for(IFluidTankProperties properties : handler.getTankProperties()) + { + FluidStack contents = properties.getContents(); + if(contents!=null&&contents.amount > 0&&reference.matchesFluidStackIgnoringSize(contents)) + { + requested = contents.copy(); + break; + } + } + } + if(requested!=null) + requested.amount = amount; + return requested; + } + private void applyLabelingToContainer(@Nonnull ItemStack containerStack) { if(labels==null||labels.isEmpty()||containerStack.isEmpty()) @@ -560,13 +591,8 @@ private void applyLabelingToContainer(@Nonnull ItemStack containerStack) if(isLimited&&label.expirationAmount <= 0) continue; - //Filter match ("*" = any) - if(label.filter!=null&&!"*".equals(label.filter.oreName)) - if(!label.filter.matchesItemStackIgnoringSize(containerStack)) - continue; - - //Incoming logistic tag match (if present) - if(label.logiTagIn!=null&&!label.logiTagIn.itemMatches(containerStack)) + //Apply the base ingredient and optional logistics-tag predicates together. + if(label.filter!=null&&!label.filter.matchesItemStackIgnoringSize(containerStack)) continue; //Process exactly one matching labeling task per container per pack action @@ -652,7 +678,7 @@ public void receiveData(DataPacket packet, int pos) T: (optional) ItemStack carrying logiTagOut (if used with o absent) x: (optional) index for remove/remove_label */ - IngredientStack stack = IIDataHandlingUtils.asIngredient('s', packet); + IngredientReference stack = IIDataHandlingUtils.asIngredient('s', packet); PackerActionType action = IIDataHandlingUtils.asEnum('a', packet, PackerActionType.class); PackerPutMode mode = IIDataHandlingUtils.asEnum('m', packet, PackerPutMode.class); boolean unpack = IIDataHandlingUtils.asBoolean('u', packet); @@ -678,8 +704,8 @@ public void receiveData(DataPacket packet, int pos) tasks.remove((int)pid.get()); else { - Predicate p = "*".equals(stack.oreName)?(packerTask -> true): - (packerTask -> packerTask.stack.matches(stack)); + Predicate p = stack.isWildcard()&&!stack.hasLogisticTag()? + packerTask -> true: packerTask -> packerTask.stack.matches(stack); if(packet.has('m')) p = p.and(packerTask -> packerTask.mode==mode); if(packet.has('a')) @@ -696,7 +722,7 @@ public void receiveData(DataPacket packet, int pos) { //Output tag is non-optional, because it is applied to the processed container IIDataHandlingUtils.optionalLogisticTag('o', packet).ifPresent(logisticTagOutput -> { - IngredientStack filter = packet.has('f')?IIDataHandlingUtils.asIngredient('f', packet): new IngredientStack("*"); + IngredientReference filter = packet.has('f')?IIDataHandlingUtils.asIngredient('f', packet): new IngredientReference(); LabelingTask lt = new LabelingTask(); lt.filter = filter; @@ -708,10 +734,7 @@ public void receiveData(DataPacket packet, int pos) //Input tag is optional, works as a filter if(packet.has('i')) - { - DataTypeLogisticTag variable = packet.getVarInType(DataTypeLogisticTag.class, packet.get('i')); - lt.logiTagIn = variable.value.clone(); - } + IIDataHandlingUtils.optionalLogisticTag('i', packet).ifPresent(lt.filter::withLogisticTag); labels.add(lt); updateTileForEvent(SyncEvents.TILE_CUSTOM1); @@ -725,9 +748,10 @@ public void receiveData(DataPacket packet, int pos) labels.remove((int)pid.get()); else { - IngredientStack filter = packet.has('f')?IIDataHandlingUtils.asIngredient('f', packet): new IngredientStack("*"); + IngredientReference filter = packet.has('f')?IIDataHandlingUtils.asIngredient('f', packet): new IngredientReference(); - Predicate p = "*".equals(filter.oreName)?(l -> true): (l -> l.filter.matches(filter)); + Predicate p = filter.isWildcard()&&!filter.hasLogisticTag()? + l -> true: l -> l.filter.matches(filter); Optional outputLogiTag = IIDataHandlingUtils.optionalLogisticTag('o', packet); if(outputLogiTag.isPresent()) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java index a003b09eb..332c9d27c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java @@ -14,9 +14,9 @@ import pl.pabilo8.immersiveintelligence.api.data.DataVariable; import pl.pabilo8.immersiveintelligence.api.data.IIDataTypeUtils; import pl.pabilo8.immersiveintelligence.common.IILogger; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityFluidInserter.InserterTaskFluid; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityFluidInserter.InserterTaskLatexCollectorDrain; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityFluidInserter.InserterTaskMilkCow; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityFluidInserter.InserterTaskFluid; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityFluidInserter.InserterTaskLatexCollectorDrain; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityFluidInserter.InserterTaskMilkCow; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserter.InserterTaskFromMinecart; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserter.InserterTaskIntoMinecart; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.inserter.TileEntityInserter.InserterTaskItem; @@ -526,12 +526,10 @@ void deserializeField(@Nonnull Object obj, @Nonnull NBTTagCompound from, boolean try { if(from.hasKey(nbtName)) - { if(canBeNull&&from.getTag(nbtName).hasNoTags()) setter.invoke(obj, null); else setter.invoke(obj, fromNBT(obj, (NBT)from.getTag(nbtName))); - } else { if(canSkip) From aef50f4a76beb583696b94b46838682521c99d51 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Fri, 14 Aug 2026 01:19:50 +0200 Subject: [PATCH 15/23] Reworked Effect Crates, added storage modes and re-added Inserter upgrade to the Ammunition Crate Fixed wire display on Effect Crates, Skycrate Station, Post and Redstone Interface --- .../api/ammocrate/AmmunitionCrateHandler.java | 661 ++ .../api/ammocrate/AmmunitionCrateMode.java | 113 + .../api/ammocrate/MountedReloadSource.java | 14 + .../api/ammocrate/ReloadContext.java | 78 + .../api/ammocrate/ReloadHandler.java | 22 + .../client/gui/block/GuiAmmunitionCrate.java | 73 +- .../client/gui/block/GuiMedicalCrate.java | 189 +- .../client/gui/block/GuiRepairCrate.java | 122 +- .../gui/deco/component/label/DecoLabel.java | 30 +- .../gui/deco/util/DecoBackgroundBuilder.java | 76 +- .../client/gui/deco/util/DecoFrame.java | 24 +- .../entity/weapon/MachinegunRenderer.java | 87 +- .../common/CommonProxy.java | 1 + .../components/nuke/AmmoComponentNuke.java | 2 +- .../block/data_device/BlockIIDataDevice.java | 3 +- .../metal_device/BlockIIMetalDevice.java | 4 +- .../TileEntityAmmunitionCrate.java | 357 +- .../effect_crate/TileEntityEffectCrate.java | 26 +- .../effect_crate/TileEntityMedicalCrate.java | 14 +- .../effect_crate/TileEntityRepairCrate.java | 8 +- .../BlockIIMetalMultiblock1.java | 1 + .../BlockIIWoodenMultiblock.java | 4 + .../common/crafting/IIRecipes.java | 5 - .../common/gui/ContainerAmmunitionCrate.java | 241 +- .../common/gui/ContainerMedicalCrate.java | 14 +- .../common/gui/ContainerRepairCrate.java | 26 +- .../item/ammo/ItemIIBulletMagazine.java | 28 + .../common/item/weapons/ItemIIGunBase.java | 45 +- .../ammohandler/AmmoHandlerMagazine.java | 33 +- .../common/util/IIExplosion.java | 2 +- .../GunAmmoProviderAmmoCrate.java | 14 +- .../ammoprovider/GunAmmoProviderMagazine.java | 133 +- .../common/util/tile/TileEntityIIBase.java | 4 +- .../blockstates/metal_device.json | 9 + .../metal_device/ammunition_crate.json | 4 +- .../blockstates/metal_device/medic_crate.json | 4 +- .../metal_device/repair_crate.json | 4 +- .../immersiveintelligence/lang/de_de.lang | 8 +- .../immersiveintelligence/lang/en_us.lang | 24 +- .../immersiveintelligence/lang/ru_ru.lang | 8 +- .../immersiveintelligence/lang/uk_ua.lang | 8 +- .../immersiveintelligence/lang/zh_cn.lang | 7234 ++++++++--------- ..._base.obj => ammunition_crate_base.obj.ie} | 0 ...crate_base.obj => medic_crate_base.obj.ie} | 0 ...rate_base.obj => repair_crate_base.obj.ie} | 0 .../blocks/metal_device/medic_crate.png | Bin 1695 -> 7763 bytes .../textures/gui/casing_pouch.xcf | Bin 1250962 -> 0 bytes .../textures/gui/medical_crate.png | Bin 135211 -> 10802 bytes .../textures/gui/repair_crate.png | Bin 127222 -> 0 bytes 49 files changed, 5549 insertions(+), 4208 deletions(-) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateMode.java create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/MountedReloadSource.java create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadContext.java create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadHandler.java rename src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/{ammunition_crate_base.obj => ammunition_crate_base.obj.ie} (100%) rename src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/{medic_crate_base.obj => medic_crate_base.obj.ie} (100%) rename src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/{repair_crate_base.obj => repair_crate_base.obj.ie} (100%) delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/gui/casing_pouch.xcf delete mode 100644 src/main/resources/assets/immersiveintelligence/textures/gui/repair_crate.png diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java new file mode 100644 index 000000000..10ec304d6 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java @@ -0,0 +1,661 @@ +package pl.pabilo8.immersiveintelligence.api.ammocrate; + +import blusunrize.immersiveengineering.api.tool.BulletHandler; +import blusunrize.immersiveengineering.common.items.IEItemInterfaces.IBulletContainer; +import blusunrize.immersiveengineering.common.items.ItemBullet; +import blusunrize.immersiveengineering.common.items.ItemRevolver; +import blusunrize.immersiveengineering.common.items.ItemSpeedloader; +import blusunrize.immersiveengineering.common.util.ItemNBTHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.NonNullList; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.IItemHandler; +import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Tools; +import pl.pabilo8.immersiveintelligence.common.IIContent; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; +import pl.pabilo8.immersiveintelligence.common.entity.mounted_weapon.EntityMachinegun; +import pl.pabilo8.immersiveintelligence.common.gui.ContainerAmmunitionCrate; +import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIBulletMagazine; +import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIBulletMagazine.Magazines; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIAssaultRifle; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIGunBase; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIRifle; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIISubmachinegun; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIWeaponUpgrade.WeaponUpgrade; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ammohandler.AmmoHandler; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ammohandler.AmmoHandlerMagazine; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; +import pl.pabilo8.immersiveintelligence.common.util.gun.ammoprovider.GunAmmoProviderMagazine; + +import javax.annotation.Nullable; +import java.util.EnumMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.WeakHashMap; +import java.util.function.Predicate; + +/** + * Defines ammunition-crate modes and weapon reload handlers. + * + * @author Pabilo8(pabilo@iiteam.net) + * @updated 11.08.2026 + * @since 10.08.2026 + */ +public class AmmunitionCrateHandler +{ + public static final String KEY_CRATE_RELOAD = "ii_crate_reload"; + public static final String KEY_CRATE_RELOAD_PREVIEW = "ii_crate_reload_preview"; + + private static final EnumMap, ReloadHandler>> RELOAD_HANDLERS = + new EnumMap<>(AmmunitionCrateMode.class); + private static final Map RELOAD_CONTEXTS = new WeakHashMap<>(); + private static final Map MOUNTED_RELOAD_SOURCES = new WeakHashMap<>(); + + /** + * Registers default Immersive Intelligence ammunition crate modes. + */ + public static void init() + { + registerReloadHandler(AmmunitionCrateMode.REVOLVER, + stack -> stack.getItem() instanceof ItemRevolver||stack.getItem() instanceof ItemSpeedloader, + AmmunitionCrateHandler::reloadRevolver); + + registerGunHandler(AmmunitionCrateMode.SUBMACHINEGUN, stack -> stack.getItem() instanceof ItemIISubmachinegun); + registerGunHandler(AmmunitionCrateMode.ASSAULT_RIFLE, + stack -> stack.getItem() instanceof ItemIIAssaultRifle&&ItemNBTHelper.getInt(stack, ItemIIAssaultRifle.FIRE_MODE) < 2); + registerGunHandler(AmmunitionCrateMode.RIFLE_BULLETS, + stack -> stack.getItem() instanceof ItemIIRifle&&!((ItemIIRifle)stack.getItem()).hasIIUpgrade(stack, WeaponUpgrade.SEMI_AUTOMATIC)); + registerGunHandler(AmmunitionCrateMode.RIFLE_MAGAZINES, + stack -> stack.getItem() instanceof ItemIIRifle&&((ItemIIRifle)stack.getItem()).hasIIUpgrade(stack, WeaponUpgrade.SEMI_AUTOMATIC)); + + registerMagazineHandler(AmmunitionCrateMode.SUBMACHINEGUN, Magazines.SUBMACHINEGUN, Magazines.SUBMACHINEGUN_DRUM); + registerMagazineHandler(AmmunitionCrateMode.ASSAULT_RIFLE, Magazines.ASSAULT_RIFLE); + registerMagazineHandler(AmmunitionCrateMode.RIFLE_MAGAZINES, Magazines.RIFLE); + registerMagazineHandler(AmmunitionCrateMode.MACHINEGUN_MAGAZINES, Magazines.MACHINEGUN); + } + + /** + * Registers a right-click reload handler for a crate mode. + */ + public static void registerReloadHandler(AmmunitionCrateMode mode, Predicate predicate, ReloadHandler handler) + { + RELOAD_HANDLERS.computeIfAbsent(mode, ignored -> new LinkedHashMap<>()).put(predicate, handler); + } + + /** + * Tests whether a stack can be stored in a physical crate slot. + */ + public static boolean isStackValid(AmmunitionCrateMode mode, int slot, ItemStack stack) + { + if(slot >= ContainerAmmunitionCrate.AMMUNITION_START + &&slot < ContainerAmmunitionCrate.AMMUNITION_START+ContainerAmmunitionCrate.AMMUNITION_COUNT) + return mode.isAmmunition(stack); + + if(slot >= ContainerAmmunitionCrate.SPENT_START + &&slot < ContainerAmmunitionCrate.SPENT_START+ContainerAmmunitionCrate.SPENT_COUNT) + { + if(mode.hasSpentMagazineSlots()&&slot >= ContainerAmmunitionCrate.SPENT_MAGAZINE_START) + return mode.isSpentMagazine(stack); + return mode.isSpentCasing(stack); + } + + if(slot >= ContainerAmmunitionCrate.REVOLVER_PATTERN_START&&slot < ContainerAmmunitionCrate.INVENTORY_SIZE) + return mode==AmmunitionCrateMode.REVOLVER&&mode.isPatternAmmunition(stack); + return false; + } + + /** + * Tests whether the open crate can handle the held item. + */ + public static boolean canReload(AmmunitionCrateMode mode, ItemStack stack) + { + LinkedHashMap, ReloadHandler> handlers = RELOAD_HANDLERS.get(mode); + return handlers!=null&&handlers.keySet().stream().anyMatch(predicate -> predicate.test(stack)); + } + + /** + * Starts a registered reload action for the held item. + */ + public static boolean reload(TileEntityAmmunitionCrate crate, EntityPlayer player, EnumHand hand) + { + ItemStack held = player.getHeldItem(hand); + LinkedHashMap, ReloadHandler> handlers = RELOAD_HANDLERS.get(crate.mode); + if(handlers==null) + return false; + + for(Map.Entry, ReloadHandler> entry : handlers.entrySet()) + if(entry.getKey().test(held)) + return entry.getValue().reload(crate, player, hand, held); + return false; + } + + /** + * Tests whether the inserter can service an entity now. + */ + public static boolean canAutomate(TileEntityAmmunitionCrate crate, Entity entity) + { + if(entity instanceof EntityPlayer player) + return canAutomatePlayer(crate, player); + if(entity instanceof EntityMachinegun machinegun) + return canAutomateMachinegun(crate, machinegun); + return false; + } + + /** + * Starts one inserter reload action. + */ + public static boolean reloadAutomatically(TileEntityAmmunitionCrate crate, Entity entity) + { + if(entity instanceof EntityPlayer player) + { + ItemStack weapon = player.getHeldItemMainhand(); + if(hasReloadContext(player, weapon)||!canAutomatePlayer(crate, player)) + return false; + return reload(crate, player, EnumHand.MAIN_HAND); + } + if(entity instanceof EntityMachinegun machinegun) + return reloadMountedMachinegun(crate, machinegun); + return false; + } + + /** + * Gets the current inserter travel for the active reload action. + */ + public static float getAutomaticReloadProgress(Entity entity, float partialTicks) + { + if(entity instanceof EntityPlayer player) + { + ItemStack weapon = player.getHeldItemMainhand(); + if(weapon.getItem() instanceof ItemIIGunBase gun) + { + EasyNBT nbt = EasyNBT.wrapNBT(weapon); + int reloading = nbt.getInt(ItemIIGunBase.RELOADING); + if(reloading <= 0) + return 0; + + AmmoHandler ammoHandler = gun.getAmmoHandler(weapon); + ItemStack loaded = ammoHandler instanceof AmmoHandlerMagazine magazineHandler? + magazineHandler.getLoadedMagazine(nbt): ItemStack.EMPTY; + int reloadTime = Math.max(1, gun.getReloadTime(weapon, loaded, EasyNBT.wrapNBT(gun.getUpgrades(weapon)))); + return pingPong(MathHelper.clamp((reloading+partialTicks)/reloadTime, 0f, 1f)); + } + if(weapon.getItem() instanceof ItemRevolver) + { + int maxReload = Math.max(1, Math.round(30*Tools.ammunitionCrateResupplyTime)); + return pingPong(MathHelper.clamp(ItemNBTHelper.getInt(weapon, "reload")/(float)maxReload, 0f, 1f)); + } + } + else if(entity instanceof EntityMachinegun machinegun) + { + GunAmmoProviderMagazine provider = getActiveMachinegunMagazine(machinegun); + if(provider!=null&&provider.isReloading()) + return pingPong(provider.getLoadingProgress(partialTicks)); + } + return 0; + } + + /** + * Returns ammunition reserved for an active crate reload. + */ + public static ItemStack findReloadAmmunition(Entity entity, ItemStack target, Predicate predicate) + { + ReloadContext context = getContext(entity, target); + if(context==null) + return entity.world.isRemote?getClientReloadPreview(target, predicate): ItemStack.EMPTY; + + if(!context.reserved.isEmpty()) + { + if(predicate.test(context.reserved)) + return context.reserved; + context.returnReserved(); + } + + context.reserved = context.crate.extractAmmunition(predicate); + context.setPreview(context.reserved); + return context.reserved; + } + + /** + * Returns true if an entity currently reloads the specified item from a crate. + */ + public static boolean hasReloadContext(Entity entity, ItemStack target) + { + return getContext(entity, target)!=null; + } + + /** + * Tests whether the entity has a server reload context or a synced client preview. + */ + public static boolean hasReloadSource(Entity entity, ItemStack target) + { + return hasReloadContext(entity, target) + ||(entity.world.isRemote&&EasyNBT.wrapNBT(target).getBoolean(KEY_CRATE_RELOAD)); + } + + /** + * Returns an unloaded magazine to the crate when possible. + */ + public static boolean returnReloadedMagazine(Entity entity, ItemStack target, ItemStack magazine) + { + ReloadContext context = getContext(entity, target); + if(context==null||magazine.isEmpty()) + return false; + + context.deferReturnedMagazine(magazine); + magazine.setCount(0); + return true; + } + + /** + * Tests whether a magazine-fed gun must continue after its unload stage. + */ + public static boolean shouldContinueGunReload(Entity entity, ItemStack weapon, AmmoHandler handler, EasyNBT nbt) + { + if(!(handler instanceof AmmoHandlerMagazine)||handler.canFire(weapon, nbt)) + return false; + + ReloadContext context = getContext(entity, weapon); + if(context!=null) + return context.crate.hasAmmunition(stack -> handler.isValidAmmo(weapon, stack)); + return entity.world.isRemote + &&!getClientReloadPreview(weapon, stack -> handler.isValidAmmo(weapon, stack)).isEmpty(); + } + + /** + * Ends a crate-backed reload and returns reserved items. + */ + public static void finishReload(Entity entity, ItemStack target) + { + ReloadContext context = getContext(entity, target); + if(context==null) + return; + context.finish(); + RELOAD_CONTEXTS.remove(entity); + } + + /** + * Finds a machinegun magazine from a direct or inserter crate source. + */ + @Nullable + public static ItemStack findMountedMagazine(Entity gun, Magazines expected) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_MAGAZINES, true); + if(crate==null) + return null; + return crate.findAmmunition(stack -> isMagazine(stack, expected)&&!IIContent.itemBulletMagazine.hasNoBullets(stack)); + } + + /** + * Removes a magazine that was loaded into a mounted machinegun. + */ + public static boolean consumeMountedMagazine(Entity gun, ItemStack magazine) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_MAGAZINES, false); + boolean consumed = crate!=null&&crate.removeAmmunitionStack(magazine); + finishMountedLoadSource(gun); + return consumed; + } + + /** + * Marks a crate-backed magazine change as dirty. + */ + public static void markMountedMagazineChanged(Entity gun) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_MAGAZINES, false); + if(crate!=null) + crate.markDirty(); + finishMountedLoadSource(gun); + } + + /** + * Returns a mounted machinegun magazine to its Ammunition Crate. + */ + public static boolean returnMountedMagazine(Entity gun, Magazines expected, ItemStack magazine) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_MAGAZINES, false); + if(crate==null||!isMagazine(magazine, expected)) + return false; + return crate.insertReturnedMagazine(magazine.copy()).isEmpty(); + } + + /** + * Extracts one belt-fed machinegun round from an adjacent crate. + */ + public static ItemStack extractMountedBullet(Entity gun) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_BELT_FED, false); + return crate==null?ItemStack.EMPTY: crate.extractAmmunition(AmmunitionCrateHandler::isMachinegunRound); + } + + /** + * Tests whether an adjacent belt-fed crate has ammunition. + */ + public static boolean hasMountedBullet(Entity gun) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_BELT_FED, false); + return crate!=null&&crate.hasAmmunition(AmmunitionCrateHandler::isMachinegunRound); + } + + /** + * Gets belt-fed ammunition for rendering. + */ + public static NonNullList getMountedAmmunition(Entity gun) + { + TileEntityAmmunitionCrate crate = getMountedCrate(gun, AmmunitionCrateMode.MACHINEGUN_BELT_FED, false); + return crate==null?NonNullList.create(): crate.getAmmunitionStacks(); + } + + private static boolean canAutomatePlayer(TileEntityAmmunitionCrate crate, EntityPlayer player) + { + ItemStack weapon = player.getHeldItemMainhand(); + if(!canReload(crate.mode, weapon)) + return false; + ReloadContext reloadContext = getContext(player, weapon); + if(reloadContext!=null) + return reloadContext.crate==crate; + + if(weapon.getItem() instanceof ItemIIGunBase gun) + { + AmmoHandler handler = gun.getAmmoHandler(weapon); + EasyNBT nbt = EasyNBT.wrapNBT(weapon); + if(handler.canFire(weapon, nbt)) + return false; + + if(handler instanceof AmmoHandlerMagazine magazineHandler&&!magazineHandler.getLoadedMagazine(nbt).isEmpty()) + return true; + return crate.hasAmmunition(stack -> handler.isValidAmmo(weapon, stack)); + } + return weapon.getItem() instanceof ItemRevolver&&needsRevolverReload(crate, weapon); + } + + private static boolean canAutomateMachinegun(TileEntityAmmunitionCrate crate, EntityMachinegun machinegun) + { + if(crate.mode!=AmmunitionCrateMode.MACHINEGUN_MAGAZINES||machinegun.upgrades.contains(WeaponUpgrade.BELT_FED_LOADER)) + return false; + + GunAmmoProviderMagazine provider = getActiveMachinegunMagazine(machinegun); + if(provider==null) + return false; + if(provider.isReloading()) + { + MountedReloadSource source = MOUNTED_RELOAD_SOURCES.get(machinegun); + return source!=null&&source.crate==crate; + } + if(provider.isLoaded()) + { + ItemStack loaded = provider.getLoadedStack(); + boolean emptyMagazine = !loaded.isEmpty()&&IIContent.itemBulletMagazine.hasNoBullets(loaded); + if(!emptyMagazine) + clearMountedReloadSource(machinegun, crate); + return emptyMagazine; + } + return provider.isEmpty()&&crate.hasAmmunition(stack -> isLiveMagazine(stack, Magazines.MACHINEGUN)); + } + + private static boolean reloadMountedMachinegun(TileEntityAmmunitionCrate crate, EntityMachinegun machinegun) + { + if(!canAutomateMachinegun(crate, machinegun)) + return false; + + GunAmmoProviderMagazine provider = getActiveMachinegunMagazine(machinegun); + if(provider==null||provider.isReloading()) + return false; + + MountedReloadSource source = MOUNTED_RELOAD_SOURCES.computeIfAbsent(machinegun, ignored -> new MountedReloadSource()); + source.crate = crate; + source.loadingAuthorized = provider.isEmpty(); + boolean started = provider.startReloading(); + if(started) + machinegun.updateEntityForEvent(SyncEvents.ENTITY_CUSTOM1); + return started; + } + + @Nullable + private static GunAmmoProviderMagazine getActiveMachinegunMagazine(EntityMachinegun machinegun) + { + if(machinegun.upgrades.contains(WeaponUpgrade.BELT_FED_LOADER)) + return null; + return machinegun.upgrades.contains(WeaponUpgrade.SECOND_MAGAZINE)?machinegun.loadingMagazine2: machinegun.loadingMagazine1; + } + + private static boolean needsRevolverReload(TileEntityAmmunitionCrate crate, ItemStack weapon) + { + IItemHandler bulletHandler = weapon.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + if(bulletHandler==null) + return false; + + int chambers = Math.min(ContainerAmmunitionCrate.REVOLVER_PATTERN_COUNT, bulletHandler.getSlots()); + for(int chamber = 0; chamber < chambers; chamber++) + { + ItemStack required = crate.getInventory().get(ContainerAmmunitionCrate.REVOLVER_PATTERN_START+chamber); + if(required.isEmpty()) + continue; + ItemStack loaded = bulletHandler.getStackInSlot(chamber); + if((loaded.isEmpty()||isRevolverCasing(loaded)||!stacksMatch(loaded, required)) + &&crate.hasAmmunition(stack -> stacksMatch(stack, required))) + return true; + } + return false; + } + + @Nullable + private static ReloadContext getContext(Entity entity, ItemStack target) + { + ReloadContext context = RELOAD_CONTEXTS.get(entity); + return context!=null&&context.matches(target)?context: null; + } + + private static void beginReload(TileEntityAmmunitionCrate crate, Entity entity, ItemStack target, Predicate ammunition) + { + ReloadContext previous = RELOAD_CONTEXTS.remove(entity); + if(previous!=null) + previous.finish(); + + ReloadContext context = new ReloadContext(crate, entity, target); + context.setPreview(crate.findAmmunition(ammunition)); + RELOAD_CONTEXTS.put(entity, context); + } + + public static ItemStack getClientReloadPreview(ItemStack target, Predicate predicate) + { + EasyNBT nbt = EasyNBT.wrapNBT(target); + if(!nbt.getBoolean(KEY_CRATE_RELOAD)) + return ItemStack.EMPTY; + ItemStack preview = nbt.getItemStack(KEY_CRATE_RELOAD_PREVIEW); + return !preview.isEmpty()&&predicate.test(preview)?preview: ItemStack.EMPTY; + } + + public static void registerGunHandler(AmmunitionCrateMode mode, Predicate predicate) + { + registerReloadHandler(mode, predicate, (crate, player, hand, stack) -> { + ItemIIGunBase gun = (ItemIIGunBase)stack.getItem(); + AmmoHandler handler = gun.getAmmoHandler(stack); + beginReload(crate, player, stack, ammo -> handler.isValidAmmo(stack, ammo)); + gun.startReload(stack); + return true; + }); + } + + public static void registerMagazineHandler(AmmunitionCrateMode mode, Magazines... magazines) + { + registerReloadHandler(mode, + stack -> stack.getItem()==IIContent.itemBulletMagazine&&isMagazine(stack, magazines), + (crate, player, hand, stack) -> { + Magazines magazine = IIContent.itemBulletMagazine.stackToSub(stack); + beginReload(crate, player, stack, + ammo -> ammo.getItem()==magazine.ammo&&!magazine.ammo.isBulletCore(ammo)); + ((ItemIIBulletMagazine)stack.getItem()).startReload(stack); + return true; + }); + } + + static boolean reloadRevolver(TileEntityAmmunitionCrate crate, EntityPlayer player, EnumHand hand, ItemStack held) + { + if(!(held.getItem() instanceof IBulletContainer)) + return false; + + if(held.getItem() instanceof ItemRevolver) + ItemNBTHelper.setInt(held, "reload", Math.round(30*Tools.ammunitionCrateResupplyTime)); + + IItemHandler bulletHandler = held.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + if(bulletHandler==null) + return false; + + int chambers = Math.min(ContainerAmmunitionCrate.REVOLVER_PATTERN_COUNT, bulletHandler.getSlots()); + for(int chamber = 0; chamber < chambers; chamber++) + { + ItemStack unloaded = bulletHandler.extractItem(chamber, 1, false); + if(unloaded.isEmpty()) + continue; + + ItemStack remainder = isRevolverCasing(unloaded)?crate.insertSpentCasing(unloaded): crate.insertAmmunition(unloaded); + giveBack(player, remainder); + } + + for(int chamber = 0; chamber < chambers; chamber++) + { + ItemStack required = crate.getInventory().get(ContainerAmmunitionCrate.REVOLVER_PATTERN_START+chamber); + if(required.isEmpty()) + continue; + + ItemStack round = crate.extractAmmunition(stack -> stacksMatch(stack, required)); + if(round.isEmpty()) + continue; + + ItemStack remainder = bulletHandler.insertItem(chamber, round, false); + if(!remainder.isEmpty()) + giveBack(player, crate.insertAmmunition(remainder)); + } + + crate.markDirty(); + return true; + } + + static void giveBack(EntityPlayer player, ItemStack stack) + { + if(stack.isEmpty()) + return; + if(!player.inventory.addItemStackToInventory(stack)) + player.dropItem(stack, false); + } + + @Nullable + static TileEntityAmmunitionCrate getMountedCrate(Entity gun, AmmunitionCrateMode mode, boolean loading) + { + if(!(gun instanceof EntityMachinegun machinegun)) + return null; + + if(mode==AmmunitionCrateMode.MACHINEGUN_MAGAZINES) + { + MountedReloadSource source = MOUNTED_RELOAD_SOURCES.get(machinegun); + TileEntityAmmunitionCrate inserterCrate = source==null?null: source.crate; + if(inserterCrate!=null) + { + if(!inserterCrate.isInvalid() + &&inserterCrate.mode==mode + &&inserterCrate.isUpgradeInstalled(IIContent.UPGRADE_INSERTER) + &&inserterCrate.isInserterTargetInRange(machinegun) + &&(!loading||source.loadingAuthorized)) + return inserterCrate; + MOUNTED_RELOAD_SOURCES.remove(machinegun); + } + } + + EnumFacing rear = EnumFacing.fromAngle(machinegun.aim.getCenterYaw()).getOpposite(); + TileEntity tile = gun.world.getTileEntity(gun.getPosition().offset(rear).down()); + if(!(tile instanceof TileEntityAmmunitionCrate crate)||crate.mode!=mode||!crate.lid.isFullyOpened()) + return null; + + //The inserter occupies the direct belt feed path. + if(mode==AmmunitionCrateMode.MACHINEGUN_BELT_FED&&crate.isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) + return null; + return crate; + } + + static void finishMountedLoadSource(Entity gun) + { + if(gun instanceof EntityMachinegun machinegun) + { + MountedReloadSource source = MOUNTED_RELOAD_SOURCES.get(machinegun); + if(source!=null) + source.loadingAuthorized = false; + } + } + + static void clearMountedReloadSource(EntityMachinegun machinegun, TileEntityAmmunitionCrate crate) + { + MountedReloadSource source = MOUNTED_RELOAD_SOURCES.get(machinegun); + if(source!=null&&source.crate==crate) + MOUNTED_RELOAD_SOURCES.remove(machinegun); + } + + static Predicate casingPredicate(IAmmoTypeItem ammo) + { + ItemStack casing = ammo.getCasingStack(1); + return stack -> stacksMatch(stack, casing); + } + + static boolean isLooseRound(ItemStack stack, IAmmoTypeItem ammo) + { + return stack.getItem()==ammo&&!ammo.isBulletCore(stack); + } + + static boolean isMachinegunRound(ItemStack stack) + { + return isLooseRound(stack, IIContent.itemAmmoMachinegun); + } + + static boolean isLiveMagazine(ItemStack stack, Magazines... magazines) + { + return isMagazine(stack, magazines)&&!IIContent.itemBulletMagazine.hasNoBullets(stack); + } + + static boolean isSpentMagazine(ItemStack stack, Magazines... magazines) + { + return isMagazine(stack, magazines)&&IIContent.itemBulletMagazine.hasNoBullets(stack); + } + + static boolean isMagazine(ItemStack stack, Magazines... magazines) + { + if(stack.getItem()!=IIContent.itemBulletMagazine) + return false; + Magazines type = IIContent.itemBulletMagazine.stackToSub(stack); + for(Magazines magazine : magazines) + if(type==magazine) + return true; + return false; + } + + static boolean isRevolverRound(ItemStack stack) + { + return stack.getItem() instanceof ItemBullet + &&!stack.isItemEqual(BulletHandler.emptyCasing) + &&!stack.isItemEqual(BulletHandler.emptyShell); + } + + static boolean isRevolverCasing(ItemStack stack) + { + return stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell); + } + + static boolean stacksMatch(ItemStack first, ItemStack second) + { + return !first.isEmpty()&&!second.isEmpty() + &&first.isItemEqual(second) + &&ItemStack.areItemStackTagsEqual(first, second); + } + + static float pingPong(float progress) + { + return 1f-Math.abs(MathHelper.clamp(progress, 0f, 1f)*2f-1f); + } + +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateMode.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateMode.java new file mode 100644 index 000000000..451fac6c1 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateMode.java @@ -0,0 +1,113 @@ +package pl.pabilo8.immersiveintelligence.api.ammocrate; + +import blusunrize.immersiveengineering.common.items.ItemSpeedloader; +import lombok.RequiredArgsConstructor; +import net.minecraft.item.ItemStack; +import pl.pabilo8.immersiveintelligence.common.IIContent; +import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIBulletMagazine.Magazines; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; +import pl.pabilo8.immersiveintelligence.common.util.ILocalizedEnum; + +import java.util.function.Predicate; + +/** + * Defines storage rules for one Ammunition Crate mode. + */ +@RequiredArgsConstructor +public enum AmmunitionCrateMode implements ILocalizedEnum +{ + REVOLVER( + AmmunitionCrateHandler::isRevolverRound, + AmmunitionCrateHandler::isRevolverCasing, + stack -> stack.getItem() instanceof ItemSpeedloader, + true + ), + SUBMACHINEGUN( + stack -> AmmunitionCrateHandler.isLooseRound(stack, IIContent.itemAmmoSubmachinegun) + ||AmmunitionCrateHandler.isLiveMagazine(stack, Magazines.SUBMACHINEGUN, Magazines.SUBMACHINEGUN_DRUM), + AmmunitionCrateHandler.casingPredicate(IIContent.itemAmmoSubmachinegun), + stack -> AmmunitionCrateHandler.isSpentMagazine(stack, Magazines.SUBMACHINEGUN, Magazines.SUBMACHINEGUN_DRUM), + true + ), + ASSAULT_RIFLE( + stack -> AmmunitionCrateHandler.isLooseRound(stack, IIContent.itemAmmoAssaultRifle)||AmmunitionCrateHandler.isLiveMagazine(stack, Magazines.ASSAULT_RIFLE), + AmmunitionCrateHandler.casingPredicate(IIContent.itemAmmoAssaultRifle), + stack -> AmmunitionCrateHandler.isSpentMagazine(stack, Magazines.ASSAULT_RIFLE), + true + ), + RIFLE_BULLETS( + stack -> AmmunitionCrateHandler.isLooseRound(stack, IIContent.itemAmmoMachinegun), + AmmunitionCrateHandler.casingPredicate(IIContent.itemAmmoMachinegun), + stack -> false, + false + ), + RIFLE_MAGAZINES( + stack -> AmmunitionCrateHandler.isLooseRound(stack, IIContent.itemAmmoMachinegun)||AmmunitionCrateHandler.isLiveMagazine(stack, Magazines.RIFLE), + AmmunitionCrateHandler.casingPredicate(IIContent.itemAmmoMachinegun), + stack -> AmmunitionCrateHandler.isSpentMagazine(stack, Magazines.RIFLE), + true + ), + MACHINEGUN_MAGAZINES( + stack -> AmmunitionCrateHandler.isLooseRound(stack, IIContent.itemAmmoMachinegun)||AmmunitionCrateHandler.isLiveMagazine(stack, Magazines.MACHINEGUN), + AmmunitionCrateHandler.casingPredicate(IIContent.itemAmmoMachinegun), + stack -> AmmunitionCrateHandler.isSpentMagazine(stack, Magazines.MACHINEGUN), + true + ), + MACHINEGUN_BELT_FED( + stack -> AmmunitionCrateHandler.isLooseRound(stack, IIContent.itemAmmoMachinegun), + AmmunitionCrateHandler.casingPredicate(IIContent.itemAmmoMachinegun), + stack -> false, + false + ); + + private final Predicate ammunition; + private final Predicate spentCasing; + private final Predicate spentMagazine; + private final boolean spentMagazineSlots; + + /** + * @return true if the stack is usable ammunition + */ + public boolean isAmmunition(ItemStack stack) + { + return ammunition.test(stack); + } + + /** + * @return true if the stack can be used by the Revolver pattern + */ + public boolean isPatternAmmunition(ItemStack stack) + { + return this==REVOLVER&&AmmunitionCrateHandler.isRevolverRound(stack); + } + + /** + * @return true if the stack is a spent casing + */ + public boolean isSpentCasing(ItemStack stack) + { + return spentCasing.test(stack); + } + + /** + * @return true if the stack is a spent magazine + */ + public boolean isSpentMagazine(ItemStack stack) + { + return spentMagazine.test(stack); + } + + /** + * @return true if the mode has separate spent-magazine slots + */ + public boolean hasSpentMagazineSlots() + { + return spentMagazineSlots; + } + + @Override + public String geLocaleKey() + { + return IIReference.GUI_LABEL_KEY+"ammunition_crate.mode."; + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/MountedReloadSource.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/MountedReloadSource.java new file mode 100644 index 000000000..cbb69ff85 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/MountedReloadSource.java @@ -0,0 +1,14 @@ +package pl.pabilo8.immersiveintelligence.api.ammocrate; + +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; + +/** + * @author Pabilo8 (pabilo@iiteam.net) + * @ii-approved 0.3.1 + * @since 11.08.2026 + */ +public class MountedReloadSource +{ + public TileEntityAmmunitionCrate crate; + public boolean loadingAuthorized; +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadContext.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadContext.java new file mode 100644 index 000000000..511ba1eb7 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadContext.java @@ -0,0 +1,78 @@ +package pl.pabilo8.immersiveintelligence.api.ammocrate; + +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import pl.pabilo8.immersiveintelligence.common.IIUtils; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Pabilo8 (pabilo@iiteam.net) + * @ii-approved 0.3.1 + * @since 11.08.2026 + */ +public class ReloadContext +{ + public final TileEntityAmmunitionCrate crate; + public final Entity owner; + public final ItemStack target; + public final List returnedMagazines = new ArrayList<>(); + public ItemStack reserved = ItemStack.EMPTY; + + public ReloadContext(TileEntityAmmunitionCrate crate, Entity owner, ItemStack target) + { + this.crate = crate; + this.owner = owner; + this.target = target; + } + + boolean matches(ItemStack stack) + { + return target==stack; + } + + void setPreview(ItemStack stack) + { + EasyNBT nbt = EasyNBT.wrapNBT(target).withBoolean(AmmunitionCrateHandler.KEY_CRATE_RELOAD, true); + if(stack.isEmpty()) + nbt.without(AmmunitionCrateHandler.KEY_CRATE_RELOAD_PREVIEW); + else + nbt.withItemStack(AmmunitionCrateHandler.KEY_CRATE_RELOAD_PREVIEW, stack.copy()); + } + + void clearPreview() + { + EasyNBT.wrapNBT(target).without(AmmunitionCrateHandler.KEY_CRATE_RELOAD, AmmunitionCrateHandler.KEY_CRATE_RELOAD_PREVIEW); + } + + void deferReturnedMagazine(ItemStack magazine) + { + returnedMagazines.add(magazine.copy()); + } + + void returnReserved() + { + if(reserved.isEmpty()) + return; + ItemStack remainder = crate.insertAmmunition(reserved); + if(!remainder.isEmpty()) + IIUtils.giveOrDropCasingStack(owner, remainder); + reserved = ItemStack.EMPTY; + } + + void finish() + { + returnReserved(); + for(ItemStack magazine : returnedMagazines) + { + ItemStack remainder = crate.insertReturnedMagazine(magazine); + if(!remainder.isEmpty()) + IIUtils.giveOrDropCasingStack(owner, remainder); + } + returnedMagazines.clear(); + clearPreview(); + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadHandler.java new file mode 100644 index 000000000..6bc194097 --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/ReloadHandler.java @@ -0,0 +1,22 @@ +package pl.pabilo8.immersiveintelligence.api.ammocrate; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumHand; +import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; + +/** + * @author Pabilo8 (pabilo@iiteam.net) + * @ii-approved 0.3.1 + * @since 11.08.2026 + */ +@FunctionalInterface +public interface ReloadHandler +{ + /** + * Starts a reload action. + * + * @return true if the action was accepted + */ + boolean reload(TileEntityAmmunitionCrate crate, EntityPlayer player, EnumHand hand, ItemStack held); +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiAmmunitionCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiAmmunitionCrate.java index d1247dacd..6064fb78e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiAmmunitionCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiAmmunitionCrate.java @@ -1,25 +1,37 @@ package pl.pabilo8.immersiveintelligence.client.gui.block; - import net.minecraft.entity.player.EntityPlayer; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateMode; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoDropdown; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoElementDisplays; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.label.DecoLabel; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.label.DecoTitleLabel; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.DecoGuiCategory; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.DecoTemplate; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.DecoTextures; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.SlotStyle; -import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; import pl.pabilo8.immersiveintelligence.common.gui.ContainerAmmunitionCrate; import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; /** + * Displays mode-dependent ammunition, casing, magazine, and revolver-pattern slots. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 13.08.2026 * @since 17.05.2019 */ @DecoTemplate(name = "ammunition_crate", category = DecoGuiCategory.GENERIC_TILE) public class GuiAmmunitionCrate extends DecoTileGui { + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public AmmunitionCrateMode mode; + public GuiAmmunitionCrate(EntityPlayer player, TileEntityAmmunitionCrate tile) { super(player, tile, IIGUI.AMMUNITION_CRATE); @@ -28,32 +40,55 @@ public GuiAmmunitionCrate(EntityPlayer player, TileEntityAmmunitionCrate tile) @Override public void onInit() { + this.mode = tile.mode; + this.container.refreshSlots(mode); + final IIColor backgroundColor = IIColor.fromPackedRGB(0xd0ebc2); startBackground() - .withBox(DecoTextures.BG_STEEL_ROUGH, DecoTextures.TEMPLATE_ROUND, 0, 0, 176, 126+8, backgroundColor) + .withBox(DecoTextures.BG_STEEL_ROUGH, DecoTextures.TEMPLATE_ROUND, 0, 0, 224, 160, backgroundColor) .withTitleBar(tile) - .conditionally(tile.isUpgradeInstalled(IIContent.UPGRADE_MG_LOADER), builder -> builder - .withNextLayer() - .withBox(DecoTextures.BG_STEEL_ROUGH, DecoTextures.TEMPLATE_ROUND, 176, 0, 48, 126+8, backgroundColor) - .withInventorySlots(SlotStyle.VANILLA, container.inputMG) - ) + .withInventorySlots(SlotStyle.VANILLA, container.inputAmmunition) + .withInventorySlots(SlotStyle.VANILLA, container.revolverPattern) + .withInventorySlots(SlotStyle.VANILLA, container.spentCasings) + .withInventorySlots(SlotStyle.VANILLA, container.spentMagazines) .withNextLayer() - .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 0, 126+8, 176, 92) + .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 24, 160, 176, 92) .withInventorySlots(SlotStyle.VANILLA, container.playerInventory) - .withInventorySlots(SlotStyle.VANILLA, container.inputRevolver) - .withInventorySlots(SlotStyle.VANILLA, container.inputBullet) - .withInventorySlots(SlotStyle.VANILLA, container.inputShell) .withInventoryTitleBar() .build(); + boolean separateMagazines = mode!=AmmunitionCrateMode.REVOLVER&&mode.hasSpentMagazineSlots(); + addLabel(new DecoTitleLabel(this.fontRenderer, mode==AmmunitionCrateMode.REVOLVER?8: 58, 30-2) + .withBackgroundLocation(DecoTextures.LABEL_WOODEN) + .withText(IIReference.GUI_LABEL_KEY+"ammunition_crate.section.ammunition") + .pack() + ); + addLabel(new DecoTitleLabel(this.fontRenderer, separateMagazines?11: (mode==AmmunitionCrateMode.REVOLVER?8: 22), 106-2) + .withBackgroundLocation(DecoTextures.LABEL_WOODEN) + .withText(IIReference.GUI_LABEL_KEY+"ammunition_crate.section.spent_casings") + .pack() + ); + if(separateMagazines) + addLabel(new DecoTitleLabel(this.fontRenderer, xSize/2+6, 106-2) + .withBackgroundLocation(DecoTextures.LABEL_WOODEN) + .withText(IIReference.GUI_LABEL_KEY+"ammunition_crate.section.spent_magazines") + .pack() + ); + DecoLabel modeLabel = addLabel(IIReference.GUI_LABEL_KEY+"ammunition_crate.mode", 6, 10+3).pack(); + int labelWidth = modeLabel.getWidth(); + addComponent(new DecoDropdown(6+labelWidth+2, 10) + .withSize(xSize-6-labelWidth-2-6, 16) + .withEntries(AmmunitionCrateMode.values()) + .withSelectedEntry(mode) + .withDisplayFunction(DecoElementDisplays.getSimpleTextDisplay(AmmunitionCrateMode::getLocalizedName)) + .withOnSelectedEntry((oldMode, newMode) -> { + if(newMode==null||newMode==mode) + return; - /*addComponents( - - new DecoImage(0, -45) - .withSize(175, 132) - .withImageLocation(TEXTURE_AMMO, true) - .withUV(256, 0, 0, 175, 132) - );*/ + mode = newMode; + tile.mode = newMode; + refreshGUI(); + })); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java index 37a26973a..6577dc5c3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java @@ -3,7 +3,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoButton; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoCheckbox; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoBar; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoFluidTank; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoImage; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; @@ -11,130 +12,108 @@ import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityMedicalCrate; import pl.pabilo8.immersiveintelligence.common.gui.ContainerMedicalCrate; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIReference; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; /** + * * @author Pabilo8 (pabilo@iiteam.net) + * @author Avalon (avalon@iiteam.net) + * @implNote Class so breaking-proof, that it survived a magnetic storm during one of the edits. + * @updated 13.08.2026 + * @ii-approved 0.3.1 * @since 17.05.2019 */ -@DecoTemplate(name = "medicalcrate", category = DecoGuiCategory.GENERIC_TILE) +@DecoTemplate(name = "medical_crate", category = DecoGuiCategory.GENERIC_TILE) public class GuiMedicalCrate extends DecoTileGui { - - @DecoResource - public static final ResourceLocation TEXTURE_MED = IIReference.RES_II.with("gui/medical_crate"); - @DecoResource - public static final ResourceLocation SPEED = IIReference.RES_II.with("gui/deco/icons/icon_speed"); @DecoResource - public static final ResourceLocation HEAL = IIReference.RES_II.with("gui/deco/icons/icon_progress"); + public static final ResourceLocation TEXTURE = IIReference.RES_II.with("gui/medical_crate"); + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean shouldHeal; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean shouldBoost; public GuiMedicalCrate(EntityPlayer player, TileEntityMedicalCrate tile) { super(player, tile, IIGUI.MEDIC_CRATE); } - - /** - * @Override protected void actionPerformed(GuiButton button) - * { - * if(button==buttonHealing) - * { - * tile.shouldHeal = !tile.shouldHeal; - * buttonHealing.state = tile.shouldHeal; - * IIPacketHandler.sendToServer(new MessageBooleanAnimatedPartsSync(1, tile.shouldHeal, tile.getPos())); - * } - * else if(button==buttonBoost) - * { - * tile.shouldBoost = !tile.shouldBoost; - * buttonBoost.state = tile.shouldBoost; - * IIPacketHandler.sendToServer(new MessageBooleanAnimatedPartsSync(2, tile.shouldBoost, tile.getPos())); - * } - * } - **/ - boolean upgraded; - - @Override public void onInit() { - if(upgraded = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) - { - - startBackground() - .withBox(null, 0, 0, 176, 76) - .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 0, 76, 176, 92) - .withInventorySlots(SlotStyle.VANILLA, container.playerInventory) - .withInventorySlots(SlotStyle.IE_INPUT, container.inputSlot) - .withInventorySlots(SlotStyle.IE_INPUT, container.inputFluidSlot) - .withInventorySlots(SlotStyle.IE_OUTPUT, container.outputSlot) - .withInventorySlots(SlotStyle.IE_OUTPUT, container.outputSlot2) - .withInventoryTitleBar() - .build(); - - - addComponents( - - new DecoImage(15, 0) - .withSize(102, 79) - .withImageLocation(TEXTURE_MED, false) - .withUV(256, 102, 79, 10, 0), - - new DecoButton(20, 20) - .withIcon(SPEED, 16) - .withText("Speed Boost"), - - new DecoButton(20, 40) - .withIcon(HEAL, 16) - .withText("Healing"), - - new DecoFluidTank(46, 19) - .withSize(16, 47) - .withFluidTank(tile.tanks[0]), - - new DecoFluidTank(90, 19) - .withSize(16, 47) - .withFluidTank(tile.tanks[1]) - - //new DecoBar(161, -4) - //.withTemplate(DecoGuiUtils.BAR_ELECTRIC_ENERGY.apply(tile.energyStorage)) - //upgrade to check for in order to toggle alternative GUI - //public static final Upgrade UPGRADE_INSERTER = new Upgrade("inserter"); - - //putting notes here becuase storm may kill power while out - //need to have the buttons do the thing when pressed - //power bar for the upgrade (Do this for the ammo and repair crate (upgrade thing) if it works - ); - - } - else - { - startBackground() - .withBox(null, 0, 0, 176, 76) - .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 0, 76, 176, 92) - .withInventorySlots(SlotStyle.VANILLA, container.playerInventory) - .withInventorySlots(SlotStyle.IE_INPUT, container.inputSlot) - .withInventorySlots(SlotStyle.IE_INPUT, container.inputFluidSlot) - .withInventorySlots(SlotStyle.IE_OUTPUT, container.outputSlot) - .withInventorySlots(SlotStyle.IE_OUTPUT, container.outputSlot2) - .build(); - - + boolean upgrade = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); + final IIColor backgroundColor = IIColor.fromHex("a86465"); + startBackground() + .withBox(DecoTextures.BG_STEEL_ROUGH, DecoTextures.TEMPLATE_ROUND, 32, 0, 176-64, 76+12, backgroundColor) + .withFrame(DecoTextures.FRAME_STEEL, 6, false) + + .withInventorySlots(SlotStyle.IE_INPUT, container.inputSlot) + .withInventorySlots(SlotStyle.IE_INPUT, container.inputFluidSlot) + .withInventorySlots(SlotStyle.IE_OUTPUT, container.outputSlot) + .withInventorySlots(SlotStyle.IE_OUTPUT, container.outputSlot2) + + .withTitleBar(tile) + .withNextLayer() + + .conditionally(upgrade, builder -> builder + .withBox(DecoTextures.BG_STEEL, DecoTextures.TEMPLATE_SQUARE, 0, 87+8, 176, 24, backgroundColor) + ) + + .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 0, 87+8+(upgrade?24: 0), 176, 92) + .withInventorySlots(SlotStyle.VANILLA, container.playerInventory) + .withInventoryTitleBar() + .build(); + + addComponents( + //Display tanks + new DecoFluidTank(46-2, 19-2+4) + .withSize(16+4, 47+4+1) + .withFluidTank(tile.tanks[0]), + + new DecoFluidTank(90-2, 19-2+4) + .withSize(16+4, 47+4+1) + .withFluidTank(tile.tanks[1]), + + //Syringe tops + new DecoImage(46-2, 19-2-12+4) + .withSize(20, 12) + .withImageLocation(TEXTURE, true) + .withUV(32, 0, 0, 20, 12), + new DecoImage(90-2, 19-2-12+4) + .withSize(20, 12) + .withImageLocation(TEXTURE, true) + .withUV(32, 0, 0, 20, 12), + + //Syringe bottoms + new DecoImage(46-2, 19-2-12+4+48+4+12) + .withSize(20, 8) + .withImageLocation(TEXTURE, true) + .withUV(32, 0, 24, 20, 24+8), + new DecoImage(90-2, 19-2-12+4+48+4+12) + .withSize(20, 8) + .withImageLocation(TEXTURE, true) + .withUV(32, 0, 24, 20, 24+8) + ); + + if(upgrade) addComponents( - - new DecoImage(36, -2) - .withSize(101, 78) - .withImageLocation(TEXTURE_MED, true) - .withUV(256, 9, 0, 110, 78), - - new DecoFluidTank(46, 19) - .withSize(16, 47) - .withFluidTank(tile.tanks[0]), - - new DecoFluidTank(90, 19) - .withSize(16, 47) - .withFluidTank(tile.tanks[1]) + //Energy bar + new DecoBar(168-32-1, 4) + .withTemplate(DecoTemplates.BAR_ELECTRIC_ENERGY.apply(tile.energyStorage)), + new DecoCheckbox(3, 87+8+1) + .withText(IIReference.GUI_LABEL_KEY+"medical_crate.heal") + .withTextColor(IIReference.COLOR_GUI_BRASS, IIColor.WHITE) + .withChecked(this.shouldHeal = tile.shouldHeal) + .withOnToggle(value -> shouldHeal = value), + new DecoCheckbox(3, 87+8+11) + .withText(IIReference.GUI_LABEL_KEY+"medical_crate.boost") + .withTextColor(IIReference.COLOR_GUI_BRASS, IIColor.WHITE) + .withChecked(this.shouldBoost = tile.shouldBoost) + .withOnToggle(value -> shouldBoost = value) ); - } } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java index 5ea68306f..5004efb09 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java @@ -1,117 +1,71 @@ package pl.pabilo8.immersiveintelligence.client.gui.block; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ResourceLocation; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoImage; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoCheckbox; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoBar; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; +import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityRepairCrate; import pl.pabilo8.immersiveintelligence.common.gui.ContainerRepairCrate; import pl.pabilo8.immersiveintelligence.common.util.IIReference; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; /** * @author Pabilo8 (pabilo@iiteam.net) * @author Avalon (avalon@iiteam.net) + * @updated 13.08.2026 + * @ii-approved 0.3.1 * @since 17.05.2019 - * @since 24.10.2025 */ -@DecoTemplate(name = "repaircrate", category = DecoGuiCategory.GENERIC_TILE) +@DecoTemplate(name = "repair_crate", category = DecoGuiCategory.GENERIC_TILE) public class GuiRepairCrate extends DecoTileGui { - - @DecoResource - public static final ResourceLocation TEXTURE_REP = IIReference.RES_II.with("gui/repair_crate"); + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean shouldRepairArmor; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean shouldRepairVehicles; public GuiRepairCrate(EntityPlayer player, TileEntityRepairCrate tile) { super(player, tile, IIGUI.REPAIR_CRATE); } - @Override public void onInit() { + boolean upgrade = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); startBackground() - .withBox(null, 0, 0, 176, 76) - .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 0, 87, 176, 92) + .withBox(DecoTextures.BG_STEEL_ROUGH, 32, 0, 176-64, 76+12) + .withFrame(DecoTextures.FRAME_STEEL, 6, false) + .withInventorySlots(SlotStyle.VANILLA, container.slots) + .withTitleBar(tile) + .withNextLayer() + + .conditionally(upgrade, builder -> builder + .withBox(DecoTextures.BG_STEEL, DecoTextures.TEMPLATE_SQUARE, 0, 87+8, 176, 24) + ) + + .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 0, 87+8+(upgrade?24: 0), 176, 92) .withInventorySlots(SlotStyle.VANILLA, container.playerInventory) - .withInventorySlots(SlotStyle.IE_CUSTOM1, container.inputSlot) .withInventoryTitleBar() .build(); - - addComponents( - - new DecoImage(40, 10) - .withSize(101, 78) - .withImageLocation(TEXTURE_REP, true) - .withUV(256, 9, 0, 110, 78) - ); + if(upgrade) + addComponents( + //Energy bar + new DecoBar(168-32-1, 4) + .withTemplate(DecoTemplates.BAR_ELECTRIC_ENERGY.apply(tile.energyStorage)), + new DecoCheckbox(3, 87+8+1) + .withText(IIReference.GUI_LABEL_KEY+"repair_crate.repair_armor") + .withChecked(this.shouldRepairArmor = tile.shouldRepairArmor) + .withOnToggle(value -> shouldRepairArmor = value), + new DecoCheckbox(3, 87+8+11) + .withText(IIReference.GUI_LABEL_KEY+"repair_crate.repair_vehicles") + .withChecked(this.shouldRepairVehicles = tile.shouldRepairVehicles) + .withOnToggle(value -> shouldRepairVehicles = value) + ); } } -/** - * @Override public void initGui() - * { - * super.initGui(); - * addButton(buttonHealing = new GuiButtonState(0, guiLeft+111, guiTop+2, 28, 24, "", tile.shouldRepairArmor, TEXTURE, 176, 75, 0)); - * addButton(buttonBoost = new GuiButtonState(1, guiLeft+111, guiTop+24, 28, 24, "", tile.shouldRepairVehicles, TEXTURE, 176, 51, 0)); - *

    - * boolean upgraded = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); - * buttonHealing.visible = upgraded; - * buttonBoost.visible = upgraded; - * } - * @Override protected void actionPerformed(GuiButton button) - * { - * if(button==buttonHealing) - * { - * tile.shouldRepairArmor = !tile.shouldRepairArmor; - * buttonHealing.state = tile.shouldRepairArmor; - * IIPacketHandler.sendToServer(new MessageBooleanAnimatedPartsSync(1, tile.shouldRepairArmor, tile.getPos())); - * } - * else if(button==buttonBoost) - * { - * tile.shouldRepairVehicles = !tile.shouldRepairVehicles; - * buttonBoost.state = tile.shouldRepairVehicles; - * IIPacketHandler.sendToServer(new MessageBooleanAnimatedPartsSync(2, tile.shouldRepairVehicles, tile.getPos())); - * } - * } - * @Override public void drawScreen(int mouseX, int mouseY, float partialTicks) - * { - * super.drawScreen(mouseX, mouseY, partialTicks); - * boolean upgraded = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); - *

    - * if(upgraded) - * { - * ArrayList tooltip = new ArrayList<>(); - *

    - * if(IIMath.isPointInRectangle(buttonHealing.x, buttonHealing.y, buttonHealing.x+buttonHealing.width, buttonHealing.y+buttonHealing.height, mouseX, mouseY)) - * tooltip.add(I18n.format(IIReference.DESCRIPTION_KEY+"repair_crate.repair_armor")); - * else if(IIMath.isPointInRectangle(buttonBoost.x, buttonBoost.y, buttonBoost.x+buttonBoost.width, buttonBoost.y+buttonBoost.height, mouseX, mouseY)) - * tooltip.add(I18n.format(IIReference.DESCRIPTION_KEY+"repair_crate.repair_vehicles")); - *

    - * if(IIMath.isPointInRectangle(guiLeft+153, guiTop+24, guiLeft+153+7, guiTop+24+47, mouseX, mouseY)) - * tooltip.add(tile.energyStorage+"/"+EffectCrates.maxEnergyStored+" IF"); - *

    - * if(!tooltip.isEmpty()) - * { - * ClientUtils.drawHoveringText(tooltip, mouseX, mouseY, fontRenderer, guiLeft+xSize, -1); - * RenderHelper.enableGUIStandardItemLighting(); - * } - * } - *

    - * } - * @Override protected void drawGuiContainerBackgroundLayer(float f, int mx, int my) - * { - * boolean upgraded = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); - * int ww = upgraded?9: 36; - *

    - * GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - * ClientUtils.bindTexture(TEXTURE); - * this.drawTexturedModalRect(guiLeft, guiTop+79, 0, 79, xSize, ySize-79); - * this.drawTexturedModalRect(guiLeft+ww, guiTop, 9, 0, upgraded?167: 102, 79); - *

    - * IIClientUtils.drawPowerBar(guiLeft+153, guiTop+24, 7, 47, tile.energyStorage/(float)EffectCrates.maxEnergyStored); - * } - **/ - diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/label/DecoLabel.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/label/DecoLabel.java index 1149bf239..50c693b5e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/label/DecoLabel.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/label/DecoLabel.java @@ -1,5 +1,6 @@ package pl.pabilo8.immersiveintelligence.client.gui.deco.component.label; +import lombok.Getter; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiLabel; @@ -29,6 +30,7 @@ public class DecoLabel extends GuiLabel private DecoAlignment textAlignment = DecoAlignment.LEFT; private boolean forcedUnicode = false; private boolean textShadow = false; + @Getter private int totalHeight = 0; private boolean hovered; private boolean wrap = false; @@ -138,6 +140,25 @@ public DecoLabel withWrapping(boolean wrap) return this; } + /** + * Sets the label's size to the widest label in the collection. + * + * @return this + */ + public DecoLabel pack() + { + int minWidth = 0; + for(Object label : labels) + { + if(label instanceof String) + minWidth = Math.max(minWidth, fontRenderer.getStringWidth(((String)label))); + else + //noinspection unchecked + minWidth = Math.max(minWidth, fontRenderer.getStringWidth(((Supplier)label).get())); + } + return withSize(minWidth, totalHeight); + } + //--- Text Setting ---// public DecoLabel withText(String... text) @@ -217,9 +238,14 @@ private void recalculateHeight() //--- Getters ---// - public int getTotalHeight() + public int getWidth() + { + return width; + } + + public int getHeight() { - return totalHeight; + return height; } //--- Drawing ---// diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoBackgroundBuilder.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoBackgroundBuilder.java index 13e5a47bd..27fbad723 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoBackgroundBuilder.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoBackgroundBuilder.java @@ -29,6 +29,7 @@ import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -131,11 +132,28 @@ public DecoBackgroundBuilder withBox(ResLoc style, ResLoc mask, int x, int * @return this */ public DecoBackgroundBuilder withFrame(ResLoc imageLocation, int thickness, boolean cornersOnly, boolean[] frame) + { + return withFrame(imageLocation, thickness, cornersOnly, frame, null); + } + + + /** + * Sets the frame of the most recently added background tile + * + * @param imageLocation location of the frame texture + * @param thickness thickness of the frame in pixels + * @param cornersOnly if true, only the corners of the framewill be drawn + * @param frame sides of the frame to draw, in order: top, bottom, left, right + * @param color color of the frame; if null, the frame will be drawn with the default color. + * @return this + */ + public DecoBackgroundBuilder withFrame(ResLoc imageLocation, int thickness, boolean cornersOnly, boolean[] frame, @Nullable IIColor color) { List tiles = backgroundTiles.get(backgroundTiles.size()-1); DecoBackgroundTile lastTile = tiles.get(tiles.size()-1); - lastTile.frame = new DecoFrame(imageLocation, false, thickness) - .withSides(frame[0], frame[1], frame[2], frame[3]); + lastTile.frame = new DecoFrame(imageLocation, cornersOnly, thickness) + .withSides(frame[0], frame[1], frame[2], frame[3]) + .withColor(color==null?(lastTile.color==null?IIColor.WHITE: lastTile.color): color); return this; } @@ -167,10 +185,32 @@ public DecoBackgroundBuilder withFrame(ResLoc imageLocation, int thickness * @return this */ public DecoBackgroundBuilder withStandaloneFrame(int x, int y, int width, int height, ResLoc imageLocation, int thickness, boolean cornersOnly, boolean[] frame) + { + return withStandaloneFrame(x, y, width, height, imageLocation, thickness, cornersOnly, frame, null); + } + + /** + * Adds a standalone frame to the background, which is not attached to any background tile. + * This is useful for decorative frames that are not meant to be part of the background layers. + * + * @param x x position of the frame + * @param y y position ofthe frame + * @param width width of the frame in pixels + * @param height height of the frame in pixels + * @param imageLocation location of the frame texture + * @param thickness thickness of the frame in pixels + * @param cornersOnly if true, only the corners of the frame will be drawn + * @param frame sides of the frame to draw, in order: top, bottom, left, right + * @param color color of the frame; if null, the frame will be drawn with the default color. + * @return this + */ + public DecoBackgroundBuilder withStandaloneFrame(int x, int y, int width, int height, ResLoc imageLocation, int thickness, boolean cornersOnly, boolean[] frame, @Nullable IIColor color) { DecoBackgroundTile tile = new DecoBackgroundTile(x, y, width, height, IIColor.WHITE, imageLocation, DecoTextures.TEMPLATE_ROUND); tile.frame = new DecoFrame(imageLocation, cornersOnly, thickness) .withSides(frame[0], frame[1], frame[2], frame[3]); + if(color!=null) + tile.frame.withColor(color); backgroundFrames.add(tile); return this; @@ -439,9 +479,9 @@ private void handleFrameDrawing(IIDrawUtils draw, DecoBackgroundTile backgroundF DecoFrame frame = backgroundFrame.frame; assert frame!=null; if(frame.cornersOnly) - drawFrameCorners(draw, backgroundFrame.x, backgroundFrame.y, backgroundFrame.width, backgroundFrame.height, frame.style, frame.sides); + drawFrameCorners(draw, backgroundFrame.x, backgroundFrame.y, backgroundFrame.width, backgroundFrame.height, frame.style, frame.color, frame.sides); else - drawFrame(draw, backgroundFrame.x, backgroundFrame.y, backgroundFrame.width, backgroundFrame.height, frame.style, frame.sides, frame.frameThickness); + drawFrame(draw, backgroundFrame.x, backgroundFrame.y, backgroundFrame.width, backgroundFrame.height, frame.style, frame.color, frame.sides, frame.frameThickness); } @Nonnull @@ -614,30 +654,30 @@ private IIDrawUtils drawBackgroundBlock(Collection rects, in return draw; } - private void drawFrameCorners(IIDrawUtils draw, int x, int y, int width, int height, ResLoc style, boolean[] sides) + private void drawFrameCorners(IIDrawUtils draw, int x, int y, int width, int height, ResLoc style, IIColor color, boolean[] sides) { TextureAtlasSprite sprite = ClientUtils.getSprite(style); int cornerSize = 16; //Top-left corner if(sides[0]&&sides[3]) - draw.drawTexColorRect(x, y, cornerSize, cornerSize, IIColor.WHITE, + draw.drawTexColorRect(x, y, cornerSize, cornerSize, color, sprite.getMinU(), sprite.getInterpolatedU(8), sprite.getMinV(), sprite.getInterpolatedV(8)); //Top-right corner if(sides[0]&&sides[1]) - draw.drawTexColorRect(x+width-cornerSize, y, cornerSize, cornerSize, IIColor.WHITE, + draw.drawTexColorRect(x+width-cornerSize, y, cornerSize, cornerSize, color, sprite.getInterpolatedU(16-8), sprite.getInterpolatedU(16), sprite.getMinV(), sprite.getInterpolatedV(8)); //Bottom-left corner if(sides[2]&&sides[3]) - draw.drawTexColorRect(x, y+height-cornerSize, cornerSize, cornerSize, IIColor.WHITE, + draw.drawTexColorRect(x, y+height-cornerSize, cornerSize, cornerSize, color, sprite.getMinU(), sprite.getInterpolatedU(8), sprite.getInterpolatedV(16-8), sprite.getInterpolatedV(16)); //Bottom-right corner if(sides[2]&&sides[1]) - draw.drawTexColorRect(x+width-cornerSize, y+height-cornerSize, cornerSize, cornerSize, IIColor.WHITE, + draw.drawTexColorRect(x+width-cornerSize, y+height-cornerSize, cornerSize, cornerSize, color, sprite.getInterpolatedU(16-8), sprite.getInterpolatedU(16), sprite.getInterpolatedV(16-8), sprite.getInterpolatedV(16)); } - private void drawFrame(IIDrawUtils draw, int x, int y, int width, int height, ResLoc style, boolean[] sides, int frameThickness) + private void drawFrame(IIDrawUtils draw, int x, int y, int width, int height, ResLoc style, IIColor color, boolean[] sides, int frameThickness) { TextureAtlasSprite sprite = ClientUtils.getSprite(style); @@ -656,33 +696,33 @@ private void drawFrame(IIDrawUtils draw, int x, int y, int width, int height, Re //Top if(sides[0]) - draw.drawRepeatedTexColorRect(x+frameThickness, y, width-frameThickness*2, frameThickness, IIColor.WHITE, + draw.drawRepeatedTexColorRect(x+frameThickness, y, width-frameThickness*2, frameThickness, color, 32-2*frameThickness, frameThickness, minUU, maxU, minV, minVV); //Bottom if(sides[1]) - draw.drawRepeatedTexColorRect(x+frameThickness, y+height-frameThickness, width-frameThickness*2, frameThickness, IIColor.WHITE, + draw.drawRepeatedTexColorRect(x+frameThickness, y+height-frameThickness, width-frameThickness*2, frameThickness, color, 32-2*frameThickness, frameThickness, minUU, maxU, maxV, maxVV); //Left if(sides[2]) - draw.drawRepeatedTexColorRect(x, y+frameThickness, frameThickness, height-frameThickness*2, IIColor.WHITE, + draw.drawRepeatedTexColorRect(x, y+frameThickness, frameThickness, height-frameThickness*2, color, frameThickness, 32-2*frameThickness, minU, minUU, minVV, maxV); //Right if(sides[3]) - draw.drawRepeatedTexColorRect(x+width-frameThickness, y+frameThickness, frameThickness, height-frameThickness*2, IIColor.WHITE, + draw.drawRepeatedTexColorRect(x+width-frameThickness, y+frameThickness, frameThickness, height-frameThickness*2, color, frameThickness, 32-2*frameThickness, maxU, maxUU, minVV, maxV); //Draw squares on frame edges if(sides[0]||sides[3]) - draw.drawTexColorRect(x, y, frameThickness, frameThickness, IIColor.WHITE, + draw.drawTexColorRect(x, y, frameThickness, frameThickness, color, minU, minUU, minV, minVV); if(sides[0]||sides[1]) - draw.drawTexColorRect(x+width-frameThickness, y, frameThickness, frameThickness, IIColor.WHITE, + draw.drawTexColorRect(x+width-frameThickness, y, frameThickness, frameThickness, color, maxU, maxUU, minV, minVV); if(sides[2]||sides[3]) - draw.drawTexColorRect(x, y+height-frameThickness, frameThickness, frameThickness, IIColor.WHITE, + draw.drawTexColorRect(x, y+height-frameThickness, frameThickness, frameThickness, color, minU, minUU, maxV, maxVV); if(sides[2]||sides[1]) - draw.drawTexColorRect(x+width-frameThickness, y+height-frameThickness, frameThickness, frameThickness, IIColor.WHITE, + draw.drawTexColorRect(x+width-frameThickness, y+height-frameThickness, frameThickness, frameThickness, color, maxU, maxUU, maxV, maxVV); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoFrame.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoFrame.java index 4354e954b..b81c26700 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoFrame.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoFrame.java @@ -1,7 +1,10 @@ package pl.pabilo8.immersiveintelligence.client.gui.deco.util; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.ResLoc; +import javax.annotation.Nonnull; + /** * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 @@ -12,6 +15,7 @@ public class DecoFrame /** * Resource location of the frame texture */ + @Nonnull public final ResLoc style; /** * If true, only the corners of the frame will be drawn. @@ -28,8 +32,14 @@ public class DecoFrame * If a side is true, it will be drawn. */ public boolean[] sides = new boolean[]{true, true, true, true}; + /** + * The color of the frame. + * This color determines how the frame is tinted when rendered. + */ + @Nonnull + public IIColor color = IIColor.WHITE; - public DecoFrame(ResLoc style, boolean cornersOnly, int frameThickness) + public DecoFrame(@Nonnull ResLoc style, boolean cornersOnly, int frameThickness) { this.style = style; this.cornersOnly = cornersOnly; @@ -50,6 +60,18 @@ public DecoFrame withSides(boolean top, boolean bottom, boolean left, boolean ri return this; } + /** + * Sets the color of the frame. + * + * @param color the color of the frame + * @return this DecoFrame instance for method chaining + */ + public DecoFrame withColor(@Nonnull IIColor color) + { + this.color = color; + return this; + } + /** * Disables the top border * diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java index 6e0926241..aced2406b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java @@ -11,11 +11,10 @@ import net.minecraft.client.resources.I18n; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import pl.pabilo8.immersiveintelligence.api.ammo.AmmoRegistry; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; import pl.pabilo8.immersiveintelligence.client.model.builtin.IAmmoModel; import pl.pabilo8.immersiveintelligence.client.model.weapon.ModelMachinegun; import pl.pabilo8.immersiveintelligence.client.render.IPassengerAnimationsRenderer; @@ -25,7 +24,6 @@ import pl.pabilo8.immersiveintelligence.client.util.tmt.TmtNamedBoxGroup; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.block.metal_device.BlockIIMetalDevice.IIBlockTypes_MetalDevice; -import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; import pl.pabilo8.immersiveintelligence.common.entity.ammo.types.EntityAmmoProjectile; import pl.pabilo8.immersiveintelligence.common.entity.mounted_weapon.EntityMachinegun; import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIAmmoBase; @@ -168,61 +166,44 @@ public static void renderMachinegun(ItemStack stack, @Nullable EntityMachinegun GlStateManager.rotate(90, 1, 0, 0); GlStateManager.scale(0.5f, 0.5f, 0.5f); - BlockPos cratePos = entity.getPosition().offset(EnumFacing.fromAngle(entity.aim.getCenterYaw()).getOpposite()).down(); - if(entity.getEntityWorld().getTileEntity(cratePos) instanceof TileEntityAmmunitionCrate) + ArrayList ammoStacks = new ArrayList<>(AmmunitionCrateHandler.getMountedAmmunition(entity)); + if(!ammoStacks.isEmpty()) { - TileEntityAmmunitionCrate crate = (TileEntityAmmunitionCrate)entity.getEntityWorld().getTileEntity(cratePos); - assert crate!=null; - int beltLength = (int)(24+Math.max(Math.abs(entity.aim.getYaw(0f))-55, 0)/2-Math.max(entity.aim.getPitch(partialTicks)-20, 0)/2); - if(crate.lid.isFullyOpened()&&crate.isUpgradeInstalled(IIContent.UPGRADE_MG_LOADER)) + beltLength -= 4; + float ammoDir = entity.aim.getYaw(0f)/(tripod?90f: 50f)*(1-Math.abs(entity.aim.getPitch(partialTicks))/40f); + float ammoTurn = tripod?Math.abs(entity.aim.getYaw(0f))/90f*(beltLength > 24?(beltLength-24)/24f: 1): 0; + + GlStateManager.pushMatrix(); + for(int i = 0; i < 4&&!ammoStacks.isEmpty(); i++) { - ArrayList ammoStacks = new ArrayList<>(); - for(int i = 38, cc = 0; i < 50&&cc < beltLength; i++) - { - ItemStack bs = crate.getInventory().get(i); - if(!bs.isEmpty()) - { - ammoStacks.add(bs.copy()); - cc += bs.getCount(); - } - } - - beltLength -= 4; - float ammoDir = entity.aim.getYaw(0f)/(tripod?90f: 50f)*(1-Math.abs(entity.aim.getPitch(partialTicks))/40f); - float ammoTurn = tripod?Math.abs(entity.aim.getYaw(0f))/90f*(beltLength > 24?(beltLength-24)/24f: 1): 0; - - GlStateManager.pushMatrix(); - for(int i = 0; i < 4&&!ammoStacks.isEmpty(); i++) - { - mm.renderAmmoComplete(false, ammoStacks.get(0)); - GlStateManager.rotate(180f/4f, 0, 1, 0); - GlStateManager.translate(0, 0, -0.1225f); - - ammoStacks.get(0).shrink(1); - if(ammoStacks.get(0).getCount() <= 0) - ammoStacks.remove(0); - } - GlStateManager.popMatrix(); - - GlStateManager.translate(-0.25f, 0, 0.25); - GlStateManager.pushMatrix(); - for(int i = 0; i < beltLength&&!ammoStacks.isEmpty(); i++) - { - mm.renderAmmoComplete(false, ammoStacks.get(0)); - GlStateManager.translate(0f, 0, 0.125f); - - GlStateManager.rotate(ammoDir*-5f, 0, 1, 0); - GlStateManager.rotate(ammoTurn*-8f, 1, 0, 0); - - ammoStacks.get(0).shrink(1); - if(ammoStacks.get(0).getCount() <= 0) - ammoStacks.remove(0); - - } - GlStateManager.popMatrix(); + mm.renderAmmoComplete(false, ammoStacks.get(0)); + GlStateManager.rotate(180f/4f, 0, 1, 0); + GlStateManager.translate(0, 0, -0.1225f); + + ammoStacks.get(0).shrink(1); + if(ammoStacks.get(0).getCount() <= 0) + ammoStacks.remove(0); + } + GlStateManager.popMatrix(); + + GlStateManager.translate(-0.25f, 0, 0.25); + GlStateManager.pushMatrix(); + for(int i = 0; i < beltLength&&!ammoStacks.isEmpty(); i++) + { + mm.renderAmmoComplete(false, ammoStacks.get(0)); + GlStateManager.translate(0f, 0, 0.125f); + + GlStateManager.rotate(ammoDir*-5f, 0, 1, 0); + GlStateManager.rotate(ammoTurn*-8f, 1, 0, 0); + + ammoStacks.get(0).shrink(1); + if(ammoStacks.get(0).getCount() <= 0) + ammoStacks.remove(0); + } + GlStateManager.popMatrix(); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java index a739a3bef..b8ae76309 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/CommonProxy.java @@ -790,6 +790,7 @@ public void postInit(FMLPostInitializationEvent event) IICompatModule.doModulesPostInit(); IIConfigHandler.onConfigUpdate(); NBTSerialisation.postInit(); + AmmunitionCrateHandler.init(); //Init Hans Weapons HansUtils.init(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java index 67fc43d15..8fcbec1df 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java @@ -53,7 +53,7 @@ public class AmmoComponentNuke extends AmmoComponent public AmmoComponentNuke() { - super("nuke", 10f, ComponentRole.TERRAIN_DENIAL, IIColor.fromPackedRGB(0x6b778a)); + super("nuke", 2.5f, ComponentRole.TERRAIN_DENIAL, IIColor.fromPackedRGB(0x6b778a)); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java index 2986057db..dd3e477da 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/data_device/BlockIIDataDevice.java @@ -46,7 +46,8 @@ public class BlockIIDataDevice extends BlockIITileProvider= ContainerAmmunitionCrate.SPENT_START&&slot < ContainerAmmunitionCrate.SPENT_START+ContainerAmmunitionCrate.SPENT_COUNT) + { + if(hasSpentMagazineSlots()&&slot >= ContainerAmmunitionCrate.SPENT_MAGAZINE_START) + return mode.isSpentMagazine(stack); + return mode.isSpentCasing(stack); + } + return AmmunitionCrateHandler.isStackValid(mode, slot, stack); + } + + @Override + public void receiveMessageFromClient(@Nonnull NBTTagCompound message) + { + AmmunitionCrateMode previousMode = mode; + super.receiveMessageFromClient(message); + if(previousMode==mode||world==null||world.isRemote) + return; + dropInvalidModeContents(); + updateTileForEvent(SyncEvents.TILE_GUI_OPENED); } @Override public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, ItemStack heldItem, float hitX, float hitY, float hitZ) { + if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) + { + if(lid.getState()) + setLidState(false); + return false; + } + if(player.isSneaking()) { setLidState(!lid.getState()); return true; } - if(lid.getState()) - { - if(!world.isRemote) - reloadRevolver(player, hand); + + if(!lid.isFullyOpened()) + return false; + + if(world.isRemote) + return canDepositHeldItem(heldItem)||AmmunitionCrateHandler.canReload(mode, heldItem); + if(depositHeldItem(player, hand)) return true; - } - return false; + return AmmunitionCrateHandler.reload(this, player, hand); } - @Override - boolean isSupplied() + private boolean canDepositHeldItem(ItemStack stack) + { + if(stack.isEmpty()) + return false; + return mode.isSpentCasing(stack)||mode.isSpentMagazine(stack) + ||(stack.getItem()==IIContent.itemBulletMagazine&&mode.isAmmunition(stack)); + } + + private boolean depositHeldItem(EntityPlayer player, EnumHand hand) { + ItemStack held = player.getHeldItem(hand); + if(held.isEmpty()) + return false; + + ItemStack remaining; + if(mode.isSpentCasing(held)) + remaining = insertSpentCasing(held.copy()); + else if(mode.isSpentMagazine(held)) + remaining = insertReturnedMagazine(held.copy()); + else if(held.getItem()==IIContent.itemBulletMagazine&&mode.isAmmunition(held)) + remaining = insertAmmunition(held.copy()); + else + return false; + + if(remaining.getCount()==held.getCount()) + return false; + player.setHeldItem(hand, remaining); return true; } - @Override - void useSupplies() + /** + * @return number of storage slots available for ammunition + */ + public int getAmmunitionSlotCount() { + return ContainerAmmunitionCrate.AMMUNITION_COUNT; } - @Override - boolean affectEntity(Entity entity, boolean upgraded) + /** + * @return true if this mode has a separate spent-magazine section + */ + public boolean hasSpentMagazineSlots() { - if(upgraded&&energyStorage < ammoCrateEnergyPerAction) - return false; + return mode!=AmmunitionCrateMode.REVOLVER&&mode.hasSpentMagazineSlots(); + } + + /** + * Finds an ammunition stack without extracting it. + */ + public ItemStack findAmmunition(Predicate predicate) + { + for(int slot = ContainerAmmunitionCrate.AMMUNITION_START; slot < ContainerAmmunitionCrate.AMMUNITION_START+getAmmunitionSlotCount(); slot++) + { + ItemStack stack = inventory.get(slot); + if(!stack.isEmpty()&&predicate.test(stack)) + return stack; + } + return ItemStack.EMPTY; + } + + /** + * @return true if matching ammunition is stored + */ + public boolean hasAmmunition(Predicate predicate) + { + return !findAmmunition(predicate).isEmpty(); + } - boolean supplied = false; - if(entity instanceof EntityLivingBase) + /** + * Extracts one matching ammunition item. + */ + public ItemStack extractAmmunition(Predicate predicate) + { + for(int slot = ContainerAmmunitionCrate.AMMUNITION_START; slot < ContainerAmmunitionCrate.AMMUNITION_START+getAmmunitionSlotCount(); slot++) { - EntityLivingBase living = (EntityLivingBase)entity; - if(!living.isPotionActive(IIPotions.wellSupplied)) + ItemStack stack = inventory.get(slot); + if(!stack.isEmpty()&&predicate.test(stack)) { - living.addPotionEffect(new PotionEffect(IIPotions.wellSupplied, 80, 0, true, true)); - supplied = true; + ItemStack extracted = insertionHandler.extractItem(slot, 1, false); + if(!extracted.isEmpty()) + markDirty(); + return extracted; } } + return ItemStack.EMPTY; + } - if(upgraded&&supplied) - consumeEnergy(ammoCrateEnergyPerAction); - return supplied; + /** + * Removes a specific ammunition stack from storage. + */ + public boolean removeAmmunitionStack(ItemStack stack) + { + for(int slot = ContainerAmmunitionCrate.AMMUNITION_START; slot < ContainerAmmunitionCrate.AMMUNITION_START+getAmmunitionSlotCount(); slot++) + if(inventory.get(slot)==stack) + { + ItemStack extracted = insertionHandler.extractItem(slot, 1, false); + if(!extracted.isEmpty()) + markDirty(); + return !extracted.isEmpty(); + } + return false; } - @Override - boolean checkEntity(Entity entity) + /** + * Inserts a stack into the ammunition section. + */ + public ItemStack insertAmmunition(ItemStack stack) { - return entity instanceof EntityLivingBase; + return insertIntoRange(stack, ContainerAmmunitionCrate.AMMUNITION_START, ContainerAmmunitionCrate.AMMUNITION_START+getAmmunitionSlotCount()); } - private void reloadRevolver(EntityPlayer player, EnumHand hand) + /** + * Inserts a stack into the spent-casing section. + */ + public ItemStack insertSpentCasing(ItemStack stack) { - ItemStack heldItem = player.getHeldItem(hand); - if(heldItem.isEmpty()||!(heldItem.getItem() instanceof IBulletContainer)) - return; + int end = hasSpentMagazineSlots()?ContainerAmmunitionCrate.SPENT_MAGAZINE_START: ContainerAmmunitionCrate.SPENT_START+ContainerAmmunitionCrate.SPENT_COUNT; + return insertIntoRange(stack, ContainerAmmunitionCrate.SPENT_START, end); + } - if(heldItem.getItem() instanceof ItemRevolver) - ItemNBTHelper.setInt(heldItem, "reload", Math.round(30*Tools.ammunitionCrateResupplyTime)); + /** + * Inserts an unloaded magazine into the correct section. + */ + public ItemStack insertReturnedMagazine(ItemStack stack) + { + if(stack.isEmpty()) + return ItemStack.EMPTY; - IItemHandler bulletHandler = heldItem.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); - if(bulletHandler==null) - return; + if(hasSpentMagazineSlots()&&isStackValid(ContainerAmmunitionCrate.SPENT_MAGAZINE_START, stack)) + return insertIntoRange(stack, ContainerAmmunitionCrate.SPENT_MAGAZINE_START, ContainerAmmunitionCrate.SPENT_START+ContainerAmmunitionCrate.SPENT_COUNT); + return insertAmmunition(stack); + } + + /** + * Gets copies of ammunition stacks for rendering. + */ + public NonNullList getAmmunitionStacks() + { + NonNullList stacks = NonNullList.create(); + for(int slot = ContainerAmmunitionCrate.AMMUNITION_START; slot < ContainerAmmunitionCrate.AMMUNITION_START+getAmmunitionSlotCount(); slot++) + if(!inventory.get(slot).isEmpty()) + stacks.add(inventory.get(slot).copy()); + return stacks; + } + + /** + * Tests whether an entity is inside the inserter service area. + */ + public boolean isInserterTargetInRange(Entity entity) + { + AxisAlignedBB range = new AxisAlignedBB(getPos()).offset(0.5, 0.5, 0.5).grow(getRange()); + return entity!=null&&entity.getEntityBoundingBox().intersects(range); + } + + private ItemStack insertIntoRange(ItemStack stack, int start, int end) + { + int initialCount = stack.getCount(); + ItemStack remaining = stack; + for(int slot = start; slot < end&&!remaining.isEmpty(); slot++) + remaining = insertionHandler.insertItem(slot, remaining, false); + if(remaining.getCount()!=initialCount) + markDirty(); + return remaining; + } + + @Override + public void update() + { + super.update(); + if(world!=null&&!world.isRemote&&world.getTotalWorldTime()%10==0) + outputSpentItems(); + } - for(int i = 0; i < 8; i++) + private void dropInvalidModeContents() + { + for(int slot = 0; slot < ContainerAmmunitionCrate.REVOLVER_PATTERN_START; slot++) { - ItemStack stack = bulletHandler.extractItem(i, 1, false); - if(stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell)) - for(int j = 20; j < 29&&!stack.isEmpty(); j++) - stack = insertionHandler.insertItem(j, stack, false); - else - for(int j = 0; j < 20&&!stack.isEmpty(); j++) - stack = insertionHandler.insertItem(j, stack, false); + ItemStack stack = inventory.get(slot); + if(stack.isEmpty()||isStackValid(slot, stack)) + continue; + + inventory.set(slot, ItemStack.EMPTY); + Utils.dropStackAtPos(world, pos, stack); } + } + + private void outputSpentItems() + { + TileEntity tile = world.getTileEntity(pos.down()); + if(tile==null||!tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP)) + return; - for(int slot = 0; slot < 8; slot++) + IItemHandler output = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP); + if(output==null) + return; + + boolean changed = false; + for(int slot = ContainerAmmunitionCrate.SPENT_START; slot < ContainerAmmunitionCrate.SPENT_START+ContainerAmmunitionCrate.SPENT_COUNT; slot++) { - ItemStack required = inventory.get(29+slot); - if(required.isEmpty()) + ItemStack stack = inventory.get(slot); + if(stack.isEmpty()||!isStackValid(slot, stack)) continue; - ItemStack round = ItemStack.EMPTY; - for(int source = 0; source < 20; source++) - { - ItemStack available = insertionHandler.getStackInSlot(source); - if(!available.isEmpty()&&ItemStack.areItemStackTagsEqual(available, required)) - { - round = insertionHandler.extractItem(source, 1, false); - break; - } - } - bulletHandler.insertItem(slot, round, false); + ItemStack remaining = ItemHandlerHelper.insertItem(output, stack.copy(), false); + if(remaining.getCount()==stack.getCount()) + continue; + + inventory.set(slot, remaining); + changed = true; } - markDirty(); + + if(changed) + markDirty(); + } + + @Override + public float calculateInserterAnimation(float partialTicks) + { + Entity focused = focusedEntity.get(); + if(focused==null) + return 0; + return AmmunitionCrateHandler.getAutomaticReloadProgress(focused, partialTicks); + } + + @Override + boolean isSupplied() + { + //The inserter must also be able to remove an empty magazine when no replacement is available. + return true; + } + + @Override + void useSupplies() + { + } + + @Override + boolean affectEntity(Entity entity, boolean upgraded) + { + if(!upgraded||energyStorage.getEnergyStored() < ammoCrateEnergyPerAction) + return false; + + boolean started = AmmunitionCrateHandler.reloadAutomatically(this, entity); + if(started) + consumeEnergy(ammoCrateEnergyPerAction); + return started; + } + + @Override + boolean checkEntity(Entity entity) + { + return AmmunitionCrateHandler.canAutomate(this, entity); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java index ff0f4c911..2a47b692f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityEffectCrate.java @@ -1,6 +1,7 @@ package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate; import blusunrize.immersiveengineering.api.TargetingInfo; +import blusunrize.immersiveengineering.api.energy.immersiveflux.FluxStorage; import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection; import blusunrize.immersiveengineering.api.energy.wires.WireType; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IBlockBounds; @@ -61,7 +62,7 @@ /** * Provides shared inventory, upgrade, wire, GUI, and entity-effect logic for effect crates. * - * @author Pabilo8(pabilo@iiteam.net) + * @author Pabilo8 (pabilo@iiteam.net) * @updated 10.08.2026 * @since 06.07.2020 */ @@ -78,7 +79,7 @@ public abstract class TileEntityEffectCrate extends TileEntityIIDirectionalConne @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public MultiblockInteractablePart lid; @SyncNBT(events = {SyncEvents.TILE_ENERGY_CHANGED, SyncEvents.TILE_GUI_OPENED}) - public int energyStorage = 0; + public FluxStorage energyStorage = new FluxStorage(maxEnergyStored); @SyncNBT(events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_GUI_OPENED}) public UpgradeManager upgradeManager = new UpgradeManager<>(this); @SyncNBT(events = SyncEvents.TILE_CUSTOM2) @@ -168,7 +169,7 @@ public void update() if(world.isRemote) { - if(energyStorage > 0&&isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) + if(energyStorage.getEnergyStored() > 0&&isUpgradeInstalled(IIContent.UPGRADE_INSERTER)) { inserterAnimation = calculateInserterAnimation(0); inserterHeight = calculateInserterHeight(0); @@ -177,7 +178,7 @@ public void update() return; } - if(energyStorage <= energyDrain||!isUpgradeInstalled(IIContent.UPGRADE_INSERTER)||!isSupplied()) + if(energyStorage.getEnergyStored() <= energyDrain||!isUpgradeInstalled(IIContent.UPGRADE_INSERTER)||!isSupplied()) { setFocusedEntity(null); return; @@ -340,17 +341,13 @@ public boolean canConnectCable(WireType cableType, TargetingInfo target, Vec3i o @Override public int outputEnergy(int amount, boolean simulate, int energyType) { - if(amount <= 0||energyStorage >= maxEnergyStored) + if(amount <= 0) return 0; - int received = Math.min(maxEnergyStored-energyStorage, energyDrain); - if(!simulate) - { - boolean wasEmpty = energyStorage==0; - energyStorage += received; - if(wasEmpty) - updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); - } + boolean wasEmpty = energyStorage.getEnergyStored()==0; + int received = energyStorage.receiveEnergy(Math.min(amount, energyDrain), simulate); + if(!simulate&&received > 0&&wasEmpty) + updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); return received; } @@ -392,8 +389,7 @@ private boolean affectEntityBasic(Entity entity) protected void consumeEnergy(int amount) { - energyStorage = Math.max(0, energyStorage-amount); - if(world!=null&&!world.isRemote) + if(energyStorage.extractEnergy(amount, false) > 0&&world!=null&&!world.isRemote) updateTileForEvent(SyncEvents.TILE_ENERGY_CHANGED); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java index 8c080d7df..1a927d5a3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java @@ -35,7 +35,7 @@ /** * Stores medical fluids and applies configured treatment effects to living entities. * - * @author Pabilo8(pabilo@iiteam.net) + * @author Pabilo8 (pabilo@iiteam.net) * @updated 10.08.2026 * @since 06.07.2020 */ @@ -56,9 +56,9 @@ public class TileEntityMedicalCrate extends TileEntityEffectCrate @SyncNBT(name = "potion_tank", events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_DROP_AS_ITEM}) public FluidTank boostTank = new FluidTank(mediCrateTankSize); public FluidTank[] tanks = {healthTank, boostTank}; - @SyncNBT(name = "shouldHeal", events = SyncEvents.TILE_CUSTOM1) + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public boolean shouldHeal = true; - @SyncNBT(name = "shouldBoost", events = SyncEvents.TILE_CUSTOM1) + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public boolean shouldBoost = true; private final FluidWrapper fluidWrapper = new FluidWrapper(this); @@ -112,7 +112,7 @@ public void update() @Override boolean affectEntity(Entity entity, boolean upgraded) { - if(upgraded&&energyStorage < mediCrateEnergyPerAction||!(entity instanceof EntityLivingBase)) + if(upgraded&&energyStorage.getEnergyStored() < mediCrateEnergyPerAction||!(entity instanceof EntityLivingBase)) return false; EntityLivingBase living = (EntityLivingBase)entity; @@ -160,7 +160,8 @@ public boolean isStackValid(int slot, ItemStack stack) @Override public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) { - if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&facing==this.facing.getOpposite()&&capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY&& + isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&facing!=EnumFacing.UP) return true; return super.hasCapability(capability, facing); } @@ -169,7 +170,8 @@ public boolean hasCapability(Capability capability, @Nullable EnumFacing faci @SuppressWarnings("unchecked") public T getCapability(Capability capability, @Nullable EnumFacing facing) { - if(isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&facing==this.facing.getOpposite()&&capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) + if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY&& + isUpgradeInstalled(IIContent.UPGRADE_INSERTER)&&facing!=EnumFacing.UP) return (T)fluidWrapper; return super.getCapability(capability, facing); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java index 68e58dd8d..1c9761c0a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java @@ -27,7 +27,7 @@ /** * Stores repair materials and repairs supported entities or worn equipment. * - * @author Pabilo8(pabilo@iiteam.net) + * @author Pabilo8 (pabilo@iiteam.net) * @updated 10.08.2026 * @since 06.07.2020 */ @@ -39,9 +39,9 @@ public class TileEntityRepairCrate extends TileEntityEffectCrate .withUpgrade(IIContent.UPGRADE_INSERTER, UpgradeTier.TIER_1); } - @SyncNBT(name = "shouldHeal", events = SyncEvents.TILE_CUSTOM1) + @SyncNBT(events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_CLIENT_MESSAGE}) public boolean shouldRepairArmor = true; - @SyncNBT(name = "shouldBoost", events = SyncEvents.TILE_CUSTOM1) + @SyncNBT(events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_CLIENT_MESSAGE}) public boolean shouldRepairVehicles = true; public boolean repaired = false; @@ -106,7 +106,7 @@ private boolean isWelding() @Override boolean affectEntity(Entity entity, boolean upgraded) { - if(upgraded&&energyStorage < repairCrateEnergyPerAction) + if(upgraded&&energyStorage.getEnergyStored() < repairCrateEnergyPerAction) return false; repaired = false; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java index 2fcb60f77..0f2d757f0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java @@ -36,6 +36,7 @@ public BlockIIMetalMultiblock1() addToTESRMap(MetalMultiblocks1.VULCANIZER); setBlockLayer(BlockRenderLayer.CUTOUT); + setSubBlockLayer(MetalMultiblocks1.REDSTONE_DATA_INTERFACE, BlockRenderLayer.SOLID, BlockRenderLayer.CUTOUT); } @Deprecated diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/wooden_multiblock/BlockIIWoodenMultiblock.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/wooden_multiblock/BlockIIWoodenMultiblock.java index 564460abd..3f04ff007 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/wooden_multiblock/BlockIIWoodenMultiblock.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/wooden_multiblock/BlockIIWoodenMultiblock.java @@ -38,6 +38,10 @@ public BlockIIWoodenMultiblock() this.addToTESRMap(WoodenMultiblocks.SKYCART_STATION, WoodenMultiblocks.SKYCRATE_STATION, WoodenMultiblocks.SKYCRATE_POST); this.setBlockLayer(BlockRenderLayer.CUTOUT); + + setSubBlockLayer(WoodenMultiblocks.SKYCART_STATION, BlockRenderLayer.SOLID); + setSubBlockLayer(WoodenMultiblocks.SKYCRATE_STATION, BlockRenderLayer.SOLID); + setSubBlockLayer(WoodenMultiblocks.SKYCRATE_POST, BlockRenderLayer.SOLID); } public enum WoodenMultiblocks implements IITileMultiblockEnum diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java index b9e229696..7401ce0c2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java @@ -1171,11 +1171,6 @@ public static void addUpgradeRecipes() .withRequiredProgress(20000) .withProgressStages(12); - IIContent.UPGRADE_MG_LOADER - .withCost(new IngredientStack("plateSteel", 8)) - .withRequiredProgress(20000) - .withProgressStages(10); - //Sawmill IIContent.UPGRADE_SAW_UNREGULATOR .withCost( diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerAmmunitionCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerAmmunitionCrate.java index 90a3ea8eb..b7146ec88 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerAmmunitionCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerAmmunitionCrate.java @@ -1,106 +1,223 @@ package pl.pabilo8.immersiveintelligence.common.gui; -import blusunrize.immersiveengineering.api.tool.BulletHandler; import blusunrize.immersiveengineering.common.gui.IESlot; -import blusunrize.immersiveengineering.common.items.ItemBullet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -import pl.pabilo8.immersiveintelligence.common.IIContent; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateMode; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; -import pl.pabilo8.immersiveintelligence.common.item.ammo.gun.ItemIIAmmoMachinegun; import pl.pabilo8.immersiveintelligence.common.util.gui.ContainerIITileBase; +import javax.annotation.Nonnull; +import java.util.ArrayList; +import java.util.List; + /** + * Arranges the fixed Ammunition Crate inventory according to its active loading mode. + * * @author Pabilo8 (pabilo@iiteam.net) - * @author Avalon (avalon@iiteam.net) + * @author Avalon(avalon@iiteam.net) + * @updated 13.08.2026 * @since 17.05.2019 - * @since 08.18.2025 */ public class ContainerAmmunitionCrate extends ContainerIITileBase { - public Slot[] inputBullet, inputShell, inputRevolver, inputMG; + //--- Static Fields ---// + public static final int INVENTORY_SIZE = 50; + public static final int AMMUNITION_START = 0; + public static final int AMMUNITION_COUNT = 18; + public static final int SPENT_START = 18; + public static final int SPENT_COUNT = 20; + public static final int RESERVED_START = SPENT_START+SPENT_COUNT; + public static final int SPENT_CASING_COUNT = 10; + public static final int SPENT_MAGAZINE_START = SPENT_START+SPENT_CASING_COUNT; + public static final int SPENT_MAGAZINE_COUNT = 10; + public static final int RESERVED_COUNT = 4; + public static final int REVOLVER_PATTERN_START = RESERVED_START+RESERVED_COUNT; + public static final int REVOLVER_PATTERN_COUNT = 8; + + //--- Slots ---// + public Slot[] inputAmmunition = new Slot[0]; + public Slot[] spentCasings = new Slot[0]; + public Slot[] spentMagazines = new Slot[0]; + public Slot[] revolverPattern = new Slot[0]; public ContainerAmmunitionCrate(EntityPlayer player, TileEntityAmmunitionCrate tile) { super(player, tile); + refreshSlots(tile.mode); + } - this.inputBullet = new Slot[20]; - this.inputShell = new Slot[9]; - this.inputRevolver = new Slot[8]; - this.inputMG = new Slot[12]; + /** + * Rebuilds slot positions without changing their physical inventory indices. + * + * @param mode crate mode to display + */ + public void refreshSlots(AmmunitionCrateMode mode) + { + inventorySlots.clear(); + inventoryItemStacks.clear(); - //Normal bullet slots (20 slots, 4x5 grid) - for(int i = 0; i < 20; i++) - this.inputBullet[i] = addSlotToContainer(new Slot(this.inv, i, 8+(i%5)*18, 18+(i/5)*18) + List ammunition = new ArrayList<>(); + List casings = new ArrayList<>(); + List magazines = new ArrayList<>(); + List pattern = new ArrayList<>(); + + //Slots 0..17 are ammunition storage. Keep the Revolver layout left-aligned for its drum pattern. + int ammunitionX = mode==AmmunitionCrateMode.REVOLVER?8: 58; + for(int slot = AMMUNITION_START; + slot < AMMUNITION_START+AMMUNITION_COUNT; slot++) + { + int displayIndex = slot-AMMUNITION_START; + ammunition.add(addSlotToContainer(new AmmunitionSlot(inv, slot, + ammunitionX+(displayIndex%6)*18, 40+(displayIndex/6)*18))); + } + + //Slots 18..37 hold spent output. Magazine modes use two 5x2 sections. + boolean separateMagazines = mode!=AmmunitionCrateMode.REVOLVER&&mode.hasSpentMagazineSlots(); + for(int slot = SPENT_START; + slot < SPENT_START+SPENT_COUNT; slot++) + { + if(separateMagazines&&slot >= SPENT_MAGAZINE_START) { - @Override - public boolean isItemValid(ItemStack stack) - { - return stack.getItem() instanceof ItemBullet&& - !(stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell)); - } - }); - - //Empty shell slots (9 slots in a row) - for(int i = 0; i < 9; i++) - this.inputShell[i] = addSlotToContainer(new Slot(this.inv, 20+i, 8+(i*18), 108) + int displayIndex = slot-SPENT_MAGAZINE_START; + magazines.add(addSlotToContainer(new SpentSlot(inv, slot, + 123+(displayIndex%5)*18, 116+(displayIndex/5)*18))); + } + else { - @Override - public boolean isItemValid(ItemStack stack) - { - return false; - } - }); - - //Revolver layout slots (8 slots, circular layout) - this.inputRevolver[0] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 29, 125, 18)); - this.inputRevolver[1] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 30, 144, 26)); - this.inputRevolver[2] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 31, 152, 45)); - this.inputRevolver[3] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 32, 144, 64)); - this.inputRevolver[4] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 33, 125, 72)); - this.inputRevolver[5] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 34, 106, 64)); - this.inputRevolver[6] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 35, 98, 45)); - this.inputRevolver[7] = addSlotToContainer(new GhostFilteredBullet(this, this.inv, 36, 106, 26)); - - //MG loader slots (if upgrade installed) - if(tile.isUpgradeInstalled(IIContent.UPGRADE_MG_LOADER)) + int displayIndex = slot-SPENT_START; + int columns = separateMagazines?5: 10; + int startX = separateMagazines?11: (mode==AmmunitionCrateMode.REVOLVER?8: 22); + casings.add(addSlotToContainer(new SpentSlot(inv, slot, + startX+(displayIndex%columns)*18, 116+(displayIndex/columns)*18))); + } + } + + //Slots 38..41 remain hidden to keep the physical inventory and container indices stable at 50 slots. + for(int slot = RESERVED_START; + slot < RESERVED_START+RESERVED_COUNT; slot++) + addSlotToContainer(new ReservedSlot(inv, slot)); + + //Slots 42..49 are permanently reserved for the Revolver chamber pattern. + int[][] chamberPositions = { + {160, 40-4}, {180, 48-4}, {188, 67-4}, {180, 86-4}, + {160, 94-4}, {140, 86-4}, {132, 67-4}, {140, 48-4} + }; + for(int chamber = 0; chamber < REVOLVER_PATTERN_COUNT; chamber++) + { + int slot = REVOLVER_PATTERN_START+chamber; + GhostFilteredBullet patternSlot = new GhostFilteredBullet(this, inv, tile, slot, + mode==AmmunitionCrateMode.REVOLVER?chamberPositions[chamber][0]: -32, + mode==AmmunitionCrateMode.REVOLVER?chamberPositions[chamber][1]: -32); + addSlotToContainer(patternSlot); + if(mode==AmmunitionCrateMode.REVOLVER) + pattern.add(patternSlot); + } + + inputAmmunition = ammunition.toArray(new Slot[0]); + spentCasings = casings.toArray(new Slot[0]); + spentMagazines = magazines.toArray(new Slot[0]); + revolverPattern = pattern.toArray(new Slot[0]); + + addPlayerInventory(inventoryPlayer, 32, 168); + } + + @Nonnull + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slotNumber) + { + if(slotNumber < 0||slotNumber >= inventorySlots.size()) + return ItemStack.EMPTY; + if(slotNumber >= REVOLVER_PATTERN_START + &&slotNumber < INVENTORY_SIZE) + return ItemStack.EMPTY; + + Slot slot = inventorySlots.get(slotNumber); + if(slot==null||!slot.getHasStack()) + return ItemStack.EMPTY; + + ItemStack source = slot.getStack(); + ItemStack original = source.copy(); + if(slotNumber < slotCount) { - for(int i = 0; i < 12; i++) - this.inputMG[i] = addSlotToContainer(new Slot(this.inv, i+30, 184+(i%2)*18, 18+(i/2)*18) - { - @Override - public boolean isItemValid(ItemStack stack) - { - return stack.getItem() instanceof ItemIIAmmoMachinegun; - } - }); + if(!mergeItemStack(source, slotCount, inventorySlots.size(), true)) + return ItemStack.EMPTY; } + else if(!mergeItemStack(source, AMMUNITION_START, SPENT_START+SPENT_COUNT, false)) + return ItemStack.EMPTY; + + if(source.isEmpty()) + slot.putStack(ItemStack.EMPTY); + else + slot.onSlotChanged(); + + if(source.getCount()==original.getCount()) + return ItemStack.EMPTY; - //Player inventory - addPlayerInventory(player.inventory, 8, 98+45); + slot.onTake(player, source); + return original; } - public static class GhostFilteredBullet extends IESlot.Ghost + private class AmmunitionSlot extends Slot + { + private AmmunitionSlot(IInventory inventory, int index, int x, int y) + { + super(inventory, index, x, y); + } + + @Override + public boolean isItemValid(ItemStack stack) + { + return tile.isStackValid(getSlotIndex(), stack); + } + } + + private static class ReservedSlot extends Slot + { + private ReservedSlot(IInventory inventory, int index) + { + super(inventory, index, -32, -32); + } + + @Override + public boolean isItemValid(ItemStack stack) + { + return false; + } + } + + private class SpentSlot extends Slot { - public GhostFilteredBullet(Container container, IInventory inv, int id, int x, int y) + private SpentSlot(IInventory inventory, int index, int x, int y) { - super(container, inv, id, x, y); + super(inventory, index, x, y); } @Override - public void putStack(ItemStack itemStack) + public boolean isItemValid(ItemStack stack) + { + return tile.isStackValid(getSlotIndex(), stack); + } + } + + public static class GhostFilteredBullet extends IESlot.Ghost + { + private final TileEntityAmmunitionCrate tile; + + public GhostFilteredBullet(Container container, IInventory inventory, TileEntityAmmunitionCrate tile, int id, int x, int y) { - super.putStack(itemStack); + super(container, inventory, id, x, y); + this.tile = tile; } @Override public boolean isItemValid(ItemStack stack) { - return stack.getItem() instanceof ItemBullet&& - !(stack.isItemEqual(BulletHandler.emptyCasing)||stack.isItemEqual(BulletHandler.emptyShell)); + return AmmunitionCrateHandler.isStackValid(tile.mode, getSlotIndex(), stack); } } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerMedicalCrate.java index e5cac4826..99d7ce2cb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerMedicalCrate.java @@ -11,22 +11,19 @@ /** * @author Pabilo8 (pabilo@iiteam.net) * @author Avalon (avalon@iiteam.net) + * @updated 13.08.2026 + * @ii-approved 0.3.1 * @since 17.05.2019 - * @since 08.14.2025 */ public class ContainerMedicalCrate extends ContainerIITileBase { - public Slot inputSlot, inputFluidSlot, outputSlot, outputSlot2; public ContainerMedicalCrate(EntityPlayer player, TileEntityMedicalCrate tile) { - //Normal bullet slots - super(player, tile); - int shift = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER)?0: 27; - + //Machine slots inputFluidSlot = this.addSlotToContainer(new IESlot.FluidContainer(this, this.inv, 0, 68, 19, 2)); outputSlot = this.addSlotToContainer(new IESlot.Output(this, this.inv, 1, 68, 55)); @@ -38,9 +35,10 @@ public boolean isItemValid(ItemStack stack) return TileEntityMedicalCrate.BOOST_POTION_ITEM.test(stack); } }); - outputSlot2 = this.addSlotToContainer(new IESlot.Output(this, this.inv, 3, 112, 55)); - addPlayerInventory(player.inventory, 8, 87); + //Player inventory + boolean upgrade = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); + addPlayerInventory(player.inventory, 8, 100+8+(upgrade?24: 0)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerRepairCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerRepairCrate.java index a3a95fa0a..e40cc604f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerRepairCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerRepairCrate.java @@ -1,9 +1,7 @@ package pl.pabilo8.immersiveintelligence.common.gui; -import blusunrize.immersiveengineering.common.util.Utils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityRepairCrate; import pl.pabilo8.immersiveintelligence.common.util.gui.ContainerIITileBase; @@ -11,31 +9,23 @@ /** * @author Pabilo8 (pabilo@iiteam.net) * @author Avalon (avalon@iiteam.net) + * @updated 13.08.2026 + * @ii-approved 0.3.1 * @since 17.05.2019 - * @since 08.15.2025 */ public class ContainerRepairCrate extends ContainerIITileBase { - - public Slot inputSlot; + public Slot[] slots; public ContainerRepairCrate(EntityPlayer player, TileEntityRepairCrate tile) { - //Normal bullet slots - super(player, tile); - int shift = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER)?0: 27; - for(int i = 0; i < tile.getInventory().size(); i++) - inputSlot = this.addSlotToContainer(new Slot(this.inv, i, shift+20+(i%4)*21, 17+(i/4)*18) - { - @Override - public boolean isItemValid(ItemStack stack) - { - return Utils.compareToOreName(stack, "plateSteel"); - } - }); + //Machine slots + this.slots = addSlotArray(6+32+8+8, 4+6, 0, tile.inventory.size(), 4); - addPlayerInventory(player.inventory, 8, 100); + //Player inventory + boolean upgrade = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); + addPlayerInventory(player.inventory, 8, 100+8+(upgrade?24: 0)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/ItemIIBulletMagazine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/ItemIIBulletMagazine.java index f6e749095..059d36c4f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/ItemIIBulletMagazine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/ItemIIBulletMagazine.java @@ -26,6 +26,7 @@ import net.minecraftforge.items.ItemHandlerHelper; import pl.pabilo8.immersiveintelligence.ImmersiveIntelligence; import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler.IAdvancedTooltipItem; import pl.pabilo8.immersiveintelligence.client.ClientProxy; @@ -55,6 +56,7 @@ /** * @author Pabilo8 (pabilo@iiteam.net) + * @updated 11.08.2026 * @since 01.11.2019 */ @IIItemProperties(category = IICategory.WARFARE) @@ -130,10 +132,18 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, { reloading = reload(stack, stackToSub(stack), entity, reloading); if(reloading==0) + { shouldReload = false; + if(!world.isRemote) + AmmunitionCrateHandler.finishReload(entity, stack); + } } else + { reloading = 0; + if(!world.isRemote) + AmmunitionCrateHandler.finishReload(entity, stack); + } if(world.isRemote) if(!shouldReload&&ClientProxy.keybindManualReload.isKeyDown()) @@ -143,11 +153,25 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, nbt.withInt(RELOADING, reloading); } else if(nbt.hasKey(SHOULD_RELOAD)) + { nbt.without(SHOULD_RELOAD, RELOADING); + if(!world.isRemote) + AmmunitionCrateHandler.finishReload(entity, stack); + } super.onUpdate(stack, world, entity, itemSlot, isSelected); } + /** + * Starts the normal magazine reload state machine. + * + * @param stack magazine to reload + */ + public void startReload(ItemStack stack) + { + EasyNBT.wrapNBT(stack).withBoolean(SHOULD_RELOAD, true); + } + private int reload(ItemStack stack, Magazines magazine, Entity user, int reloading) { //Out of capacity @@ -204,6 +228,10 @@ private ItemStack findAmmo(Magazines magazine, Entity entity, ItemStack stack) if(!(entity instanceof EntityLivingBase)) return ItemStack.EMPTY; + if(AmmunitionCrateHandler.hasReloadSource(entity, stack)) + return AmmunitionCrateHandler.findReloadAmmunition(entity, stack, + ammo -> ammo.getItem()==magazine.ammo&&!magazine.ammo.isBulletCore(ammo)); + if(entity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null)) { final IItemHandler capability = entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIGunBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIGunBase.java index 4d191ab93..f1cd01ed2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIGunBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIGunBase.java @@ -30,6 +30,7 @@ import pl.pabilo8.immersiveintelligence.ImmersiveIntelligence; import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; import pl.pabilo8.immersiveintelligence.api.ammo.utils.AmmoFactory; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler; import pl.pabilo8.immersiveintelligence.api.utils.ItemTooltipHandler.IAdvancedTooltipItem; import pl.pabilo8.immersiveintelligence.api.utils.tools.ISkinnable; @@ -232,7 +233,11 @@ public void onUpdate(ItemStack stack, World world, Entity user, int itemSlot, bo super.onUpdate(stack, world, user, itemSlot, isSelected); if(!isSelected||!(user instanceof EntityLivingBase)||!((EntityLivingBase)user).getItemStackFromSlot(EntityEquipmentSlot.MAINHAND).equals(stack)) + { + if(!world.isRemote) + AmmunitionCrateHandler.finishReload(user, stack); return; + } //Setup variables EasyNBT nbt = getNBT(stack); @@ -273,10 +278,19 @@ else if(currentAim > 0) { reloading = ammoHandler.reloadWeapon(stack, world, user, nbt, upgrades, reloading); if(reloading==0) - shouldReload = false; + { + boolean continueReload = AmmunitionCrateHandler.shouldContinueGunReload(user, stack, ammoHandler, nbt); + shouldReload = continueReload; + if(!continueReload&&!world.isRemote) + AmmunitionCrateHandler.finishReload(user, stack); + } } else + { reloading = 0; + if(!world.isRemote) + AmmunitionCrateHandler.finishReload(user, stack); + } //Save parameters @@ -425,6 +439,29 @@ protected void shoot(@Nonnull ItemStack weapon, EntityLivingBase user, int count } } + /** + * Starts the normal weapon reload state machine. + * + * @param weapon weapon to reload + */ + public void startReload(ItemStack weapon) + { + getNBT(weapon).withBoolean(SHOULD_RELOAD, true); + } + + /** + * Returns an unloaded magazine to the active crate or the entity inventory. + * + * @param entity entity holding the weapon + * @param weapon weapon being reloaded + * @param magazine unloaded magazine + */ + public void returnReloadedMagazine(Entity entity, ItemStack weapon, ItemStack magazine) + { + if(!AmmunitionCrateHandler.returnReloadedMagazine(entity, weapon, magazine)) + IIUtils.giveOrDropCasingStack(entity, magazine); + } + /** * @param entity entity holding the gun * @param weapon the gun itemstack @@ -435,12 +472,16 @@ public ItemStack findAmmo(Entity entity, ItemStack weapon) if(!(entity instanceof EntityLivingBase)) return ItemStack.EMPTY; + AmmoHandler handler = getAmmoHandler(weapon); + if(AmmunitionCrateHandler.hasReloadSource(entity, weapon)) + return AmmunitionCrateHandler.findReloadAmmunition(entity, weapon, + ammo -> handler.isValidAmmo(weapon, ammo)); + if(entity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null)) { final IItemHandler capability = entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); if(capability==null) return ItemStack.EMPTY; - AmmoHandler handler = getAmmoHandler(weapon); for(int i = 0; i < capability.getSlots(); i++) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ammohandler/AmmoHandlerMagazine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ammohandler/AmmoHandlerMagazine.java index 937192cbe..514ca34bc 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ammohandler/AmmoHandlerMagazine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ammohandler/AmmoHandlerMagazine.java @@ -9,7 +9,6 @@ import net.minecraft.world.World; import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; import pl.pabilo8.immersiveintelligence.common.IIContent; -import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIBulletMagazine.Magazines; import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIGunBase; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; @@ -19,7 +18,10 @@ import java.util.List; /** + * Handles magazine-based ammunition storage and reload sequences. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 10.08.2026 * @since 20.02.2023 */ public abstract class AmmoHandlerMagazine extends AmmoHandler @@ -72,10 +74,22 @@ public ItemStack getNextAmmo(ItemStack weapon, EasyNBT nbt, boolean doTake) return ammo; } + /** + * Gets the magazine currently installed in the weapon. + * + * @param nbt weapon NBT + * @return loaded magazine or an empty stack + */ + @Nonnull + public ItemStack getLoadedMagazine(EasyNBT nbt) + { + return nbt.getItemStack(tag); + } + @Override public int reloadWeapon(ItemStack weapon, World world, Entity user, EasyNBT nbt, EasyNBT upgrades, int reloading) { - ItemStack loaded = nbt.getItemStack(tag), found; + ItemStack loaded = getLoadedMagazine(nbt), found; final int reloadTime = item.getReloadTime(weapon, loaded, upgrades); if(!loaded.isEmpty()) @@ -90,11 +104,12 @@ public int reloadWeapon(ItemStack weapon, World world, Entity user, EasyNBT nbt, { if(!world.isRemote) { - //Give or drop the magazine + //Return the magazine through the active reload source IIContent.itemBulletMagazine.defaultize(loaded); - IIUtils.giveOrDropCasingStack(user, loaded); - nbt.without(tag); + item.returnReloadedMagazine(user, weapon, loaded); } + //Mirror the visual weapon state on both sides. Item transfer stays server-side. + nbt.without(tag); return 0; //Stop } return reloading; //Continue @@ -112,13 +127,11 @@ public int reloadWeapon(ItemStack weapon, World world, Entity user, EasyNBT nbt, //Reloading if(reloading >= reloadTime) { + //Mirror the loaded magazine for the renderer on both sides. + nbt.withItemStack(tag, found.copy()); if(!world.isRemote) - { - //Set the magazine to the newly found one - nbt.withItemStack(tag, found); - //Take away the item from inventory + //Take away the item from the authoritative source. found.shrink(1); - } return 0; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java index 5d2279f0a..9a9f84192 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java @@ -408,7 +408,7 @@ public void doExplosionB(boolean spawnParticles) //play explosion sound IIPacketHandler.playRangedSound(world, getPosition(), causesFire?IISounds.explosionIncendiary: IISounds.explosion, - SoundCategory.NEUTRAL, (int)(72*size), 1f, pitch); + SoundCategory.NEUTRAL, (int)(72+6*size), 1f, pitch); if(spawnParticles) IIPacketHandler.sendToClient(MessageExplosion.createExplosionMessage( diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderAmmoCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderAmmoCrate.java index 80ce71959..d3ddc7d50 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderAmmoCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderAmmoCrate.java @@ -3,13 +3,17 @@ import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; import pl.pabilo8.immersiveintelligence.common.util.gun.GunAmmoProvider; import javax.annotation.Nonnull; import java.util.function.Supplier; /** + * Supplies a belt-fed mounted weapon directly from an Ammunition Crate. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 10.08.2026 * @ii-approved 0.3.1 * @since 26.05.2026 */ @@ -18,9 +22,8 @@ public class GunAmmoProviderAmmoCrate extends GunAmmoProvider public GunAmmoProviderAmmoCrate(Entity gun, Supplier operatorSupplier) { super(gun, operatorSupplier); + this.maxReload = 1; } - // For belt‑fed, no loading/unloading; always returns a bullet if crate has any. - // This is a placeholder – implement according to your crate logic. @Override protected void onLoadFinished() @@ -36,20 +39,19 @@ protected void onUnloadFinished() @Override protected ItemStack provideNextBullet() { - // TODO: Query the crate inventory at gunPosition.down() - return ItemStack.EMPTY; + return AmmunitionCrateHandler.extractMountedBullet(gun); } @Nonnull @Override public NonNullList getAmmoList() { - return NonNullList.create(); + return AmmunitionCrateHandler.getMountedAmmunition(gun); } @Override protected boolean canFindAmmo() { - return false; + return AmmunitionCrateHandler.hasMountedBullet(gun); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderMagazine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderMagazine.java index 8376f96a7..273898b36 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderMagazine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/ammoprovider/GunAmmoProviderMagazine.java @@ -6,6 +6,7 @@ import net.minecraft.util.NonNullList; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; +import pl.pabilo8.immersiveintelligence.api.ammocrate.AmmunitionCrateHandler; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIBulletMagazine.Magazines; import pl.pabilo8.immersiveintelligence.common.util.gun.GunAmmoProvider; @@ -16,11 +17,10 @@ import java.util.function.Supplier; /** - * Magazine-fed ammunition provider. - * Stores bullets internally as a list for fast access, and keeps a magazine ItemStack - * for simple persistence and external representation. + * Supplies a mounted weapon from magazines in the operator inventory or an Ammunition Crate. * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 10.08.2026 * @ii-approved 0.3.1 * @since 26.05.2026 */ @@ -41,32 +41,32 @@ public GunAmmoProviderMagazine(Entity gun, Supplier operatorSupplier, Ma //--- Bullet list and Magazine stack sync ---// /** - * Rebuilds the magazine ItemStack from the current bullet list. - * Should be called after any modification to the bullet list. + * Rebuilds the magazine stack after the bullet list changes. */ private void rebuildMagazineFromBullets() { if(getBulletCount()==0) { - magazineStack = ItemStack.EMPTY; + //Keep the physical magazine after its last round is fired. + if(!magazineStack.isEmpty()) + magazineStack = IIContent.itemBulletMagazine.getMagazine(magazineType); return; } - //Build a list of only non‑empty bullets (up to capacity) NonNullList bulletList = NonNullList.create(); - for(ItemStack b : bullets) - if(!b.isEmpty()) - bulletList.add(b); + for(ItemStack bullet : bullets) + if(!bullet.isEmpty()) + bulletList.add(bullet); + magazineStack = IIContent.itemBulletMagazine.getMagazine(magazineType); IIContent.itemBulletMagazine.writeInventory(magazineStack, bulletList); } /** - * Rebuilds the bullet list from the given magazine stack. - * Clears the current bullets and refills from the magazine. + * Rebuilds the internal bullet list from a magazine stack. * - * @param stack the magazine ItemStack to load from + * @param stack magazine to read */ private void rebuildBulletsFromMagazine(@Nonnull ItemStack stack) { @@ -89,18 +89,16 @@ private void rebuildBulletsFromMagazine(@Nonnull ItemStack stack) @Override protected void onLoadFinished() { - //Bullets have already been added during canFindAmmo(). - //Create the magazine stack from the bullets. rebuildMagazineFromBullets(); } @Override protected void onUnloadFinished() { - if(getBulletCount() > 0) + if(!magazineStack.isEmpty()) { - //Drop or give the magazine stack (which reflects the current bullets) - giveOrDrop(magazineStack); + if(!AmmunitionCrateHandler.returnMountedMagazine(gun, magazineType, magazineStack)) + giveOrDrop(magazineStack); clear(); magazineStack = ItemStack.EMPTY; } @@ -113,14 +111,13 @@ protected ItemStack provideNextBullet() if(getBulletCount()==0) return ItemStack.EMPTY; - //Find the first non‑empty bullet for(int i = 0; i < bullets.size(); i++) { ItemStack bullet = bullets.get(i); if(!bullet.isEmpty()) { bullets.set(i, ItemStack.EMPTY); - rebuildMagazineFromBullets(); //Keep magazine stack in sync + rebuildMagazineFromBullets(); return bullet.copy(); } } @@ -137,49 +134,60 @@ public NonNullList getAmmoList() @Override protected boolean canFindAmmo() { - //Check if full if(getBulletCount() >= magazineType.capacity) return false; //Try to find a matching magazine in the operator's hotbar - ItemStack foundMagazine = findMagazineInHotbar(magazineType); - if(foundMagazine!=null&&!foundMagazine.isEmpty()) - { - int needed = magazineType.capacity-getBulletCount(); - NonNullList magazineBullets = IIContent.itemBulletMagazine.readInventory(foundMagazine); - int taken = 0; + ItemStack foundMagazine = AmmunitionCrateHandler.findMountedMagazine(gun, magazineType); + boolean fromCrate = foundMagazine!=null&&!foundMagazine.isEmpty(); + if(!fromCrate) + foundMagazine = findMagazineInHotbar(magazineType); + + if(foundMagazine==null||foundMagazine.isEmpty()) + return false; + + int needed = magazineType.capacity-getBulletCount(); + NonNullList magazineBullets = IIContent.itemBulletMagazine.readInventory(foundMagazine); + int taken = 0; - //Transfer bullets from the found magazine into our internal list - for(int i = 0; i < magazineBullets.size()&&taken < needed; i++) + //Transfer bullets from the found magazine into our internal list + for(int i = 0; i < magazineBullets.size()&&taken < needed; i++) + { + ItemStack bullet = magazineBullets.get(i); + if(!bullet.isEmpty()) { - ItemStack bullet = magazineBullets.get(i); - if(!bullet.isEmpty()) + for(int j = 0; j < bullets.size(); j++) { - for(int j = 0; j < bullets.size(); j++) + if(bullets.get(j).isEmpty()) { - if(bullets.get(j).isEmpty()) - { - bullets.set(j, bullet.copy()); - taken++; - break; - } + bullets.set(j, bullet.copy()); + taken++; + break; } } } + } - if(taken > 0) - { - //Update the found magazine (remove transferred bullets) - IIContent.itemBulletMagazine.writeInventory(foundMagazine, magazineBullets); - - //If the magazine becomes empty, remove it from the operator's inventory - if(IIContent.itemBulletMagazine.hasNoBullets(foundMagazine)) - consumeMagazineFromHotbar(foundMagazine); + if(taken > 0) + { + //Update the found magazine (remove transferred bullets) + IIContent.itemBulletMagazine.writeInventory(foundMagazine, magazineBullets); + } + else + return false; - return true; - } + IIContent.itemBulletMagazine.writeInventory(foundMagazine, magazineBullets); + if(IIContent.itemBulletMagazine.hasNoBullets(foundMagazine)) + { + if(fromCrate) + AmmunitionCrateHandler.consumeMountedMagazine(gun, foundMagazine); + else + consumeMagazineFromHotbar(foundMagazine); } - return false; + else if(fromCrate) + AmmunitionCrateHandler.markMountedMagazineChanged(gun); + + return true; } //--- Utils ---// @@ -192,13 +200,13 @@ private void clear() private int getBulletCount() { int count = 0; - for(ItemStack b : bullets) - if(!b.isEmpty()) + for(ItemStack bullet : bullets) + if(!bullet.isEmpty()) count++; return count; } - //--- Persistence (for saving/loading to originStack) ---// + //--- Persistence ---// @Nonnull public ItemStack getLoadedStack() @@ -234,7 +242,8 @@ public void deserializeNBT(NBTTagCompound nbt) setLoadedStack(ItemStack.EMPTY); } - //--- Hotbar interaction helpers (copied from your existing code) ---// + //--- Hotbar interaction ---// + @Nullable protected ItemStack findMagazineInHotbar(Magazines expectedType) @@ -243,15 +252,14 @@ protected ItemStack findMagazineInHotbar(Magazines expectedType) if(player==null) return null; - IItemHandler inv = player.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); - if(inv==null) + IItemHandler inventory = player.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + if(inventory==null) return null; for(int i = 0; i < 9; i++) { - ItemStack stack = inv.getStackInSlot(i); - if(stack.getItem()==IIContent.itemBulletMagazine&& - IIContent.itemBulletMagazine.stackToSub(stack)==expectedType) + ItemStack stack = inventory.getStackInSlot(i); + if(stack.getItem()==IIContent.itemBulletMagazine&&IIContent.itemBulletMagazine.stackToSub(stack)==expectedType) return stack; } return null; @@ -263,14 +271,15 @@ protected boolean consumeMagazineFromHotbar(ItemStack magazine) if(player==null) return false; - IItemHandler inv = player.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); - if(inv==null) + + IItemHandler inventory = player.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + if(inventory==null) return false; for(int i = 0; i < 9; i++) - if(inv.getStackInSlot(i)==magazine) + if(inventory.getStackInSlot(i)==magazine) { - ItemStack extracted = inv.extractItem(i, 1, false); + ItemStack extracted = inventory.extractItem(i, 1, false); return !extracted.isEmpty(); } return false; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java index fe384690d..f38120528 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/tile/TileEntityIIBase.java @@ -1,6 +1,8 @@ package pl.pabilo8.immersiveintelligence.common.util.tile; +import blusunrize.immersiveengineering.client.models.IOBJModelCallback; import blusunrize.immersiveengineering.common.blocks.TileEntityIEBase; +import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.BlockPos; @@ -19,7 +21,7 @@ * @since 28.06.2026 */ @SuppressWarnings({"unchecked", "unused"}) -public class TileEntityIIBase extends TileEntityIEBase implements IWorldPosProvider +public class TileEntityIIBase extends TileEntityIEBase implements IWorldPosProvider, IOBJModelCallback { //--- NBT ---// diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device.json b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device.json index 58fba2294..31c7f1b45 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device.json @@ -37,6 +37,15 @@ "all": "immersiveintelligence:blocks/metal_device/steel_crate" } }, + "ammunition_crate": { + "model": "immersiveintelligence:smartmodel/conn_empty" + }, + "medic_crate": { + "model": "immersiveintelligence:smartmodel/conn_empty" + }, + "repair_crate": { + "model": "immersiveintelligence:smartmodel/conn_empty" + }, "data_router": { "textures": { "all": "immersiveintelligence:blocks/metal_device/data_router" diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/ammunition_crate.json b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/ammunition_crate.json index 4f99e4f7e..4d7b1e17b 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/ammunition_crate.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/ammunition_crate.json @@ -20,8 +20,8 @@ "ammunition_crate": { "model": "immersiveengineering:smartmodel/connector", "custom": { - "base": "immersiveintelligence:block/metal_device/effect_crate/ammunition_crate_base.obj", - "layers": ["CUTOUT_MIPPED"], + "base": "immersiveintelligence:block/metal_device/effect_crate/ammunition_crate_base.obj.ie", + "layers": ["CUTOUT"], "flip-v": true } } diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/medic_crate.json b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/medic_crate.json index db5b99dec..207d0424d 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/medic_crate.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/medic_crate.json @@ -20,8 +20,8 @@ "medic_crate": { "model": "immersiveengineering:smartmodel/connector", "custom": { - "base": "immersiveintelligence:block/metal_device/effect_crate/medic_crate_base.obj", - "layers": ["CUTOUT_MIPPED"], + "base": "immersiveintelligence:block/metal_device/effect_crate/medic_crate_base.obj.ie", + "layers": ["CUTOUT"], "flip-v": true } } diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/repair_crate.json b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/repair_crate.json index e4dd834d6..24837dd4c 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/repair_crate.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/metal_device/repair_crate.json @@ -20,8 +20,8 @@ "repair_crate": { "model": "immersiveengineering:smartmodel/connector", "custom": { - "base": "immersiveintelligence:block/metal_device/effect_crate/repair_crate_base.obj", - "layers": ["CUTOUT_MIPPED"], + "base": "immersiveintelligence:block/metal_device/effect_crate/repair_crate_base.obj.ie", + "layers": ["CUTOUT"], "flip-v": true } } diff --git a/src/main/resources/assets/immersiveintelligence/lang/de_de.lang b/src/main/resources/assets/immersiveintelligence/lang/de_de.lang index 710075734..218934bf9 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/de_de.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/de_de.lang @@ -1313,11 +1313,11 @@ desc.immersiveintelligence.data_merger.0=Beide desc.immersiveintelligence.data_merger.1=Links desc.immersiveintelligence.data_merger.2=Rechts -desc.immersiveintelligence.medical_crate.heal=Verwundete Entitäten heilen -desc.immersiveintelligence.medical_crate.boost=Entitäten Effekte hinzufügen +ii.gui.medical_crate.heal=Verwundete Entitäten heilen +ii.gui.medical_crate.boost=Entitäten Effekte hinzufügen -desc.immersiveintelligence.repair_crate.repair_armor=Beschädigte Rüstung Reparieren -desc.immersiveintelligence.repair_crate.repair_vehicles=Fahrzeuge Reparieren +ii.gui.repair_crate.repair_armor=Beschädigte Rüstung Reparieren +ii.gui.repair_crate.repair_vehicles=Fahrzeuge Reparieren desc.immersiveintelligence.jei.washing_recipe=Chemisches Waschen diff --git a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang index 884ad8363..d2ba04124 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang @@ -1561,12 +1561,6 @@ desc.immersiveintelligence.bullets.armor_penetration=Armor Penetration: desc.immersiveintelligence.bullet_magazine.remaining=Remaining Bullets: %s desc.immersiveintelligence.bullet_magazine.empty=Empty -desc.immersiveintelligence.medical_crate.heal=Heal Wounded Entities -desc.immersiveintelligence.medical_crate.boost=Apply Effects to Entities - -desc.immersiveintelligence.repair_crate.repair_armor=Repair Worn Armor -desc.immersiveintelligence.repair_crate.repair_vehicles=Repair Vehicles - desc.immersiveintelligence.jei.washing_recipe=Chemical Washing #Potion effects @@ -3349,6 +3343,24 @@ ii.gui.inserter.tasks.fluid=Fluid ii.gui.inserter.tasks.fluid_milk_cow=Milk Cow ii.gui.inserter.tasks.fluid_latex_collector=Collect Latex +ii.gui.ammunition_crate.mode=Mode: +ii.gui.ammunition_crate.section.ammunition=Ammunition +ii.gui.ammunition_crate.section.spent_casings=Spent Casings +ii.gui.ammunition_crate.section.spent_magazines=Spent Magazines +ii.gui.ammunition_crate.mode.revolver=Revolver +ii.gui.ammunition_crate.mode.submachinegun=Submachinegun +ii.gui.ammunition_crate.mode.assault_rifle=Assault Rifle +ii.gui.ammunition_crate.mode.rifle_bullets=Rifle (Bullets) +ii.gui.ammunition_crate.mode.rifle_magazines=Rifle (Magazines) +ii.gui.ammunition_crate.mode.machinegun_magazines=Machinegun (Magazines) +ii.gui.ammunition_crate.mode.machinegun_belt_fed=Machinegun (Belt-Fed) + +ii.gui.repair_crate.repair_armor=Repair Worn Armor +ii.gui.repair_crate.repair_vehicles=Repair Vehicles + +ii.gui.medical_crate.heal=Heal Wounded Entities +ii.gui.medical_crate.boost=Apply Effects to Entities + ii.gui.packer.task=Transfer: ii.gui.packer.task.item=Items ii.gui.packer.task.item.out=Pack diff --git a/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang b/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang index 8f29f7909..1ecd293f0 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang @@ -1480,11 +1480,11 @@ desc.immersiveintelligence.data_merger.0=Оба desc.immersiveintelligence.data_merger.1=Лево desc.immersiveintelligence.data_merger.2=Право -desc.immersiveintelligence.medical_crate.heal=Исцеляет раненых существ -desc.immersiveintelligence.medical_crate.boost=Применять эффекты к существам +ii.gui.medical_crate.heal=Исцеляет раненых существ +ii.gui.medical_crate.boost=Применять эффекты к существам -desc.immersiveintelligence.repair_crate.repair_armor=Восстанавливать изношенную броню -desc.immersiveintelligence.repair_crate.repair_vehicles=Восстанавливать технику +ii.gui.repair_crate.repair_armor=Восстанавливать изношенную броню +ii.gui.repair_crate.repair_vehicles=Восстанавливать технику desc.immersiveintelligence.jei.washing_recipe=Химическая мойка diff --git a/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang b/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang index cd01ba97c..d95a60d1f 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang @@ -1289,11 +1289,11 @@ desc.immersiveintelligence.data_merger.0=Обидва desc.immersiveintelligence.data_merger.1=Ліворуч desc.immersiveintelligence.data_merger.2=Правильно -desc.immersiveintelligence.medical_crate.heal=Лікувати поранених істот -desc.immersiveintelligence.medical_crate.boost=Застосувати ефекти до об'єктів +ii.gui.medical_crate.heal=Лікувати поранених істот +ii.gui.medical_crate.boost=Застосувати ефекти до об'єктів -desc.immersiveintelligence.repair_crate.repair_armor=Відремонтувати зношену броню -desc.immersiveintelligence.repair_crate.repair_vehicles=Ремонт транспортних засобів +ii.gui.repair_crate.repair_armor=Відремонтувати зношену броню +ii.gui.repair_crate.repair_vehicles=Ремонт транспортних засобів desc.immersiveintelligence.jei.washing_recipe=Хімічне промивання #Potion effects diff --git a/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang b/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang index 51c79500c..6fe2ce841 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang @@ -1,3617 +1,3617 @@ - -#Items -itemGroup.immersiveintelligence=沉浸智能 -itemGroup.ii.resources=资源 -itemGroup.ii.tools=工具与生产 -itemGroup.ii.electronics=数据与电子技术 -itemGroup.ii.logistics=物流 -itemGroup.ii.warfare=战争 -itemGroup.ii.intelligence=情报 -itemGroup.ii.rotary=旋转能 - -item.immersiveintelligence.material.basic_circuit_board_raw.name=未加工基础电路板 -item.immersiveintelligence.material.basic_circuit_board_etched.name=蚀刻基础电路板 -item.immersiveintelligence.material.basic_electronic_element.name=基础电子元件 -item.immersiveintelligence.material.circuit_template.name=电路模板 - -item.immersiveintelligence.material.advanced_circuit_board_raw.name=未加工高级电路板 -item.immersiveintelligence.material.advanced_circuit_board_etched.name=蚀刻高级电路板 -item.immersiveintelligence.material.advanced_circuit_board.name=高级电路板 -item.immersiveintelligence.material.advanced_electronic_element.name=高级电子元件 - -item.immersiveintelligence.material.cryptographic_circuit_board.name=密码学电路板 - -item.immersiveintelligence.material.processor_circuit_board_raw.name=未加工处理器电路板 -item.immersiveintelligence.material.processor_circuit_board_etched.name=蚀刻处理器电路板 -item.immersiveintelligence.material.processor_circuit_board.name=处理器电路板 -item.immersiveintelligence.material.processor_electronic_element.name=处理器 -item.immersiveintelligence.material.transistor.name=晶体管 - -item.immersiveintelligence.material.compact_electric_engine.name=紧凑型电力发动机 -item.immersiveintelligence.material.compact_electric_engine_advanced.name=高级电力发动机 -item.immersiveintelligence.material.carbon_brush.name=碳刷 -item.immersiveintelligence.material.glass_fibre_cable.name=玻璃纤维线缆 -item.immersiveintelligence.material.sandbag.name=沙袋 - -item.immersiveengineering.material.gunpart_barrel.name=钢制枪管 -item.immersiveintelligence.material.iron_gun_barrel.name=铁质枪管 -item.immersiveintelligence.material.tungsten_gun_barrel.name=精密枪管 -item.immersiveintelligence.material.gun_stock.name=木制枪托 -item.immersiveintelligence.material.gun_casing.name=木制护木 - -item.immersiveengineering.material.gunpart_hammer.name=转轮手枪击锤 -item.immersiveengineering.material.gunpart_drum.name=转轮手枪弹巢 -item.immersiveintelligence.material.firing_mechanism.name=栓动枪机 -item.immersiveintelligence.material.advanced_firing_mechanism.name=自动枪机 - -item.immersiveintelligence.material.advanced_electron_tube.name=高级真空管 - -item.immersiveintelligence.material.antenna.name=天线 -item.immersiveintelligence.material.high_frequency_antenna.name=高频天线 -item.immersiveintelligence.material.camera.name=摄像机 -item.immersiveintelligence.material.improved_camera.name=改进摄像机 -item.immersiveintelligence.material.targeting_device.name=瞄准装置 -item.immersiveintelligence.material.high_precision_targeting_device.name=精密瞄准装置 -item.immersiveintelligence.material.lens.name=镜头 -item.immersiveintelligence.material.infrared_lens.name=红外镜头 - -item.immersiveintelligence.material.punchtape_empty.name=空白打孔纸带 -item.immersiveintelligence.punchtape.name=打孔纸带 - -item.immersiveintelligence.binoculars.binoculars.name=双筒望远镜 -item.immersiveintelligence.binoculars.infrared_binoculars.name=红外双筒望远镜 - -item.immersiveintelligence.assembly_scheme.name=装配方案 - -item.immersiveintelligence.press_mold.howitzer.name=金属冲压模具:榴弹炮弹壳 -item.immersiveintelligence.press_mold.medium_howitzer.name=金属冲压模具:中型火炮弹壳 -item.immersiveintelligence.press_mold.light_howitzer.name=金属冲压模具:轻型火炮弹壳 -item.immersiveintelligence.press_mold.mortar.name=金属冲压模具:迫击炮弹壳 -item.immersiveintelligence.press_mold.light_gun.name=金属冲压模具:轻型炮弹壳 -item.immersiveintelligence.press_mold.autocannon.name=金属冲压模具:机炮弹壳 -item.immersiveintelligence.press_mold.shotgun.name=金属冲压模具:霰弹枪弹壳 -item.immersiveintelligence.press_mold.machinegun.name=金属冲压模具:机枪弹壳 -item.immersiveintelligence.press_mold.assault_rifle.name=金属冲压模具:突击步枪弹壳 -item.immersiveintelligence.press_mold.submachinegun.name=金属冲压模具:冲锋枪弹壳 -item.immersiveintelligence.press_mold.naval_mine.name=金属冲压模具:水雷壳体 -item.immersiveintelligence.press_mold.tripmine.name=金属冲压模具:绊雷壳体 -item.immersiveintelligence.press_mold.tellermine.name=金属冲压模具:地雷壳体 - -item.immersiveintelligence.vulcanizer_mold.belt.name=硫化机模具:皮带 -item.immersiveintelligence.vulcanizer_mold.tire.name=硫化机模具:轮胎 - -item.immersiveintelligence.material_ingot.platinum.name=铂锭 -item.immersiveintelligence.material_ingot.zinc.name=锌锭 -item.immersiveintelligence.material_ingot.tungsten.name=钨锭 -item.immersiveintelligence.material_ingot.brass.name=黄铜锭 -item.immersiveintelligence.material_ingot.advanced_electronic_alloy.name=高级电子合金锭 -item.immersiveintelligence.material_ingot.silicon.name=硅粉 -item.immersiveintelligence.material_ingot.magnet.name=磁铁 -item.immersiveintelligence.material_ingot.duraluminium.name=硬铝合金锭 - -item.immersiveintelligence.material_rod.brass.name=黄铜棒 -item.immersiveintelligence.material_rod.tungsten.name=钨棒 -item.immersiveintelligence.material_rod.zinc.name=锌棒 -item.immersiveintelligence.material_rod.platinum.name=铂棒 -item.immersiveintelligence.material_rod.duraluminium.name=硬铝合金棒 - -item.immersiveintelligence.material_dust.platinum.name=铂粉 -item.immersiveintelligence.material_dust.zinc.name=锌粉 -item.immersiveintelligence.material_dust.tungsten.name=钨粉 -item.immersiveintelligence.material_dust.brass.name=黄铜粉 -item.immersiveintelligence.material_dust.advanced_electronic_alloy.name=高级电子合金粉 -item.immersiveintelligence.material_dust.silicon.name=硅粉 -item.immersiveintelligence.material_dust.fluorite.name=氟石粉 -item.immersiveintelligence.material_dust.quartz.name=石英粉 -item.immersiveintelligence.material_dust.quartz_dirty.name=不洁石英粉 -item.immersiveintelligence.material_dust.phosphorus.name=磷粉 -item.immersiveintelligence.material_dust.duraluminium.name=硬铝合金粉 - -item.immersiveintelligence.material_plate.platinum.name=铂板 -item.immersiveintelligence.material_plate.zinc.name=锌板 -item.immersiveintelligence.material_plate.tungsten.name=钨板 -item.immersiveintelligence.material_plate.brass.name=黄铜板 -item.immersiveintelligence.material_plate.advanced_electronic_alloy.name=高级电子合金板 -item.immersiveintelligence.material_plate.silicon.name=硅晶圆 -item.immersiveintelligence.material_plate.rubber_raw.name=天然橡胶片 -item.immersiveintelligence.material_plate.duraluminium.name=硬铝合金板 - -item.immersiveintelligence.material_nugget.platinum.name=铂粒 -item.immersiveintelligence.material_nugget.zinc.name=锌粒 -item.immersiveintelligence.material_nugget.tungsten.name=钨粒 -item.immersiveintelligence.material_nugget.brass.name=黄铜粒 -item.immersiveintelligence.material_nugget.advanced_electronic_alloy.name=高级电子合金粒 -item.immersiveintelligence.material_nugget.silicon.name=硅片 -item.immersiveintelligence.material_nugget.duraluminium.name=硬铝合金粒 -item.immersiveintelligence.material_nugget.rubber.name=橡胶粒 - -item.immersiveintelligence.material_wire.tungsten.name=钨质线缆 -item.immersiveintelligence.material_wire.brass.name=黄铜线缆 - -item.immersiveintelligence.material_gem.fluorite.name=下界氟石 -#Based on real-life mineral glauconite, though the word phosphorus is easier to remember -item.immersiveintelligence.material_gem.phosphorus.name=下界磷石 - -item.immersiveintelligence.material_boule.silicon.name=单晶硅 - -item.immersiveintelligence.material_spring.brass.name=黄铜弹簧 -item.immersiveintelligence.material_spring.iron.name=铁质弹簧 -item.immersiveintelligence.material_spring.steel.name=钢质弹簧 - -item.immersiveintelligence.material.dust_rdx.name=黑索金粉 -item.immersiveintelligence.material.dust_hmx.name=奥克托金粉 -item.immersiveintelligence.material.white_phosphorus.name=白磷 - -item.immersiveintelligence.material.bullet_core_steel.name=钢质弹芯 -item.immersiveintelligence.material.bullet_core_brass.name=黄铜弹芯 -item.immersiveintelligence.material.bullet_core_uranium.name=铀质弹芯 -item.immersiveintelligence.material.bullet_core_lead.name=铅质弹芯 -item.immersiveintelligence.material.bullet_core_tungsten.name=钨质弹芯 - -item.immersiveintelligence.material.dust_salt.name=盐粉 -item.immersiveintelligence.material.dust_wood.name=锯末 -item.immersiveintelligence.material.pulp_wood.name=木浆 -item.immersiveintelligence.material.pulp_wood_treated.name=处理过的木浆 -item.immersiveintelligence.material.dust_hexamine.name=乌洛托品粉 -item.immersiveintelligence.material.dust_formaldehyde.name=甲醛粉 -item.immersiveintelligence.material.rubber_compound.name=硫化混合橡胶 - -item.immersiveintelligence.material.artificial_leather.name=人造革 -item.immersiveintelligence.material.natural_rubber.name=天然橡胶 -item.immersiveintelligence.material.rubber_belt.name=橡胶带 -item.immersiveintelligence.material.rubber_tire.name=橡胶轮胎 - -item.immersiveintelligence.circuit_functional.arithmetic.name=运算电路 -item.immersiveintelligence.circuit_functional.advanced_arithmetic.name=高级运算电路 -item.immersiveintelligence.circuit_functional.logic.name=逻辑电路 -item.immersiveintelligence.circuit_functional.comparator.name=比较电路 -item.immersiveintelligence.circuit_functional.advanced_logic.name=高级逻辑电路 -item.immersiveintelligence.circuit_functional.text.name=文本处理电路 -item.immersiveintelligence.circuit_functional.itemstack.name=物品堆栈处理电路 -item.immersiveintelligence.circuit_functional.array.name=阵列运算电路 -item.immersiveintelligence.circuit_functional.entity.name=实体处理电路 -item.immersiveintelligence.circuit_functional.document.name=文档处理电路 -item.immersiveintelligence.circuit_functional.type_conversion.name=类型转换电路 -item.immersiveintelligence.circuit_functional.fluidstack.name=流体堆栈处理电路 -item.immersiveintelligence.circuit_functional.map.name=地图处理电路 -item.immersiveintelligence.circuit_functional.vector_arithmetic.name=矢量运算电路 -item.immersiveintelligence.circuit_functional.cryptographer.name=密码电路 - - -item.immersiveintelligence.minecart.wooden_crate.name=木质储物箱矿车 -item.immersiveintelligence.minecart.reinforced_crate.name=强化木质储物箱矿车 -item.immersiveintelligence.minecart.steel_crate.name=钢质储物箱矿车 -item.immersiveintelligence.minecart.wooden_barrel.name=木桶矿车 -item.immersiveintelligence.minecart.metal_barrel.name=金属桶矿车 -item.immersiveintelligence.minecart.capacitor_lv.name=低压电容器矿车 -item.immersiveintelligence.minecart.capacitor_mv.name=中压电容器矿车 -item.immersiveintelligence.minecart.capacitor_hv.name=高压电容器矿车 -item.immersiveintelligence.minecart.capacitor_creative.name=创造电容器矿车 -#Immersive Technology Compat -item.immersiveintelligence.minecart.crate_creative.name=创造储存箱矿车 -item.immersiveintelligence.minecart.barrel_creative.name=创造储存桶矿车 -item.immersiveintelligence.minecart.steel_barrel.name=钢桶矿车 -item.immersiveintelligence.minecart.open_barrel.name=开放式金属桶矿车 - -item.immersiveintelligence.light_engineer_armor_helmet.name=工程师轻型头盔 -item.immersiveintelligence.light_engineer_armor_chestplate.name=工程师轻型胸甲 -item.immersiveintelligence.light_engineer_armor_leggings.name=工程师轻型护腿 -item.immersiveintelligence.light_engineer_armor_boots.name=工程师轻型靴子 -item.immersiveintelligence.advanced_powerpack.name=先进电容器背包 - -item.immersiveintelligence.lighter.name=工程师打火机 -item.immersiveintelligence.measuring_cup.name=工程师量杯 -item.immersiveintelligence.electric_hammer.name=工程师电动锤 -item.immersiveintelligence.electric_wirecutter.name=工程师电动钳 -item.immersiveintelligence.electric_multitool.name=工程师电动多功能工具 -item.immersiveintelligence.radio_configurator.basic.name=基础无线电调谐器 -item.immersiveintelligence.radio_configurator.advanced.name=先进无线电调谐器 -item.immersiveintelligence.trench_shovel.name=堑壕铲 -item.immersiveintelligence.tripod_periscope.name=三脚架潜望镜 -item.immersiveintelligence.mine_detector.name=地雷探测器 -item.immersiveintelligence.mortar.name=迫击炮 -item.immersiveintelligence.machinegun.name=机枪 -item.immersiveintelligence.assault_rifle.name=突击步枪 -item.immersiveintelligence.submachinegun.name=冲锋枪 -item.immersiveintelligence.autorevolver.name=自动转轮手枪 -item.immersiveintelligence.rifle.name=步枪 -item.immersiveintelligence.rifle_handmade.name=手工步枪 - -#Drillheads -item.immersiveintelligence.drillhead.tungsten.name=钨质钻头 -item.immersiveintelligence.drillhead.iron_diamond_tip.name=镶钻铁质钻头 -item.immersiveintelligence.drillhead.steel_diamond_tip.name=镶钻钢质钻头 -item.immersiveintelligence.drillhead.tungsten_diamond_tip.name=镶钻钨质钻头 - -item.immersiveintelligence.weapon_upgrade.water_cooling.name=水冷枪管 -item.immersiveintelligence.weapon_upgrade.heavy_barrel.name=重型枪管 -item.immersiveintelligence.weapon_upgrade.second_magazine.name=副弹匣 -item.immersiveintelligence.weapon_upgrade.belt_fed_loader.name=弹链供弹系统 -item.immersiveintelligence.weapon_upgrade.precise_bipod.name=精密双脚架 -item.immersiveintelligence.weapon_upgrade.hasty_bipod.name=临时双脚架 -item.immersiveintelligence.weapon_upgrade.scope.name=瞄准镜 -item.immersiveintelligence.weapon_upgrade.infrared_scope.name=红外瞄准镜 -item.immersiveintelligence.weapon_upgrade.shield.name=机枪盾 -item.immersiveintelligence.weapon_upgrade.tripod.name=三脚架 - -item.immersiveintelligence.weapon_upgrade.sturdy_barrel.name=强化枪管 -item.immersiveintelligence.weapon_upgrade.suppressor.name=消音器 -item.immersiveintelligence.weapon_upgrade.bottom_loading.name=下置装弹器 -item.immersiveintelligence.weapon_upgrade.folding_stock.name=折叠式枪托 - -item.immersiveintelligence.weapon_upgrade.heavy_springbox.name=重型弹簧匣 - -item.immersiveintelligence.weapon_upgrade.radio_marker.name=无线电信标 -item.immersiveintelligence.weapon_upgrade.rifle_grenade_launcher.name=枪榴弹发射器 -item.immersiveintelligence.weapon_upgrade.stereoscopic_rangefinder.name=立体测距仪 -item.immersiveintelligence.weapon_upgrade.gyroscopic_stabilizer.name=陀螺仪稳定器 -item.immersiveintelligence.weapon_upgrade.electric_firing_motor.name=火控电机 -item.immersiveintelligence.weapon_upgrade.railgun_assisted_chamber.name=磁轨炮伺服腔 - -item.immersiveintelligence.weapon_upgrade.semi_automatic.name=半自动枪机 -item.immersiveintelligence.weapon_upgrade.extended_barrel.name=加长枪管 - -item.immersiveintelligence.armor_upgrade.gasmask.name=防毒面具 -item.immersiveintelligence.armor_upgrade.infiltrator_gear.name=渗透者面罩 -item.immersiveintelligence.armor_upgrade.technician_gear.name=技师面罩 -item.immersiveintelligence.armor_upgrade.engineer_gear.name=工程师面罩 -item.immersiveintelligence.armor_upgrade.steel_armor_plates.name=钢质装甲板 -item.immersiveintelligence.armor_upgrade.composite_armor_plates.name=复合装甲板 -item.immersiveintelligence.armor_upgrade.hazmat_coating.name=防化覆层 -item.immersiveintelligence.armor_upgrade.heat_resistant_coating.name=耐热覆层 -item.immersiveintelligence.armor_upgrade.anti_static_mesh.name=绝缘伪装层 -item.immersiveintelligence.armor_upgrade.camouflage_mesh.name=伪装层 -item.immersiveintelligence.armor_upgrade.infrared_absorbing_mesh.name=红外伪装层 -item.immersiveintelligence.armor_upgrade.scuba_tank.name=压缩气罐 -item.immersiveintelligence.armor_upgrade.helipack.name=浮空背包 -item.immersiveintelligence.armor_upgrade.exoskeleton.name=外骨骼 -item.immersiveintelligence.armor_upgrade.boot_reinforcement.name=靴子加强件 -item.immersiveintelligence.armor_upgrade.snow_rackets.name=雪拍 -item.immersiveintelligence.armor_upgrade.flippers.name=脚蹼 -item.immersiveintelligence.armor_upgrade.internal_springs.name=内置弹簧 - -item.immersiveintelligence.tracer_powder.tracer_powder.name=示踪剂 -item.immersiveintelligence.tracer_powder.flare_powder.name=闪光粉 - -item.immersiveintelligence.skycrate_mount.mechanical.name=索道载架 -item.immersiveintelligence.skycrate_mount.electric.name=电动索道载架 - -desc.immersiveintelligence.electric_hammer=旋转方块,切换机器部件,形成多方块结构. -desc.immersiveintelligence.electric_wirecutter=切割线缆与电机皮带,类似于剪刀. -desc.immersiveintelligence.trench_shovel=更快地埋设地雷,强化方块. -desc.immersiveintelligence.wrench=向兼容的机器中安装升级. -desc.immersiveintelligence.tachometer=测量旋转装置的转速与扭矩. -desc.immersiveintelligence.binoculars=使你看得更远. -desc.immersiveintelligence.casing_pouch=储存用过的弹壳与空弹匣. - -desc.immersiveintelligence.toolupgrade.item.revolver=转轮手枪 -desc.immersiveintelligence.toolupgrade.item.railgun=磁轨炮 -desc.immersiveintelligence.toolupgrade.item.machinegun=机枪 -desc.immersiveintelligence.toolupgrade.item.submachinegun=冲锋枪 -desc.immersiveintelligence.toolupgrade.item.mortar=迫击炮 -desc.immersiveintelligence.toolupgrade.item.assault_rifle=突击步枪 -desc.immersiveintelligence.toolupgrade.item.autorevolver=自动转轮手枪 -desc.immersiveintelligence.toolupgrade.item.rifle=步枪 - -desc.immersiveintelligence.filled_casing=填满火药 -desc.immersiveintelligence.explosives_programmed=以数据包编程 - -desc.immersiveintelligence.toolupgrade.item.light_engineer_helmet=工程师轻型头盔 -desc.immersiveintelligence.toolupgrade.item.light_engineer_chestplate=工程师轻型胸甲 -desc.immersiveintelligence.toolupgrade.item.light_engineer_leggings=工程师轻型护腿 -desc.immersiveintelligence.toolupgrade.item.light_engineer_boots=工程师轻型靴子 - -desc.immersiveintelligence.toolupgrade.water_cooling=使用水冷却机枪,增加机枪能承受的最大热量. -desc.immersiveintelligence.toolupgrade.heavy_barrel=显著提高射速,会导致更高的后坐力和更快的过热速度. -desc.immersiveintelligence.toolupgrade.second_magazine=允许同时使用两个弹匣中的弹药,需要单独重新装填. -desc.immersiveintelligence.toolupgrade.belt_fed_loader=允许使用玩家下方弹药箱中的弹药,增加部署时间. -desc.immersiveintelligence.toolupgrade.precise_bipod=增加部署时间,减小后坐力. -desc.immersiveintelligence.toolupgrade.hasty_bipod=减少部署时间,增加后坐力 -desc.immersiveintelligence.toolupgrade.scope=提供远距离瞄准视野. -desc.immersiveintelligence.toolupgrade.infrared_scope=提供清晰的夜间视野,需要电源,例如电容器背包. -desc.immersiveintelligence.toolupgrade.shield=抵挡投射物并保护射手免受近战伤害,增加部署时间. -desc.immersiveintelligence.toolupgrade.tripod=几乎去除后坐力,增大瞄准角度并增加部署时间. - -desc.immersiveintelligence.toolupgrade.sturdy_barrel=增加弹速与穿透力,降低射速. -desc.immersiveintelligence.toolupgrade.suppressor=降低枪响,以便进行快速且隐蔽的行动. -desc.immersiveintelligence.toolupgrade.bottom_loading=更换握把使枪变为由下方装弹并兼容弹鼓. -desc.immersiveintelligence.toolupgrade.folding_stock=增加装填速度与瞄准速度,降低移动时的精准度. - -desc.immersiveintelligence.toolupgrade.heavy_springbox=增加弹速与穿透力,降低射速. - -desc.immersiveintelligence.toolupgrade.rifle_grenade_launcher=允许发射磁轨炮榴弹,但射程远低于磁轨炮. -desc.immersiveintelligence.toolupgrade.stereoscopic_rangefinder=显示与目标的距离,配合无线电信标可以通过数据发送敌人的位置. -desc.immersiveintelligence.toolupgrade.gyroscopic_stabilizer=在射击后自动稳定枪械,降低所有开火模式的后坐力,需要电力. -desc.immersiveintelligence.toolupgrade.electric_firing_motor=在全自动开火模式下增加射速,需要电力. -desc.immersiveintelligence.toolupgrade.railgun_assisted_chamber=在手动射击模式下增加弹速,需要电力. - -desc.immersiveintelligence.toolupgrade.semi_automatic=允许通过弹匣装填,增加射速. -desc.immersiveintelligence.toolupgrade.extended_barrel=在手动射击模式下增加弹速,降低射速. - -desc.immersiveintelligence.toolupgrade.gasmask=保护使用者免受有害气体伤害. - -desc.immersiveintelligence.toolupgrade.infiltrator_gear=提供夜视与变焦视野,使用需要电力. -desc.immersiveintelligence.toolupgrade.technician_gear=显示通常需要手持工程师锤,扳手或电表才能显示的信息,使用需要电力. -desc.immersiveintelligence.toolupgrade.engineer_gear=将渗透者面罩与技师面罩的功能结合,但能源消耗也增大了. -desc.immersiveintelligence.toolupgrade.steel_armor_plates=略微增加装甲厚度,可以反弹箭和其他轻型投射物,每件装甲最多可安装3个. -desc.immersiveintelligence.toolupgrade.composite_armor_plates=显著增加装甲厚度,当敌人近战武器不能穿透装甲时,可以反弹投射物与近战伤害.每件装甲最多可安装3个. -desc.immersiveintelligence.toolupgrade.hazmat_coating=使装甲可以防御辐射与腐蚀性物质. -desc.immersiveintelligence.toolupgrade.heat_resistant_coating=配合靴子加强件使用可以在高温流体中游泳. -desc.immersiveintelligence.toolupgrade.anti_static_mesh=使穿戴者免疫电击且无法被特斯拉线圈瞄准,但对水下的电流非常敏感. -desc.immersiveintelligence.toolupgrade.camouflage_mesh=使穿戴者在靠近树叶时隐形,但对火极其敏感. -desc.immersiveintelligence.toolupgrade.infrared_absorbing_mesh=使穿戴者对红外设备隐形,但对EMP极其敏感. -desc.immersiveintelligence.toolupgrade.scuba_tank=配合防毒面具可在装满氧气后在水下呼吸. -desc.immersiveintelligence.toolupgrade.helipack=允许缓慢且稳定的飞行,消耗汽油. -desc.immersiveintelligence.toolupgrade.exoskeleton=允许更快的奔跑,使用时消耗电力. -desc.immersiveintelligence.toolupgrade.boot_reinforcement=使穿戴者免疫火焰伤害,配合耐热覆层使用可以在高温流体中游泳. -desc.immersiveintelligence.toolupgrade.snow_rackets=增加在雪地的移动速度与在冰上的稳定性. -desc.immersiveintelligence.toolupgrade.flippers=增加在水下的移动速度. -desc.immersiveintelligence.toolupgrade.internal_springs=使穿戴者免疫摔落伤害,并使脚步静音. - -item.immersiveintelligence.data_wire.name=数据线圈 - -item.immersiveintelligence.trip_wire.name=绊线线圈 - -item.immersiveintelligence.small_wirecoil.data.name=小型数据线圈 -item.immersiveintelligence.small_wirecoil.redstone.name=小型红石线圈 -desc.immersiveintelligence.small_wirecoil=用于精密电子设备的链接,如安装的电路. - -item.immersiveintelligence.printed_page.blank.name=空白页 -item.immersiveintelligence.printed_page.text.name=打印的文本 -item.immersiveintelligence.printed_page.code.name=打印的代码 -item.immersiveintelligence.printed_page.blueprint.name=打印的装配方案 -item.immersiveintelligence.printed_page.bound_pages.name=装订页 -item.immersiveintelligence.printed_page.newspaper.name=报纸 -item.immersiveintelligence.printed_page.book.name=书册 -item.immersiveintelligence.printed_page.letter.name=信 -item.immersiveintelligence.printed_page.letter_opened.name=打开的信 - -item.immersiveintelligence.logistic_tag.name=物流清单 - -item.immersiveintelligence.precission_tool.buzzsaw.name=精密圆锯 -item.immersiveintelligence.precission_tool.drill.name=精密钻头 -item.immersiveintelligence.precission_tool.inserter.name=精密插件机 -item.immersiveintelligence.precission_tool.solderer.name=精密焊锡机 -item.immersiveintelligence.precission_tool.welder.name=精密焊接机 -item.immersiveintelligence.precission_tool.hammer.name=精密锤 - -item.immersiveintelligence.sawblade.iron.name=铁质锯片 -item.immersiveintelligence.sawblade.steel.name=钢质锯片 -item.immersiveintelligence.sawblade.tungsten.name=钨质锯片 - -#bCal - Block-Caliber (1/16 Block = 1 bCal) -#Casings -item.immersiveintelligence.ammo_casing.artillery_8bcal.name=榴弹炮弹壳 -item.immersiveintelligence.artillery_8bCal.core.name=榴弹炮弹战斗部 -item.immersiveintelligence.artillery_8bCal.bullet.name=榴弹炮弹 - -item.immersiveintelligence.ammo_casing.medium_artillery_6bcal.name=中型火炮弹壳 -item.immersiveintelligence.artillery_6bcal_long.core.name=中型炮弹战斗部 -item.immersiveintelligence.artillery_6bcal_long.bullet.name=中型炮弹 - -item.immersiveintelligence.ammo_casing.light_artillery_6bcal.name=轻型火炮弹壳 -item.immersiveintelligence.artillery_6bcal.core.name=轻型火炮弹战斗部 -item.immersiveintelligence.artillery_6bcal.bullet.name=轻型火炮弹 - -item.immersiveintelligence.ammo_casing.light_gun_4bcal.name=轻型枪弹弹壳 -item.immersiveintelligence.gun_4bcal.core.name=轻型枪弹战斗部 -item.immersiveintelligence.gun_4bcal.bullet.name=轻型枪弹 - -item.immersiveintelligence.ammo_casing.rocket_6bcal.name=火箭外壳 -item.immersiveintelligence.rocket_6bcal.core.name=火箭战斗部 -item.immersiveintelligence.rocket_6bcal.bullet.name=火箭 - -item.immersiveintelligence.ammo_casing.heavy_rocket_10bcal.name=重型火箭外壳 -item.immersiveintelligence.rocket_10bcal.core.name=重型火箭战斗部 -item.immersiveintelligence.rocket_10bcal.bullet.name=重型火箭 - -item.immersiveintelligence.ammo_casing.guided_missile_6bcal.name=线导导弹外壳 -item.immersiveintelligence.missile_guided_6bcal.core.name=线导导弹战斗部 -item.immersiveintelligence.missile_guided_6bcal.bullet.name=线导导弹 - -item.immersiveintelligence.ammo_casing.mortar_6bcal.name=迫击炮弹壳 -item.immersiveintelligence.mortar_6bcal.core.name=迫击炮弹战斗部 -item.immersiveintelligence.mortar_6bcal.bullet.name=迫击炮弹 - -item.immersiveintelligence.ammo_casing.mg_2bcal.name=机枪弹壳 -item.immersiveintelligence.mg_2bcal.core.name=机枪弹头 -item.immersiveintelligence.mg_2bcal.bullet.name=机枪弹 - -item.immersiveintelligence.ammo_casing.stg_1bcal.name=突击步枪弹壳 -item.immersiveintelligence.stg_1bcal.core.name=突击步枪弹头 -item.immersiveintelligence.stg_1bcal.bullet.name=突击步枪弹 - -item.immersiveintelligence.ammo_casing.smg_1bcal.name=冲锋枪弹壳 -item.immersiveintelligence.smg_1bcal.core.name=冲锋枪弹头 -item.immersiveintelligence.smg_1bcal.bullet.name=冲锋枪弹 - -item.immersiveintelligence.revolver_1bcal.core.name=转轮手枪弹壳 -item.immersiveintelligence.revolver_1bcal.bullet.name=转轮手枪弹 - -item.immersiveintelligence.ammo_casing.autocannon_3bcal.name=机炮弹壳 -item.immersiveintelligence.autocannon_3bcal.core.name=机炮弹战斗部 -item.immersiveintelligence.autocannon_3bcal.bullet.name=机炮弹 - -item.immersiveintelligence.grenade_5bcal.core.name=手榴弹战斗部 -item.immersiveintelligence.grenade_5bcal.bullet.name=手榴弹 - -item.immersiveengineering.bullet.empty_casing.name=转轮手枪弹壳 -item.immersiveengineering.mold.bullet_casing.name=金属冲压模板: 转轮手枪弹壳 -item.immersiveintelligence.railgun_grenade_4bcal.core.name=磁轨炮榴弹战斗部 -item.immersiveintelligence.railgun_grenade_4bcal.bullet.name=磁轨炮榴弹 - -#Components - -item.immersiveintelligence.bullet.component.tnt.name=三硝基甲苯 -item.immersiveintelligence.bullet.component.rdx.name=黑索金 -item.immersiveintelligence.bullet.component.hmx.name=奥克托金 -item.immersiveintelligence.bullet.component.white_phosphorus.name=白磷 -item.immersiveintelligence.bullet.component.firework.name=烟火 -item.immersiveintelligence.bullet.component.tesla.name=电荷发射器 -item.immersiveintelligence.bullet.component.tracer_powder.name=示踪剂 -item.immersiveintelligence.bullet.component.flare_powder.name=闪光粉 -item.immersiveintelligence.bullet.component.propaganda.name=宣传弹 -#shh! it's a secret! -item.immersiveintelligence.bullet.component.fish.name=鱼弹(?) -item.immersiveintelligence.bullet.component.nuke.name=核战斗部 - -#Cores - -item.immersiveintelligence.bullet.component.core_steel.name=钢制弹芯 -item.immersiveintelligence.bullet.component.core_brass.name=黄铜弹芯 -item.immersiveintelligence.bullet.component.core_copper.name=铜质弹芯 -item.immersiveintelligence.bullet.component.core_iron.name=铁质弹芯 -item.immersiveintelligence.bullet.component.core_tungsten.name=钨质弹芯 -item.immersiveintelligence.bullet.component.core_lead.name=铅质弹芯 -item.immersiveintelligence.bullet.component.core_uranium.name=铀质弹芯 -item.immersiveintelligence.bullet.component.core_pabilium.name=P大神钢弹芯 -item.immersiveintelligence.bullet.component.core_rubber.name=橡胶弹芯 - -item.immersiveintelligence.bullet_magazine.machinegun.name=机枪弹匣 -item.immersiveintelligence.bullet_magazine.submachinegun.name=冲锋枪弹匣 -item.immersiveintelligence.bullet_magazine.submachinegun_drum.name=机枪弹鼓 -item.immersiveintelligence.bullet_magazine.automatic_revolver.name=自动转轮手枪弹匣 -item.immersiveintelligence.bullet_magazine.assault_rifle.name=突击步枪弹匣 -item.immersiveintelligence.bullet_magazine.autocannon.name=机炮弹匣 -item.immersiveintelligence.bullet_magazine.cpds_drum.name=CPDS弹鼓 -item.immersiveintelligence.bullet_magazine.rifle.name=步枪弹匣 - -item.immersiveintelligence.casing_pouch.name=废弃包装袋 - -item.immersiveintelligence.motor_gear.copper.name=铜质齿轮 -item.immersiveintelligence.motor_gear.brass.name=黄铜齿轮 -item.immersiveintelligence.motor_gear.iron.name=铁质齿轮 -item.immersiveintelligence.motor_gear.steel.name=钢质齿轮 -item.immersiveintelligence.motor_gear.tungsten.name=钨质齿轮 - -item.immersiveintelligence.motor_belt.cloth.name=布质传动带 -item.immersiveintelligence.motor_belt.steel.name=钢质传动带 -item.immersiveintelligence.motor_belt.rubber.name=橡胶皮带 - -item.immersiveintelligence.wrench.name=工程师扳手 -item.immersiveintelligence.electric_wrench.name=工程师电扳手 - -item.immersiveintelligence.tachometer.name=工程师转速计 -item.immersiveintelligence.torque_meter.name=工程师扭矩计 - -#Blocks - -tile.immersiveintelligence.ore.platinum.name=铂矿石 -tile.immersiveintelligence.sheetmetal.platinum.name=铂板块 -tile.immersiveintelligence.storage.platinum.name=铂块 -tile.immersiveintelligence.sheetmetal_slab.platinum.name=铂板台阶 -tile.immersiveintelligence.storage_slab.platinum.name=铂台阶 - -tile.immersiveintelligence.ore.zinc.name=锌矿石 -tile.immersiveintelligence.sheetmetal.zinc.name=锌板块 -tile.immersiveintelligence.storage.zinc.name=锌块 -tile.immersiveintelligence.sheetmetal_slab.zinc.name=锌板台阶 -tile.immersiveintelligence.storage_slab.zinc.name=锌台阶 - -tile.immersiveintelligence.ore.tungsten.name=钨矿石 -tile.immersiveintelligence.sheetmetal.tungsten.name=钨板块 -tile.immersiveintelligence.storage.tungsten.name=钨块 -tile.immersiveintelligence.sheetmetal_slab.tungsten.name=钨板台阶 -tile.immersiveintelligence.storage_slab.tungsten.name=钨台阶 - -tile.immersiveintelligence.ore.salt.name=盐矿石 - -tile.immersiveintelligence.ore.fluorite.name=下界氟石矿 -tile.immersiveintelligence.ore.phosphorus.name=下界磷石矿 - -tile.immersiveintelligence.sheetmetal.brass.name=黄铜板块 -tile.immersiveintelligence.storage.brass.name=黄铜块 -tile.immersiveintelligence.sheetmetal_slab.brass.name=黄铜板台阶 -tile.immersiveintelligence.storage_slab.brass.name=黄铜台阶 - -tile.immersiveintelligence.sheetmetal.duraluminium.name=硬铝合金板块 -tile.immersiveintelligence.storage.duraluminium.name=硬铝合金块 -tile.immersiveintelligence.sheetmetal_slab.duraluminium.name=硬铝合金板台阶 -tile.immersiveintelligence.storage_slab.duraluminium.name=硬铝合金台阶 - -tile.immersiveintelligence.fence_brass.name=黄铜栅栏 -tile.immersiveintelligence.fence_tungsten.name=钨栅栏 -tile.immersiveintelligence.fence_zinc.name=锌栅栏 -tile.immersiveintelligence.fence_platinum.name=铂栅栏 -tile.immersiveintelligence.fence_duraluminium.name=硬化铝合金栅栏 - -tile.immersiveintelligence.rubber_log.raw.name=橡胶木 -tile.immersiveintelligence.rubber_log.rebbur.name=乳胶提取孔 -tile.immersiveintelligence.rubber_log.stripped.name=剥皮的乳胶提取点 -tile.immersiveintelligence.rubber_leaves.rubber.name=橡胶树叶 -tile.immersiveintelligence.rubber_sapling.rubber.name=橡胶树苗 -tile.immersiveintelligence.charred_log.main.name=烧焦的原木 - -tile.immersiveintelligence.advanced_explosives.rdx.name=黑索金炸药 -tile.immersiveintelligence.advanced_explosives.hmx.name=奥克托金炸药 -tile.immersiveintelligence.advanced_explosives.white_phosphorus.name=白磷炸药 - -tile.immersiveintelligence.concrete_decoration.concrete_bricks.name=混凝土砖 -tile.immersiveintelligence.concrete_decoration_slab.concrete_bricks.name=混凝土台阶 -tile.immersiveintelligence.concrete_decoration_stairs_concrete_bricks.name=混凝土楼梯 - -tile.immersiveintelligence.concrete_decoration.sturdy_concrete_bricks.name=强化混凝土砖 -tile.immersiveintelligence.concrete_decoration_slab.sturdy_concrete_bricks.name=强化混凝土台阶 -tile.immersiveintelligence.concrete_decoration_stairs_sturdy_concrete_bricks.name=强化混凝土楼梯 - -tile.immersiveintelligence.concrete_decoration.uberconcrete.name=德三蜜汁超级混凝土砖 -tile.immersiveintelligence.concrete_decoration_slab.uberconcrete.name=德三蜜汁超级混凝土台阶 -tile.immersiveintelligence.concrete_decoration_stairs_uberconcrete.name=德三蜜汁超级混凝土楼梯 - -tile.immersiveintelligence.concrete_decoration.concrete_bricks_gray.name=灰色混凝土砖 -tile.immersiveintelligence.concrete_decoration_slab.concrete_bricks_gray.name=灰色混凝土台阶 -tile.immersiveintelligence.concrete_decoration_stairs_concrete_bricks_gray.name=灰色混凝土楼梯 - -tile.immersiveintelligence.concrete_decoration.sturdy_concrete_bricks_gray.name=灰色强化混凝土砖 -tile.immersiveintelligence.concrete_decoration_slab.sturdy_concrete_bricks_gray.name=灰色强化混凝土台阶 -tile.immersiveintelligence.concrete_decoration_stairs_sturdy_concrete_bricks_gray.name=灰色强化混凝土楼梯 - -tile.immersiveintelligence.concrete_decoration.uberconcrete_gray.name=灰色德三蜜汁超级混凝土砖 -tile.immersiveintelligence.concrete_decoration_slab.uberconcrete_gray.name=灰色德三蜜汁超级混凝土台阶 -tile.immersiveintelligence.concrete_decoration_stairs_uberconcrete_gray.name=灰色德三蜜汁超级混凝土楼梯 - -tile.immersiveintelligence.metal_decoration.electronic_engineering.name=电子工程块 -tile.immersiveintelligence.metal_decoration.advanced_electronic_engineering.name=先进电子工程块 -tile.immersiveintelligence.metal_decoration.computer_engineering.name=计算机工程块 -tile.immersiveintelligence.metal_decoration.mechanical_engineering.name=机械工程块 -tile.immersiveintelligence.metal_decoration.heavy_mechanical_engineering.name=重型机械工程块 - -tile.immersiveintelligence.metal_decoration.coil_data.name=数据线圈块 -tile.immersiveintelligence.cloth_decoration.coil_rope.name=绳圈块 -tile.immersiveintelligence.metal_decoration.coil_steel_motor_belt.name=钢质传动带块 -tile.immersiveintelligence.cloth_decoration.coil_cloth_motor_belt.name=布制传动带块 -tile.immersiveintelligence.cloth_decoration.coil_rubber_motor_belt.name=橡胶传动带块 - -tile.immersiveintelligence.mine_sign.mine_sign.name=地雷警示标识 -tile.immersiveintelligence.mine_sign.mine_sign.desc=注意!前方雷区! - -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_conveyor.name=橡胶传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_uncontrolled.name=橡胶传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_uncontrolled.flavour=忽略红石信号 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_dropper.name=橡胶卸货传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_droppercovered.name=绝缘橡胶卸货传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_vertical.name=垂直橡胶传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_splitter.name=橡胶分流传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_covered.name=绝缘橡胶传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_verticalcovered.name=绝缘垂直橡胶传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_extract.name=橡胶抽取传送带 -tile.immersiveengineering.conveyor.immersiveintelligence:rubber_extractcovered.name=绝缘橡胶抽取传送带 - -#due to how IE's base classes are designed, I had to use a "main" as only value in IIBlockTypes_Mine -#redundant? yes, works? yes -tile.immersiveintelligence.tripmine.main.name=绊雷 -tile.immersiveintelligence.tripmine.core.name=绊雷战斗部 -#Same as above (for the landmine and explosives), this is due to how the projectile workshop gets the translation -item.immersiveintelligence.tripmine.core.name=绊雷战斗部 -item.immersiveintelligence.ammo_casing.tripmine.name=绊雷壳体 -tile.immersiveintelligence.tripwire_connector.main.name=绊雷链接器 - -tile.immersiveintelligence.tellermine.main.name=地雷 -tile.immersiveintelligence.tellermine.core.name=地雷战斗部 -item.immersiveintelligence.tellermine.core.name=地雷战斗部 -item.immersiveintelligence.ammo_casing.tellermine.name=地雷壳体 - -tile.immersiveintelligence.radio_explosives.main.name=无线电遥控爆炸装置 -tile.immersiveintelligence.radio_explosives.core.name=无线电遥控爆炸装置核心 -item.immersiveintelligence.radio_explosives.core.name=无线电遥控爆炸装置核心 -item.immersiveintelligence.ammo_casing.radio_explosives.name=无线电挎包 - -item.immersiveintelligence.naval_mine.bullet.name=水雷 -item.immersiveintelligence.naval_mine.core.name=水雷战斗部 -item.immersiveintelligence.ammo_casing.naval_mine.name=水雷壳体 - -tile.immersiveintelligence.stone_decoration.sandbags.name=沙袋 - -tile.immersiveintelligence.metal_device.metal_crate.name=钢质储存箱 -tile.immersiveintelligence.metal_device.small_data_buffer.name=小型数据缓冲器 -tile.immersiveintelligence.metal_device.item_buffer.name=物品缓冲器 -tile.immersiveintelligence.metal_device.timed_buffer.name=定时缓冲器 -tile.immersiveintelligence.metal_device.redstone_buffer.name=红石缓冲器 -tile.immersiveintelligence.metal_device.punchtape_reader.name=打孔纸带读取器 -tile.immersiveintelligence.metal_device.data_router.name=数据路由器 -tile.immersiveintelligence.metal_device.data_merger.name=数据合并器 - -tile.immersiveintelligence.metal_device.ammunition_crate.name=弹药箱 -tile.immersiveintelligence.metal_device.medic_crate.name=医疗箱 -tile.immersiveintelligence.metal_device.repair_crate.name=维修工具箱 - -tile.immersiveintelligence.metal_device.latex_collector.name=乳胶收集器 - -tile.immersiveintelligence.metal_device1.co2_filter.name=二氧化碳过滤器 - -tile.immersiveintelligence.gearbox.wooden_gearbox.name=木制齿轮箱 -tile.immersiveintelligence.mechanical_device.wooden_transmission_box.name=木制变速箱 -tile.immersiveintelligence.mechanical_device.creative_transmission_box.name=创造变速箱 -tile.immersiveintelligence.mechanical_device1.mechanical_pump.name=机械泵 - -tile.immersiveintelligence.mechanical_connector.iron_wheel.name=铁质传动轮 -tile.immersiveintelligence.mechanical_connector.steel_wheel.name=钢制传动轮 - -tile.immersiveintelligence.small_crate.wooden_crate_box.name=小型木制储存箱(盒状) -tile.immersiveintelligence.small_crate.wooden_crate_cube.name=小型木制储存箱(块状) -tile.immersiveintelligence.small_crate.wooden_crate_wide.name=小型木制储存箱(扁状) -tile.immersiveintelligence.small_crate.metal_crate_box.name=小型金属储存箱(盒状) -tile.immersiveintelligence.small_crate.metal_crate_cube.name=小型金属储存箱(块状) -tile.immersiveintelligence.small_crate.metal_crate_wide.name=小型金属储存箱(扁状) -tile.immersiveintelligence.small_crate.reinforced_crate_box.name=小型强化储存箱(盒状) -tile.immersiveintelligence.small_crate.reinforced_crate_cube.name=小型强化储存箱(块状) -tile.immersiveintelligence.small_crate.reinforced_crate_wide.name=小型强化储存箱(扁状) - -tile.immersiveintelligence.metal_fortification.steel_chain_fence.name=钢链栅栏 -tile.immersiveintelligence.metal_fortification.brass_chain_fence.name=黄铜链栅栏 -tile.immersiveintelligence.metal_fortification.aluminium_chain_fence.name=硬化铝合金链栅栏 - -tile.immersiveintelligence.wooden_fortification.wooden_steel_chain_fence.name=木钢复合链状栅栏 -tile.immersiveintelligence.wooden_fortification.wooden_brass_chain_fence.name=木黄铜复合链状栅栏 - -tile.immersiveintelligence.metal_fortification1.tank_trap.name=捷克刺猬 - -tile.immersiveintelligence.metal_multiblock.data_input_machine.storage=数据输入机-存储 -tile.immersiveintelligence.metal_multiblock.data_input_machine.programming=数据输入机-编程 -tile.immersiveintelligence.metal_multiblock.data_input_machine.edit=数据输入机-编辑变量 -tile.immersiveintelligence.metal_multiblock.data_input_machine.label_punchtapes=打孔纸带保存 - -tile.immersiveintelligence.data_connector.data_connector.name=数据连接器 -tile.immersiveintelligence.data_connector.data_relay.name=数据中继 -tile.immersiveintelligence.data_connector.data_duplex_connector.name=数据双工连接器 -tile.immersiveintelligence.data_connector.chemical_dispenser.name=化学分配器 - -tile.immersiveintelligence.data_connector.alarm_siren.name=警报器 -tile.immersiveintelligence.data_connector.programmable_speaker.name=可编程扬声器 - -tile.immersiveintelligence.data_connector.inserter.name=物品抓取机械臂 -tile.immersiveintelligence.data_connector.advanced_inserter.name=高级抓取机械臂 -tile.immersiveintelligence.data_connector.fluid_inserter.name=流体输入器 -tile.immersiveintelligence.data_connector.advanced_fluid_inserter.name=高级流体输入器 - -tile.immersiveintelligence.data_connector.data_debugger.name=数据调试器 - -tile.immersiveintelligence.circuit_socket.basic.name=基础电路插座 -tile.immersiveintelligence.circuit_socket.advanced.name=高级电路插座 -tile.immersiveintelligence.circuit_socket.processor.name=处理器电路插座 - -#Multiblock names - -tile.immersiveintelligence.wooden_multiblock.skycrate_station.name=飞箱索道站 -tile.immersiveintelligence.wooden_multiblock.skycart_station.name=天车索道站 -tile.immersiveintelligence.wooden_multiblock.skycrate_post.name=索道中继点 -tile.immersiveintelligence.wooden_multiblock.sawmill.name=锯木厂 -tile.immersiveintelligence.metal_multiblock.data_input_machine.name=数据输入机 -tile.immersiveintelligence.metal_multiblock.arithmetic_logic_machine.name=算术逻辑机 -tile.immersiveintelligence.metal_multiblock.radio_station.name=无线电基站 -tile.immersiveintelligence.metal_multiblock.printing_press.name=打印机 -tile.immersiveintelligence.metal_multiblock.chemical_bath.name=化学浸洗器 -tile.immersiveintelligence.metal_multiblock.electrolyzer.name=电解机 -tile.immersiveintelligence.metal_multiblock.precision_assembler.name=精密装配机 -tile.immersiveintelligence.metal_multiblock.periscope.name=潜望镜 -tile.immersiveintelligence.metal_multiblock.artillery_howitzer.name=榴弹炮 -tile.immersiveintelligence.metal_multiblock.ballistic_computer.name=弹道计算机 -tile.immersiveintelligence.metal_multiblock.missile_silo.name=导弹发射井 -tile.immersiveintelligence.metal_multiblock.scanning_conveyor.name=传送带扫描器 -tile.immersiveintelligence.metal_multiblock.packer.name=包装机 -tile.immersiveintelligence.metal_multiblock.minecart_packer.name=铁路包装机 - -tile.immersiveintelligence.metal_multiblock1.redstone_data_interface.name=红石数据接口 -tile.immersiveintelligence.metal_multiblock1.vehicle_workshop.name=载具工坊 -tile.immersiveintelligence.metal_multiblock1.vulcanizer.name=硫化机 -tile.immersiveintelligence.metal_multiblock1.coagulator.name=凝固器 - -tile.immersiveintelligence.metal_multiblock1.fuel_station.name=加油站 -tile.immersiveintelligence.metal_multiblock1.emplacement.name=武器站 -tile.immersiveintelligence.metal_multiblock1.radar.name=雷达 - -tile.immersiveintelligence.gate_multiblock.wooden.name=木质栅栏门 -tile.immersiveintelligence.gate_multiblock.steel.name=钢质栅栏门 -tile.immersiveintelligence.gate_multiblock.aluminium.name=铝质栅栏门 -tile.immersiveintelligence.gate_multiblock.wooden_chain.name=木质链状栅栏门 -tile.immersiveintelligence.gate_multiblock.steel_chain.name=钢质链状栅栏门 -tile.immersiveintelligence.gate_multiblock.aluminium_chain.name=铝质链状栅栏门 - -tile.immersiveintelligence.metal_multiblock1.flagpole.name=旗杆 - -tile.immersiveintelligence.gate_multiblock.wooden_fence_gate.name=木质栅栏门 -tile.immersiveintelligence.gate_multiblock.wooden_chain_fence_gate.name=木质链状栅栏门 -tile.immersiveintelligence.gate_multiblock.steel_fence_gate.name=钢质栅栏门 -tile.immersiveintelligence.gate_multiblock.steel_chain_fence_gate.name=钢质链状栅栏门 -tile.immersiveintelligence.gate_multiblock.aluminium_fence_gate.name=铝质栅栏门 -tile.immersiveintelligence.gate_multiblock.aluminium_chain_fence_gate.name=铝质链状栅栏门 - -tile.immersiveintelligence.metal_multiblock1.filler.name=填充器 -tile.immersiveintelligence.metal_multiblock1.ammunition_assembler.name=弹药装配器 -tile.immersiveintelligence.metal_multiblock1.heavy_ammunition_assembler.name=重型弹药装配器 -tile.immersiveintelligence.metal_multiblock1.projectile_workshop.name=工坊 - -tile.immersiveintelligence.metal_multiblock1.chemical_painter.name=化学染色机 -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb=采用显示模式:RGB -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb.r=Red -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb.g=Green -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb.b=Blue - -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk=采用显示模式:CMYK -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.c=C青色 -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.m=M洋红 -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.y=Y黄色 -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.k=k黑色 - -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv=Display in HSV -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv.h=Hue -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv.s=Saturation -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv.v=Value -desc.immersiveintelligence.metal_multiblock1.chemical_painter.color_copied=色彩已复制! - -desc.immersiveengineering.info.multiblock.II:SkycrateStation=飞箱索道站 -desc.immersiveengineering.info.multiblock.II:SkycartStation=天车索道站 -desc.immersiveengineering.info.multiblock.II:SkycratePost=索道中继点 -desc.immersiveengineering.info.multiblock.II:Sawmill=锯木厂 -desc.immersiveengineering.info.multiblock.II:DataInputMachine=数据输入机 -desc.immersiveengineering.info.multiblock.II:ArithmeticLogicMachine=算术逻辑机 -desc.immersiveengineering.info.multiblock.II:RadioStation=无线电基站 -desc.immersiveengineering.info.multiblock.II:PrintingPress=打印机 -desc.immersiveengineering.info.multiblock.II:ChemicalBath=化学浸洗机 -desc.immersiveengineering.info.multiblock.II:Electrolyzer=电解机 -desc.immersiveengineering.info.multiblock.II:PrecisionAssembler=精密装配机 -desc.immersiveengineering.info.multiblock.II:Periscope=潜望镜 -desc.immersiveengineering.info.multiblock.II:ArtilleryHowitzer=榴弹炮 -desc.immersiveengineering.info.multiblock.II:BallisticComputer=弹道计算机 -desc.immersiveengineering.info.multiblock.II:MissileSilo=导弹发射井 -desc.immersiveengineering.info.multiblock.II:ScanningConveyor=传送带扫描器 -desc.immersiveengineering.info.multiblock.II:Packer=包装机 -desc.immersiveengineering.info.multiblock.II:MinecartPacker=铁路包装机 - -desc.immersiveengineering.info.multiblock.II:RedstoneDataInterface=红石-数据接口 - -desc.immersiveengineering.info.multiblock.II:VehicleWorkshop=载具工坊 -desc.immersiveengineering.info.multiblock.II:FuelStation=加油站 -desc.immersiveengineering.info.multiblock.II:Vulcanizer=硫化机 -desc.immersiveengineering.info.multiblock.II:Coagulator=凝固器 - -desc.immersiveengineering.info.multiblock.II:Emplacement=武器站 -desc.immersiveengineering.info.multiblock.II:Radar=电探 -desc.immersiveengineering.info.multiblock.II:Flagpole=旗杆 - -desc.immersiveengineering.info.multiblock.II:Filler=填充器 -desc.immersiveengineering.info.multiblock.II:AmmunitionWorkshop=弹药工坊 -desc.immersiveengineering.info.multiblock.II:HeavyAmmunitionAssembler=重型弹药装配器 -desc.immersiveengineering.info.multiblock.II:ProjectileWorkshop=弹头工坊 -desc.immersiveengineering.info.multiblock.II:ChemicalPainter=化学染色机 - -desc.immersiveengineering.info.multiblock.II:WoodenFenceGate=木质栅栏门 -desc.immersiveengineering.info.multiblock.II:WoodenChainFenceGate=木质链状栅栏门 -desc.immersiveengineering.info.multiblock.II:SteelFenceGate=钢质栅栏门 -desc.immersiveengineering.info.multiblock.II:SteelChainFenceGate=钢质链状栅栏门 -desc.immersiveengineering.info.multiblock.II:AluminiumFenceGate=铝质栅栏门 -desc.immersiveengineering.info.multiblock.II:AluminiumChainFenceGate=铝质链状栅栏门 - -#Fluids -fluid.ink=墨水 -fluid.ink_cyan=青色墨水 -fluid.ink_magenta=洋红墨水 -fluid.ink_yellow=黄色墨水 - -fluid.etching_acid=蚀刻酸 -fluid.hydrofluoric_acid=氢氟酸 -fluid.sulfuric_acid=硫酸 -fluid.nitric_acid=硝酸 -fluid.formic_acid=甲酸 - -fluid.oxygen=氧气 -fluid.hydrogen=氢气 -fluid.chlorine=氯气 -fluid.carbon_dioxide=二氧化碳 -fluid.carbon_monoxide=一氧化碳 -fluid.mustard_gas=芥子气 - -fluid.brine=盐水 - -fluid.ammonia=氨气 -fluid.hexamine=乌洛托品 -fluid.methanol=甲醇 - -fluid.latex=乳胶 - -#Dusts -dust.gunpowder=火药 -dust.sulfur=硫磺 -dust.sawdust=锯末 -dust.sand=沙子 -dust.gravel=砾石 - -#Sounds - -subtitle.immersiveintelligence.siren=警报鸣叫 -subtitle.immersiveintelligence.punchtape_reader=打孔纸带运转 -subtitle.immersiveintelligence.paper_eject=纸张下落 - -subtitle.immersiveintelligence.radio_beep=短无线电蜂鸣 -subtitle.immersiveintelligence.radio_noise=无线电噪音 -subtitle.immersiveintelligence.debugger_beep=数据调试器哔声 - -subtitle.immersiveintelligence.rolling=旋转机构运动 -subtitle.immersiveintelligence.chain=链条被抬起 -subtitle.immersiveintelligence.lamp=电灯嗡鸣 -subtitle.immersiveintelligence.heating=加热元件工作 -subtitle.immersiveintelligence.saw=锯刃旋转 -subtitle.immersiveintelligence.saw_idle=锯刃切割中 - -subtitle.immersiveintelligence.electric_motor_forward=电机轰鸣 -subtitle.immersiveintelligence.electric_motor_backward=电机反转 -subtitle.immersiveintelligence.electric_motor_heavy_forward=重型电机轰鸣 -subtitle.immersiveintelligence.electric_motor_heavy_backward=重型电机反转 -subtitle.immersiveintelligence.turntable_forward=转盘向右转 -subtitle.immersiveintelligence.turntable_backward=转盘向左转 -subtitle.immersiveintelligence.turntable_heavy_forward=重型转盘向右转 -subtitle.immersiveintelligence.turntable_heavy_backward=重型转盘向左转 -subtitle.immersiveintelligence.sliding_door_open=滑动门开启 -subtitle.immersiveintelligence.sliding_door_close=滑动门关闭 - -subtitle.immersiveintelligence.gun_platform_rotating=炮台旋转 - -subtitle.immersiveintelligence.distant_artillery=远程火炮射击 -subtitle.immersiveintelligence.distant_artillery_impact=远程火炮冲击 -subtitle.immersiveintelligence.distant_gunshot=远距离射击 -subtitle.immersiveintelligence.dryfire=枪无法开火 - -subtitle.immersiveintelligence.casing_pickup=弹壳落在袋子里 - -subtitle.immersiveintelligence.machinegun_shot=机枪开火 -subtitle.immersiveintelligence.machinegun_shot_distant=远距离机枪开火 -subtitle.immersiveintelligence.machinegun_reload=机枪装填 -subtitle.immersiveintelligence.machinegun_unload=机枪弹匣被丢弃 - -subtitle.immersiveintelligence.submachinegun_shot=冲锋枪开火 -subtitle.immersiveintelligence.submachinegun_shot_distant=远距离冲锋枪开火 -subtitle.immersiveintelligence.submachinegun_reload=冲锋枪装填 -subtitle.immersiveintelligence.submachinegun_unload=冲锋枪弹匣被丢弃 - -subtitle.immersiveintelligence.assault_rifle_shot=突击步枪开火 -subtitle.immersiveintelligence.assault_rifle_shot_distant=远距离突击步枪开火 -subtitle.immersiveintelligence.assault_rifle_reload=突击步枪装填 -subtitle.immersiveintelligence.assault_rifle_unload=突击步枪弹匣被丢弃 -subtitle.immersiveintelligence.assault_rifle_mode_change=拨动快慢机 -subtitle.immersiveintelligence.assault_rifle_load_grenade=枪榴弹装填 - -subtitle.immersiveintelligence.rifle_shot=步枪开火 -subtitle.immersiveintelligence.rifle_shot_distant=远距离步枪开火 -subtitle.immersiveintelligence.rifle_load=步枪装填 -subtitle.immersiveintelligence.rifle_load_magazine=步枪弹匣装填 -subtitle.immersiveintelligence.rifle_unload_magazine=步枪弹匣被丢弃 - -subtitle.immersiveintelligence.magazine_load=弹匣重装填弹药 - -subtitle.immersiveintelligence.howitzer_shot=榴弹炮开火 -subtitle.immersiveintelligence.howitzer_shot_distant=远距离榴弹炮开火 -subtitle.immersiveintelligence.howitzer_shell_pick=取出榴弹炮弹 -subtitle.immersiveintelligence.howitzer_shell_put=放置榴弹炮弹 - -subtitle.immersiveintelligence.inserter=机械臂噪声 - -subtitle.immersiveintelligence.impact_metal=投射物穿透金属 -subtitle.immersiveintelligence.ricochet_metal=投射物在金属上弹跳 - -subtitle.immersiveintelligence.grenade_throw=投掷手榴弹 -subtitle.immersiveintelligence.artillery_impact=榴弹炮弹坠落 -subtitle.immersiveintelligence.bullet_flyby=子弹飞行 -subtitle.immersiveintelligence.bullet_impact=投射物冲击 -subtitle.immersiveintelligence.bullet_ricochet=投射物弹走 - -subtitle.immersiveintelligence.light_engine_start=轻型载具发动 -subtitle.immersiveintelligence.light_engine=轻型载具引擎声 -subtitle.immersiveintelligence.vehicle_horn=载具鸣笛 - -subtitle.immersiveintelligence.drone_propeller=螺旋桨旋转 - -subtitle.immersiveintelligence.fuel_station=燃油泵入 -subtitle.immersiveintelligence.welding=接线中 -subtitle.immersiveintelligence.sawmill=锯木厂工作 - -subtitle.immersiveintelligence.drawer_open=抽屉滑出 -subtitle.immersiveintelligence.drawer_close=抽屉滑入 -subtitle.immersiveintelligence.metal_locker_open=储物柜门打开 -subtitle.immersiveintelligence.metal_locker_close=储物柜门关闭 -subtitle.immersiveintelligence.metal_hatch_open=金属舱门打开 -subtitle.immersiveintelligence.metal_hatch_close=金属舱门关闭 -subtitle.immersiveintelligence.vise_open=老虎钳收紧 -subtitle.immersiveintelligence.vise_close=老虎钳放松 - -subtitle.immersiveintelligence.motor_belt_break=传动皮带断裂 -subtitle.immersiveintelligence.motor_belt=传动皮带旋转 -subtitle.immersiveintelligence.track_break=金属传动带断裂 -subtitle.immersiveintelligence.track=金属传动带旋转 - -subtitle.immersiveintelligence.autocannon_shot=机炮开火 -subtitle.immersiveintelligence.autocannon_shot_distant=机炮远距离开火 -subtitle.immersiveintelligence.autocannon_reload=机炮装填 - -subtitle.immersiveintelligence.explosion_flare=火炬部署 -subtitle.immersiveintelligence.explosion_incendiary=爆燃 -subtitle.immersiveintelligence.explosion_nuke=核爆 - -subtitle.immersiveintelligence.mortar_shot=迫击炮开火 -subtitle.immersiveintelligence.mortar_load=迫击炮装填 - -subtitle.immersiveintelligence.mine_detector=地雷探测器蜂鸣 -subtitle.immersiveintelligence.construction=施工中 -subtitle.immersiveintelligence.weapon_placed=安装武器部署 - -subtitle.immersiveintelligence.gate_open=大门打开 -subtitle.immersiveintelligence.gate_close=大门关闭 - -#Entities - -entity.minecart_wooden_crate.name=木质储物箱矿车 -entity.minecart_reinforced_crate.name=强化木质储物箱矿车 -entity.minecart_steel_crate.name=钢质储物箱矿车 -entity.minecart_wooden_barrel.name=木桶矿车 -entity.minecart_metal_barrel.name=金属桶矿车 -entity.minecart_capacitor_lv.name=低压电容器矿车 -entity.minecart_capacitor_mv.name=中压电容器矿车 -entity.minecart_capacitor_hv.name=高压电容器矿车 -entity.minecart_capacitor_creative.name=创造电容器矿车 -#Immersive Technology Compat -entity.minecart_crate_creative.name=创造储存箱矿车 -entity.minecart_barrel_creative.name=创造储存桶矿车 -entity.minecart_steel_barrel.name=钢桶矿车 -entity.minecart_open_barrel.name=开放式金属桶矿车 - -entity.skycrate.name=Skycrate - -entity.bullet.name=Bullet -entity.shrapnel.name=Shrapnel -entity.flare.name=Flare -entity.gas_cloud.name=气体云 -entity.white_phosphorus.name=白磷爆炸 -entity.atomic_boom.name=核爆 - -entity.machinegun.name=机枪 -entity.mortar.name=迫击炮 -entity.motorbike.name=摩托车 -entity.wheel.name=轮子 -entity.seat.name=座位 -entity.field_howitzer.name=野战榴弹炮 -entity.tripod_periscope.name=三脚架潜望镜 - -entity.hans.name=汉斯 - -#Skins -skin.immersiveintelligence.anno_1880.name=Anno 1880 -skin.immersiveintelligence.anno_1880.desc=Refined, precise, ornamental -skin.immersiveintelligence.anno_1880.text=Rewarded to BluSunrize and Hazard for their great work on Immersive Engineering. - -skin.immersiveintelligence.archangel.name=Archangel -skin.immersiveintelligence.archangel.desc=Our ancestors tried to hide it... -skin.immersiveintelligence.archangel.text=At first they though that god sent the archangel as a gift for humanity. There is a reason why ancestor were scared of them... - -skin.immersiveintelligence.royal.name=Royal -skin.immersiveintelligence.royal.desc=A relic from an old empire -skin.immersiveintelligence.royal.text=An retrofuturistic imperial skin. Originally meant to be a skin for the Patreons, now granted as a reward for contribution. - -skin.immersiveintelligence.stormwind.name=Stormwind -skin.immersiveintelligence.stormwind.desc=A tribute to defenders of the sea fortress -skin.immersiveintelligence.stormwind.text=A skin inspired by the old awesome flash game "Storm Winds" - -skin.immersiveintelligence.flakmeister.name=Flakmeister -skin.immersiveintelligence.flakmeister.desc=For a renown artillerist -skin.immersiveintelligence.flakmeister.text=A skin granted to Carver, who contributed a lot and howitzized a bit more. - -skin.immersiveintelligence.blackdragon.name=Blackdragon -skin.immersiveintelligence.blackdragon.desc=For contribution, effort and content, an award -skin.immersiveintelligence.blackdragon.text=A skin granted to Blackdragon, who made great II tutorial videos on YouTube. - -skin.immersiveintelligence.eisenheim.name=Eisenheim -skin.immersiveintelligence.eisenheim.desc=The warpaint of heroes from the mountain fortress -skin.immersiveintelligence.eisenheim.text=A skin themed with the Engineer faction of the upcoming modpack, rewarded to contributors who fix 12 or more bugs. - -skin.immersiveintelligence.vanguard.name=Vanguard -skin.immersiveintelligence.vanguard.desc=For the elite of engineering supporters -skin.immersiveintelligence.vanguard.text=A skin rewarded for donating $1 or more on Patreon. - -skin.immersiveintelligence.magnate.name=Magnate -skin.immersiveintelligence.magnate.desc=For noble support of engineering progress -skin.immersiveintelligence.magnate.text=A skin rewarded for donating $5 or more on Patreon. - -skin.immersiveintelligence.investor.name=Investor -skin.immersiveintelligence.investor.desc=A little reward for big generosity -skin.immersiveintelligence.investor.text=A skin rewarded for donating $15 on Patreon. - -skin.immersiveintelligence.golden.name=Golden -skin.immersiveintelligence.golden.desc=A big reward for an extraordinary exterminators. -skin.immersiveintelligence.golden.text=A skin rewarded to those who exterminate 25 bugs. - -skin.immersiveintelligence.parasite_event.name=Parasite -skin.immersiveintelligence.parasite_event.desc=Humanity Prevails -skin.immersiveintelligence.parasite_event.text=A S&R themed skin, rewarded to participants of Sbeev's 100 Players vs Parasites video. - -skin.immersiveintelligence.wyrms.name=Wyrms -skin.immersiveintelligence.wyrms.desc=Foreign Force from the Stars -skin.immersiveintelligence.wyrms.text=A skin rewarded to Modrome, the author of the awesome mod Wyrms of Nyrus, one of our foreign allies. - -skin.immersiveintelligence.old_glory.name=Old Glory -skin.immersiveintelligence.old_glory.desc=Glory to Heroes -skin.immersiveintelligence.old_glory.text=A Poland themed skin, granted as a personal reward for contribution. - -skin.immersiveintelligence.pershing.name=Pershing -skin.immersiveintelligence.pershing.desc=Liberators Arrived -skin.immersiveintelligence.pershing.text=An America themed skin granted for helping to fix 6 or more bugs. - -skin.immersiveintelligence.zvezda.name=Zvezda -skin.immersiveintelligence.zvezda.desc=Nu... Poehali! -skin.immersiveintelligence.zvezda.text=A Soviet themed skin granted for contributors to translation and international promotion of the mod. - -skin.immersiveintelligence.vaterland.name=Vaterland -skin.immersiveintelligence.vaterland.desc=An Iron Cross -skin.immersiveintelligence.vaterland.text=A Germany themed skin. - -#Machine Upgrades -machineupgrade.immersiveintelligence.inserter=物品抓取机械臂 -machineupgrade.immersiveintelligence.inserter.desc=在储存箱中添加机械臂,可以在供电的情况下在3格的半径内自动操作. - -machineupgrade.immersiveintelligence.mg_loader=连续装弹机 -machineupgrade.immersiveintelligence.mg_loader.desc=扩大弹药舱可以在经过一些修改后直接将子弹送入机关枪,储存箱必须打开才能提供弹药.。 - -machineupgrade.immersiveintelligence.sovereignty=主权 -machineupgrade.immersiveintelligence.sovereignty.desc=允许该建筑为其所属的派系控制周围地形. - -#Sawmill -machineupgrade.immersiveintelligence.improved_gearbox=改进齿轮箱 -machineupgrade.immersiveintelligence.improved_gearbox.desc=将原装变速箱更换为改进型号会显著提高机器速度,同时增加操作所需的能量. -machineupgrade.immersiveintelligence.saw_unregulator=调节锯 -machineupgrade.immersiveintelligence.saw_unregulator.desc=调节锯以获得更高的锯末产出,但减少主要产物. - -#Flagpole -machineupgrade.immersiveintelligence.flagpole.capture_defiance=反占领 -machineupgrade.immersiveintelligence.flagpole.capture_defiance.desc=强化旗杆,提高其结构完整性以及主动占领所需的部队数量. -machineupgrade.immersiveintelligence.flagpole.taser_locks=泰瑟锁 -machineupgrade.immersiveintelligence.flagpole.taser_locks.desc=增加一个防御特斯拉线圈,会攻击试图夺取旗杆的敌人. -machineupgrade.immersiveintelligence.flagpole.distress_signal=求救信号 -machineupgrade.immersiveintelligence.flagpole.distress_signal.desc=添加一个无线电连接的警报器,当敌方部队靠近时会启动. -machineupgrade.immersiveintelligence.flagpole.unit_post=单位岗位 -machineupgrade.immersiveintelligence.flagpole.unit_post.desc=允许组成分配到此旗杆的步兵排 - -#Emplacement -machineupgrade.immersiveintelligence.emplacement.sturdy_bearings=坚固轴承 -machineupgrade.immersiveintelligence.emplacement.sturdy_bearings.desc=更高质量的轴承可以提高武器的最大旋转速度. -machineupgrade.immersiveintelligence.emplacement.emergency_smoke=应急发烟器 -machineupgrade.immersiveintelligence.emplacement.emergency_smoke.desc=当武器站的武器严重受损时,会排出烟雾以提供掩护. -machineupgrade.immersiveintelligence.emplacement.targetting=增强型锁定系统 -machineupgrade.immersiveintelligence.emplacement.targetting.desc=改进的火控系统可以更好地获取和跟踪目标,提高准确性. - -#Emplacement Weapons -machineupgrade.immersiveintelligence.emplacement.infrared_observer=红外观察器 -machineupgrade.immersiveintelligence.emplacement.infrared_observer.desc=红外观察器可以监视远处的敌人,并通过数据线缆发送他们的坐标. -machineupgrade.immersiveintelligence.emplacement.spotlight_tower=聚光灯塔 -machineupgrade.immersiveintelligence.emplacement.spotlight_tower.desc=聚光塔能够照亮敌方单位,使其迷惑,并提高友军单位的准确度. -machineupgrade.immersiveintelligence.emplacement.searchlight=探照灯 -machineupgrade.immersiveintelligence.emplacement.searchlight.desc=探照灯与雷达,红外观察器或聚光灯塔协同工作,使敌方单位迷失方向,并提高友军火力的命中率. - -machineupgrade.immersiveintelligence.emplacement.cpds=CPDS -machineupgrade.immersiveintelligence.emplacement.cpds.desc=反投射物防御系统(Counter-Projectile Defense System)是一种先进的防空武器,能够在半空中摧毁来袭的炮弹. - -machineupgrade.immersiveintelligence.emplacement.autocannon=机炮 -machineupgrade.immersiveintelligence.emplacement.autocannon.desc=四门3bCal机炮提供了优异的火力,使该武器成为可对抗空中和地面目标的通用防御武器. -machineupgrade.immersiveintelligence.emplacement.heavy_chemthrower=重型化学喷射器 -machineupgrade.immersiveintelligence.emplacement.heavy_chemthrower.desc=经典化学喷射器的重型版本,重量更重压力更高,具有便携式版本四倍的有效距离. -machineupgrade.immersiveintelligence.emplacement.heavy_railgun=重型磁轨炮 -machineupgrade.immersiveintelligence.emplacement.heavy_railgun.desc=重型磁轨炮可以提供直接火力支援,以高速的金属棒或磁轨炮榴弹刺穿敌人或设施. - -machineupgrade.immersiveintelligence.emplacement.machinegun=机枪巢 -machineupgrade.immersiveintelligence.emplacement.machinegun.desc=机枪巢可以提供压制性的自动射击,适合用以压制成群的敌人.由于其结构所限,它无法攻击空中目标. -machineupgrade.immersiveintelligence.emplacement.machinegun.heavy_barrel=重型枪管 -machineupgrade.immersiveintelligence.emplacement.machinegun.heavy_barrel.desc=重型枪管提供更高的射速,同时略微增加能承受的最大热量. -machineupgrade.immersiveintelligence.emplacement.machinegun.watercooled=水冷枪管 -machineupgrade.immersiveintelligence.emplacement.machinegun.watercooled.desc=替换原装枪管。安装后,在提供冷却液的情况下,枪管不会过热。 -machineupgrade.immersiveintelligence.emplacement.machinegun.additional_fortifications=附加防御工事 -machineupgrade.immersiveintelligence.emplacement.machinegun.additional_fortifications.desc=在机枪巢周围放置额外的沙袋可以为其提供额外的装甲并提高其耐用性. - -machineupgrade.immersiveintelligence.emplacement.mortar=迫击炮 -machineupgrade.immersiveintelligence.emplacement.mortar.desc=迫击炮在近距离提供间接火力支持,高抛弹道和大口径炮弹使其能够穿透屋顶并从上方摧毁敌人. - -machineupgrade.immersiveintelligence.emplacement.light_howitzer=轻型火炮 -machineupgrade.immersiveintelligence.emplacement.light_howitzer.desc=轻型火炮在中程提供间接火力支援,其机动性使其能够快速精确地攻击敌方阵地. - -machineupgrade.immersiveintelligence.emplacement.rocket_launcher=火箭发射器 -machineupgrade.immersiveintelligence.emplacement.rocket_launcher.desc=火箭发射器可以使用最多6枚无导向火箭进行毁灭性的区域轰炸,非常适合攻击设防地点。 - -machineupgrade.immersiveintelligence.emplacement.guided_missile_launcher=线导导弹发射器 -machineupgrade.immersiveintelligence.emplacement.guided_missile_launcher.desc=线导导弹发射器提供远程精确打击,尤其对移动目标特别有效. - -machineupgrade.immersiveintelligence.emplacement.tesla=特斯拉塔 -machineupgrade.immersiveintelligence.emplacement.tesla.desc=特斯拉塔使用高压电摧毁其攻击半径内的敌人,对电子产品尤其有效. - -#Data Input Machine -machineupgrade.immersiveintelligence.advanced_data=高级输入设备 -machineupgrade.immersiveintelligence.advanced_data.desc=将转换后的打字机替换为一个真正的全电子控制面板,允许用户输入高级数据类型,如向量、映射和数组。 - -#Arithmetic-Logic Machine -machineupgrade.immersiveintelligence.memory=内置存储 -machineupgrade.immersiveintelligence.memory.desc=增加一页内置内存用于加载和保存数据操作结果。 -machineupgrade.immersiveintelligence.circuit_racks=附加电路机架 -machineupgrade.immersiveintelligence.circuit_racks.desc=增加机架,允许在机器内部再安装两个电路。 - -#Other upgrades -machineupgrade.immersiveintelligence.core_filler=弹头填充 -machineupgrade.immersiveintelligence.core_filler.desc=为弹头工坊配备一个插入器,可以精确地将所需组件填充到弹丸中。 - -machineupgrade.immersiveintelligence.packer_fluid=流体加载器 -machineupgrade.immersiveintelligence.packer_fluid.desc=安装液体容器和一些管道.可以从容器中注入和排出液体.出于安全原因,封装机一次只能处理物品,液体或能源中的一种. - -machineupgrade.immersiveintelligence.packer_energy=能量加载器 -machineupgrade.immersiveintelligence.packer_energy.desc=安装一对电容器和一个特斯拉线圈.可以快速为能源设备充电.出于安全原因,打包机一次只能处理物品、液体或能量中的一种. - -machineupgrade.immersiveintelligence.packer_railway=铁路改造 -machineupgrade.immersiveintelligence.packer_railway.desc=将包装机的传送带替换为铁路轨道,从而可以装载和卸载矿车. - -machineupgrade.immersiveintelligence.packer_naming=命名戳 -machineupgrade.immersiveintelligence.packer_naming.desc=允许包装机命名装载的容器,可以使用过滤器和数据. - -machineupgrade.immersiveintelligence.radio_locators=无线电定位器 -machineupgrade.immersiveintelligence.radio_locators.desc=允许雷达检测无线电信号并计算其原点。增加操作所需的能量. - -machineupgrade.immersiveintelligence.rs_activation=红石激活 -machineupgrade.immersiveintelligence.rs_activation.desc=连接一个红石接线器和一对执行器.可以用红石信号打开大门. - -machineupgrade.immersiveintelligence.razor_wire=刀片刺网 -machineupgrade.immersiveintelligence.razor_wire.desc=在大门顶部绑上一根铁丝网,伤害任何敢于爬过去的敌人. - -machineupgrade.immersiveintelligence.printing_press.punchtapes=打孔纸带处理器 -machineupgrade.immersiveintelligence.printing_press.punchtapes.desc=修改印刷机的输入进纸器以允许处理打孔纸带。 -machineupgrade.immersiveintelligence.printing_press.batching=批处理机制 -machineupgrade.immersiveintelligence.printing_press.batching.desc=为印刷机添加一个热风订书机,使其能够装订页面并印刷书籍和报纸。 -machineupgrade.immersiveintelligence.printing_press.enveloper=信封机 -machineupgrade.immersiveintelligence.printing_press.enveloper.desc=修改印刷机的内部结构,使其能够将单页折叠并装入信封。 - -#Descriptions -desc.immersiveintelligence.multiblock_item=查看工程师手册来了解如何建造。 -desc.immersiveintelligence.radio_configurator_basic=允许更改基本无线电设备的频率. -desc.immersiveintelligence.radio_configurator_advanced=升级后的无线电调谐器,可以设置更高的频率. -desc.immersiveintelligence.radio_configurator_frequency=频率: %s -desc.immersiveintelligence.radio_configurator_max_frequency=最大频率: %s -desc.immersiveintelligence.naval_mine_chain_length=最大索链长度: %s -desc.immersiveintelligence.measuring_cup_size=容量: %s / %s mB -desc.immersiveintelligence.measuring_cup_cant_resize=包含流体时无法更改大小. -desc.immersiveintelligence.functional_circuit_shift=%s - 可用操作 -desc.immersiveintelligence.functional_circuit_ctrl=%s - 存储操作 -desc.immersiveintelligence.functional_circuit=允许机器执行以下操作: -desc.immersiveintelligence.functional_circuit_data=设置为执行以下操作: -desc.immersiveintelligence.data_storage_shift=%s - 存储数据 -desc.immersiveintelligence.data_storage=存储数据: -desc.immersiveintelligence.upgrade_toolbox=可用于升级机器 -desc.immersiveintelligence.cost=材料需求: - -desc.immersiveintelligence.printed_page.blank=准备打印的空页. -desc.immersiveintelligence.printed_page.text=包含某些文本的页面. -desc.immersiveintelligence.printed_page.code=包含一些用POL编程语言编写的代码的页面. -desc.immersiveintelligence.printed_page.blueprint=包含有关如何构建结构的信息的页面. -desc.immersiveintelligence.printed_page.bound_pages=各种页面装订在一起. -desc.immersiveintelligence.printed_page.newspaper=多页装订成一份报纸. -desc.immersiveintelligence.printed_page.book=多页装订成一本书. -desc.immersiveintelligence.printed_page.letter=装在信封里寄给某人的一页. -desc.immersiveintelligence.printed_page.letter_opened=一个已拆封的信封,内含一页纸. - -desc.immersiveintelligence.logistic_tag.none=未写入物流数据 -desc.immersiveintelligence.logistic_tag.info.hold=%s - 物流清单 -desc.immersiveintelligence.logistic_tag.info.main=物流清单: -desc.immersiveintelligence.logistic_tag.info.name=名称: %s -desc.immersiveintelligence.logistic_tag.info.name.none=名称: <无> -desc.immersiveintelligence.logistic_tag.info.description=描述: %s -desc.immersiveintelligence.logistic_tag.info.description.none=描述: <无> -desc.immersiveintelligence.logistic_tag.info.batch_number=批号: %s -desc.immersiveintelligence.logistic_tag.info.owner=拥有者: %s -desc.immersiveintelligence.logistic_tag.info.origin=源: %s -desc.immersiveintelligence.logistic_tag.info.destination=目的地: %s -desc.immersiveintelligence.logistic_tag.info.color=颜色: %s -desc.immersiveintelligence.logistic_tag.info.color.none=未指定颜色 - -desc.immersiveintelligence.punchtape.empty=未写入变量 -desc.immersiveintelligence.punchtape.written=被写入过的 - -desc.immersiveintelligence.infrared_enabled=§4红外§r 视野激活! -desc.immersiveintelligence.infrared_disabled=§c红外§r 视野关闭! - -desc.immersiveintelligence.assembly_scheme.used_to_create=用于创建: %s -desc.immersiveintelligence.assembly_scheme.items_created=已创建的项目: %s - -desc.immersiveintelligence.info.holdControl=Hold [Ctrl] -desc.immersiveintelligence.info.holdShift=Hold [Shift] -desc.immersiveintelligence.info.holdAlt=Hold [Alt] -desc.immersiveintelligence.info.holdTab=Hold [Tab] - -desc.immersiveintelligence.assembly_scheme.info_hold1=%s - 使用的材料 -desc.immersiveintelligence.assembly_scheme.info_hold2=%s - 使用的工具 -desc.immersiveintelligence.assembly_scheme.materials=使用的材料: -desc.immersiveintelligence.assembly_scheme.tools=使用的工具: - -desc.immersiveintelligence.weapon.magazine1=%s - 弹匣甲 -desc.immersiveintelligence.weapon.magazine2=%s - 弹匣乙 - - -desc.immersiveintelligence.storage_module=存储 -desc.immersiveintelligence.variables_module=变量 -desc.immersiveintelligence.memory_in_module=输入内存 -desc.immersiveintelligence.memory_out_module=输出内存 -desc.immersiveintelligence.data_module=数据 -desc.immersiveintelligence.redstone_module=红石 -desc.immersiveintelligence.data_to_redstone_module=数据转红石 -desc.immersiveintelligence.redstone_to_data_module=红石转数据 -desc.immersiveintelligence.tasks_module=任务 -desc.immersiveintelligence.status_module=状态 -desc.immersiveintelligence.labeler_module=标签 - -desc.immersiveintelligence.map_module=地图 -desc.immersiveintelligence.radar_module=雷达 -desc.immersiveintelligence.faction_module=派系管理 - -desc.immersiveintelligence.configuration_module=配置 -desc.immersiveintelligence.targets_module=目标 -desc.immersiveintelligence.fire_missions_module=射击任务 - -desc.immersiveintelligence.tooltip.armor=装甲 %f%% - -desc.immersiveintelligence.upgrade_gui.title=升级机器 -desc.immersiveintelligence.upgrade_gui.tech_tree=科技树 -desc.immersiveintelligence.upgrade_gui.info=描述 -desc.immersiveintelligence.upgrade_gui.install=安装升级 -desc.immersiveintelligence.upgrade_gui.remove=移除升级 - -desc.immersiveintelligence.variable_type=类型: -desc.immersiveintelligence.variable_add_desc=添加一个新变量 -desc.immersiveintelligence.variable_set=设置 -desc.immersiveintelligence.variable_set_desc=改变变量的值 -desc.immersiveintelligence.variable_send_packet=发送数据包 -desc.immersiveintelligence.variable_send_packet_desc=将当前数据包发送到数据网络 -desc.immersiveintelligence.variable_remove_desc=移除变量 -desc.immersiveintelligence.variable_properties=属性 -desc.immersiveintelligence.variable_properties.tooltip=编辑表达式属性,例如条件变量。 -desc.immersiveintelligence.variable_value=数值: -desc.immersiveintelligence.operation=操作: - -desc.immersiveintelligence.conditional_variable=条件变量: -desc.immersiveintelligence.conditional_variable.enabled=使用条件 -desc.immersiveintelligence.conditional_variable.enabled.tooltip=启用时,表达式不会运行,除非所选变量存在于所操作的数据包中 -desc.immersiveintelligence.conditional_variable.tooltip=此表达式运行所需的变量 - -desc.immersiveintelligence.expression.accessor.tooltip=使用接收到的数据包中的变量,而不是字面值 -desc.immersiveintelligence.expression.condition.info=启用后,只有在接收到的数据包中存在所选变量时,此表达式才会运行. - -desc.immersiveintelligence.no_variable=无 -desc.immersiveintelligence.variable=变量: -desc.immersiveintelligence.variable_apply=应用 -desc.immersiveintelligence.variable_remove=移除 -desc.immersiveintelligence.no_editor=没有可用的编辑器. - -desc.immersiveintelligence.diplomacy.ownedby=属于 %s -desc.immersiveintelligence.diplomacy.noowner=废弃地产 -desc.immersiveintelligence.diplomacy.noowner_long=这处地产没有主人,它可以被认领. -desc.immersiveintelligence.diplomacy.noowner_long.company=这处地产没有主人,它的资产正在等待被收购. -desc.immersiveintelligence.diplomacy.noowner_long.republic=这块地产无人代表,它正在等待新的治理声音. -desc.immersiveintelligence.diplomacy.noowner_long.commune=这块地产处于休耕状态,等待工人和农民的手来耕作. -desc.immersiveintelligence.diplomacy.noowner_long.commisariat=这处地产无人监管,它渴望新的秩序. -desc.immersiveintelligence.diplomacy.noowner_long.free_city=没有宪章保护这片地产,它的市场和街道缺乏法律的约束. -desc.immersiveintelligence.diplomacy.noowner_long.dynasty=没有统治者宣称过这片土地,它在等待我们的旗帜升起在上面. - -desc.immersiveintelligence.diplomacy.status.member=成员 -desc.immersiveintelligence.diplomacy.status.member_long=你属于这个派系. -desc.immersiveintelligence.diplomacy.status.ally=盟友 -desc.immersiveintelligence.diplomacy.status.ally_long=在信任与合作的约束下,这个派系站在你身边. -desc.immersiveintelligence.diplomacy.status.neutral=中立 -desc.immersiveintelligence.diplomacy.status.neutral_long=没有强烈的纽带将你与这个派系联系在一起,关系是平衡且不确定的. -desc.immersiveintelligence.diplomacy.status.hostile=敌对 -desc.immersiveintelligence.diplomacy.status.hostile_long=这个派系将你视为敌人,冲突是可以预料的. - -desc.immersiveintelligence.diplomacy.ownership.claim=认领地产 -desc.immersiveintelligence.diplomacy.ownership.start_capture=扣押地产 -desc.immersiveintelligence.diplomacy.ownership.owned_chunks=区块控制: %s -desc.immersiveintelligence.diplomacy.ownership.flagpoles=旗杆放置: %s -desc.immersiveintelligence.diplomacy.ownership.law_form=法律表格: %s -desc.immersiveintelligence.diplomacy.ownership.members=成员: %s - -desc.immersiveintelligence.diplomacy.ownership.comparison.far_stronger=这个派别远远超过你的力量和影响力. -desc.immersiveintelligence.diplomacy.ownership.comparison.stronger=这一派系相对于你们的派系占有优势. -desc.immersiveintelligence.diplomacy.ownership.comparison.equal=这个派系与你的实力匹配. -desc.immersiveintelligence.diplomacy.ownership.comparison.weaker=这一派系不如你的实力. -desc.immersiveintelligence.diplomacy.ownership.comparison.far_weaker=这个派别远远不如你们的派别. - -info.immersiveintelligence.diplomacy.ownership.container_cannot_open=你不能在外国领土上访问建筑物. - -# Company -desc.immersiveintelligence.diplomacy.law_form.company=公司 -desc.immersiveintelligence.diplomacy.law_form.company.tier1=冒险(?) -desc.immersiveintelligence.diplomacy.law_form.company.tier1_long=一个拥有有限资产和有限影响力的新兴企业. -desc.immersiveintelligence.diplomacy.law_form.company.tier2=公司 -desc.immersiveintelligence.diplomacy.law_form.company.tier2_long=一个拥有工厂和员工的不断发展的企业. -desc.immersiveintelligence.diplomacy.law_form.company.tier3=公司 -desc.immersiveintelligence.diplomacy.law_form.company.tier3_long=一个拥有大量资产和有组织管理的强大企业实体. -desc.immersiveintelligence.diplomacy.law_form.company.tier4=企业集团 -desc.immersiveintelligence.diplomacy.law_form.company.tier4_long=一个由工业,武装力量和战略资源组成的庞大帝国. -desc.immersiveintelligence.diplomacy.law_form.company.tier5=信任(?) -desc.immersiveintelligence.diplomacy.law_form.company.tier5_long=一个垄断巨头控制着整个生产行业. -#Republic -desc.immersiveintelligence.diplomacy.law_form.republic=共和国 -desc.immersiveintelligence.diplomacy.law_form.republic.tier1=市议会 -desc.immersiveintelligence.diplomacy.law_form.republic.tier1_long=一小群选举产生的代表管理少数公民. -desc.immersiveintelligence.diplomacy.law_form.republic.tier2=共和国 -desc.immersiveintelligence.diplomacy.law_form.republic.tier2_long=一个有选举和人口增长的有组织的国家. -desc.immersiveintelligence.diplomacy.law_form.republic.tier3=联邦共和国 -desc.immersiveintelligence.diplomacy.law_form.republic.tier3_long=在共同代表旗帜下联合的地区联盟. -desc.immersiveintelligence.diplomacy.law_form.republic.tier4=联邦 -desc.immersiveintelligence.diplomacy.law_form.republic.tier4_long=一个庞大而有影响力的共和国,指挥着军队和基础设施. -desc.immersiveintelligence.diplomacy.law_form.republic.tier5=伟大的联邦 -desc.immersiveintelligence.diplomacy.law_form.republic.tier5_long=一个由各州组成的盛大联盟,共同进行治理和防御. -#Commune -desc.immersiveintelligence.diplomacy.law_form.commune=公社 -desc.immersiveintelligence.diplomacy.law_form.commune.tier1=集体 -desc.immersiveintelligence.diplomacy.law_form.commune.tier1_long=一小群人共同拥有财产一起工作. -desc.immersiveintelligence.diplomacy.law_form.commune.tier2=公社 -desc.immersiveintelligence.diplomacy.law_form.commune.tier2_long=一个更大的群体为共同利益而集中土地、工具和生产. -desc.immersiveintelligence.diplomacy.law_form.commune.tier3=联合公社 -desc.immersiveintelligence.diplomacy.law_form.commune.tier3_long=多个集体联合起来,表示团结和相互支持. -desc.immersiveintelligence.diplomacy.law_form.commune.tier4=地区公社 -desc.immersiveintelligence.diplomacy.law_form.commune.tier4_long=一个广泛的社区网络,共同运营多种行业. -desc.immersiveintelligence.diplomacy.law_form.commune.tier5=人民公社联合体 -desc.immersiveintelligence.diplomacy.law_form.commune.tier5_long=一个完全由集体所有和决策所维系的广阔社会. -#Commissariat -desc.immersiveintelligence.diplomacy.law_form.commisariat=政府机构 -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier1=小组1 -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier1_long=一小撮忠于政委的人,通过意识形态来维持秩序. -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier2=办事处 -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier2_long=一个负责政策和宣传的行政办公室. -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier3=地区委员会 -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier3_long=一个拥有忠诚武装力量、统治多个地区的强大权威. -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier4=高级专员公署 -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier4_long=一个具有集中生产和战争控制的指挥权力. -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier5=最高专员公署 -desc.immersiveintelligence.diplomacy.law_form.commisariat.tier5_long=一个极权主义政权,强制执行绝对秩序和不容置疑的忠诚. -#Free City -desc.immersiveintelligence.diplomacy.law_form.free_city=自由城市 -desc.immersiveintelligence.diplomacy.law_form.free_city.tier1=小村庄 -desc.immersiveintelligence.diplomacy.law_form.free_city.tier1_long=一个拥有自身地方治理的小型自治村庄. -desc.immersiveintelligence.diplomacy.law_form.free_city.tier2=村庄 -desc.immersiveintelligence.diplomacy.law_form.free_city.tier2_long=一个围绕贸易和交换组织的社区. -desc.immersiveintelligence.diplomacy.law_form.free_city.tier3=镇 -desc.immersiveintelligence.diplomacy.law_form.free_city.tier3_long=一个因商业和对外贸易而繁荣的城市. -desc.immersiveintelligence.diplomacy.law_form.free_city.tier4=城市 -desc.immersiveintelligence.diplomacy.law_form.free_city.tier4_long=一个商业和外交的中心,掌控地区市场. -desc.immersiveintelligence.diplomacy.law_form.free_city.tier5=大都市 -desc.immersiveintelligence.diplomacy.law_form.free_city.tier5_long=一个主导的城邦,其财富和贸易影响整个地区. -#Dynasty -desc.immersiveintelligence.diplomacy.law_form.dynasty=王朝 -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier1=家庭 -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier1_long=一个拥有不太大庄园及其纹章的家族谱系. -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier2=氏族 -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier2_long=一个更广的宗族,旗下有附庸和发誓效忠的盟友. -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier3=贵族家庭 -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier3_long=一个掌握军队和要塞的强化贵族世家. -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier4=王朝 -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier4_long=一个统治血脉,掌管广袤土地和多个继承人. -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier5=皇朝 -desc.immersiveintelligence.diplomacy.law_form.dynasty.tier5_long=一脉皇帝,掌握无与伦比的统治和遗产. - -desc.immersiveintelligence.diplomacy.action.disband=解散 -desc.immersiveintelligence.diplomacy.action.merge=合并 -desc.immersiveintelligence.diplomacy.action.invite_members=邀请成员 -desc.immersiveintelligence.diplomacy.action.propose=提出 -desc.immersiveintelligence.diplomacy.action.demand=需求 -desc.immersiveintelligence.diplomacy.action.declare_war=宣布战争 -desc.immersiveintelligence.diplomacy.action.declare_alliance=宣布联盟 - -desc.immersiveintelligence.diplomacy.permission.disband=解散 -desc.immersiveintelligence.diplomacy.permission.merge=合并 -desc.immersiveintelligence.diplomacy.permission.foreign_affairs=外交 -desc.immersiveintelligence.diplomacy.permission.modify_insignia=修改徽章 -desc.immersiveintelligence.diplomacy.permission.invite_members=添加成员 -desc.immersiveintelligence.diplomacy.permission.remove_members=移除成员 -desc.immersiveintelligence.diplomacy.permission.military_aid=军事援助 -desc.immersiveintelligence.diplomacy.permission.transit=运输 -desc.immersiveintelligence.diplomacy.permission.trade=贸易 -desc.immersiveintelligence.diplomacy.permission.research=研究 -desc.immersiveintelligence.diplomacy.permission.logistics=物流 -desc.immersiveintelligence.diplomacy.permission.container_access=容器访问 -desc.immersiveintelligence.diplomacy.permission.breaking_structures=破坏结构 - -desc.immersiveintelligence.diplomacy.permission_level.owner_allow=所有者 -desc.immersiveintelligence.diplomacy.permission_level.member_allow=成员 -desc.immersiveintelligence.diplomacy.permission_level.allies_allow=盟友 -desc.immersiveintelligence.diplomacy.permission_level.others_allow=其他 -desc.immersiveintelligence.diplomacy.permission_level.enemy_allow=敌人 - -#Directions -desc.immersiveintelligence.side.down=下 -desc.immersiveintelligence.side.up=上 -desc.immersiveintelligence.side.north=北 -desc.immersiveintelligence.side.south=南 -desc.immersiveintelligence.side.west=西 -desc.immersiveintelligence.side.east=东 - -#Bullets -desc.immersiveintelligence.bullet_type.general_purpose=通用 -desc.immersiveintelligence.bullet_type.shrapnel=破片 -desc.immersiveintelligence.bullet_type.piercing=穿甲 -desc.immersiveintelligence.bullet_type.shaped=塑形炸药 -desc.immersiveintelligence.bullet_type.explosive=高爆 -desc.immersiveintelligence.bullet_type.incendiary=燃烧剂 -desc.immersiveintelligence.bullet_type.tracer=示踪剂 -desc.immersiveintelligence.bullet_type.flare=照明弹 -desc.immersiveintelligence.bullet_type.chemical=化学 -desc.immersiveintelligence.bullet_type.emp=EMP -desc.immersiveintelligence.bullet_type.terrain_denial=地形封锁 -desc.immersiveintelligence.bullet_type.special=特殊用途 - -desc.immersiveintelligence.bullet_core_type.softpoint=软尖弹 -desc.immersiveintelligence.bullet_core_type.shaped=塑型 -desc.immersiveintelligence.bullet_core_type.shaped_sabot=塑形尾翼稳定 -desc.immersiveintelligence.bullet_core_type.piercing=穿甲 -desc.immersiveintelligence.bullet_core_type.piercing_sabot=弹托 -desc.immersiveintelligence.bullet_core_type.canister=霰弹筒 -desc.immersiveintelligence.bullet_core_type.cluster=集束 - -desc.immersiveintelligence.effect_shape.star=星形 -desc.immersiveintelligence.effect_shape.orb=球形 -desc.immersiveintelligence.effect_shape.line=线型 -desc.immersiveintelligence.effect_shape.cone=锥形 - -desc.immersiveintelligence.penetration_hardness.foliage=树叶 -desc.immersiveintelligence.penetration_hardness.fragile=玻璃 -desc.immersiveintelligence.penetration_hardness.ground=地面 -desc.immersiveintelligence.penetration_hardness.wood=木 -desc.immersiveintelligence.penetration_hardness.weak_metal=脆金属 -desc.immersiveintelligence.penetration_hardness.rock=石 -desc.immersiveintelligence.penetration_hardness.bricks=砖 -desc.immersiveintelligence.penetration_hardness.iron=铁 -desc.immersiveintelligence.penetration_hardness.concrete=混凝土 -desc.immersiveintelligence.penetration_hardness.steel=钢 -desc.immersiveintelligence.penetration_hardness.panzerconcrete=混凝土 -desc.immersiveintelligence.penetration_hardness.tungsten=钨 -desc.immersiveintelligence.penetration_hardness.uberconcrete=德三蜜汁超级混凝土 -desc.immersiveintelligence.penetration_hardness.pabilium=P大神钢 -desc.immersiveintelligence.penetration_hardness.bedrock=基岩 - -desc.immersiveintelligence.bullet_fuse.contact=接触 -desc.immersiveintelligence.bullet_fuse.timed=定时 -desc.immersiveintelligence.bullet_fuse.tooltip.timed=定时引信,延迟设置为%s ticks -desc.immersiveintelligence.bullet_fuse.proximity=接近 -desc.immersiveintelligence.bullet_fuse.tooltip.proximity=近距引信,距离设置为%s blocks - -desc.immersiveintelligence.bullets.composition=%s - 成分 -desc.immersiveintelligence.bullets.details=详情: -desc.immersiveintelligence.bullets.core=装有 %1$s %2$s -desc.immersiveintelligence.bullets.fuse=%s 引信 -desc.immersiveintelligence.bullets.mass=质量: %s -desc.immersiveintelligence.bullets.caliber=口径: %s bCal - -desc.immersiveintelligence.bullets.components=组件: -desc.immersiveintelligence.bullets.ballistics=%s - 弹道 -desc.immersiveintelligence.bullets.performance=性能: -desc.immersiveintelligence.bullets.damage_dealt=造成的伤害: %s -desc.immersiveintelligence.bullets.standard_velocity=标准速度: %s b/t -desc.immersiveintelligence.bullets.max_artillery_range=最大炮火射程: %s 块 -desc.immersiveintelligence.bullets.max_artillery_height=到达最高高度: %s 块 -desc.immersiveintelligence.bullets.max_direct_range=最大直接范围: %s 块 -desc.immersiveintelligence.bullets.max_range=最大距离: %s 块 -desc.immersiveintelligence.bullets.armor_penetration=护甲穿透: - -desc.immersiveintelligence.bullet_magazine.remaining=剩余子弹: %s -desc.immersiveintelligence.bullet_magazine.empty=空 - -desc.immersiveintelligence.medical_crate.heal=治愈受伤的实体 -desc.immersiveintelligence.medical_crate.boost=将效果应用于实体 - -desc.immersiveintelligence.repair_crate.repair_armor=修理磨损的装甲 -desc.immersiveintelligence.repair_crate.repair_vehicles=修理载具 - -desc.immersiveintelligence.jei.washing_recipe=化学浸洗 - -#Potion effects -potion.immersiveintelligence.suppression=压制 -potion.immersiveintelligence.broken_armor=穿甲 -potion.immersiveintelligence.corrosion=腐蚀 -potion.immersiveintelligence.infrared_vision=红外视野 -potion.immersiveintelligence.iron_will=钢铁意志 -potion.immersiveintelligence.well_supplied=供应完备 -potion.immersiveintelligence.concealed=匿踪 -potion.immersiveintelligence.exposed=暴露 -potion.immersiveintelligence.medical_treatment=医疗救护 -potion.immersiveintelligence.undergoing_repairs=正在进行维修 -potion.immersiveintelligence.radiation=辐射 -potion.immersiveintelligence.nuclear_heat=核热 -potion.immersiveintelligence.movement_assist=运动辅助 -potion.immersiveintelligence.foreign_shores=异国海岸 -potion.immersiveintelligence.enemy_soil=敌人的土地 -potion.immersiveintelligence.enemys_nest=敌人的巢穴 -potion.immersiveintelligence.home_shores=家乡海岸 -potion.immersiveintelligence.homeland=祖国 -potion.immersiveintelligence.heartland=腹地 - -#Chat info / debug -info.immersiveintelligence.frequency_set=无线电频率已设置为 %s -info.immersiveintelligence.frequency_invalid=无效频率,基本设备可以使用高达 %s! -info.immersiveintelligence.current_frequency=电流频率: %s - -info.immersiveintelligence.requires_advanced_hammer=先进的工程需要先进的工具...你需要一个电锤来制造这台机器! - -info.immersiveintelligence.tool_durability=耐久: %1$s / %2$s -info.immersiveintelligence.gear_ratio=扭矩/速度比: %1$s >> %2$s -info.immersiveintelligence.gear_ratio_short=%1$s >> %2$s -info.immersiveintelligence.charge_with_if=使用IF充能! - -info.immersiveintelligence.magazine.loading=装填中... %s/%s -info.immersiveintelligence.magazine.loaded=已装填 - -info.immersiveintelligence.yaw=偏角: %s -info.immersiveintelligence.pitch=俯仰: %s -info.immersiveintelligence.distance=距离: %s -info.immersiveintelligence.distance_unknown=位置 - -info.immersiveintelligence.debugger_mode=调试器模式: %s -info.immersiveintelligence.debugger_mode.transceiver=收发器 -info.immersiveintelligence.debugger_mode.transmitter=发射器 -info.immersiveintelligence.debugger_mode.receiver=接收器 - -info.immersiveintelligence.punchtape_reader_mode=打孔纸带读取器模式: %s -info.immersiveintelligence.punchtape_reader_mode.0=红石不敏感 -info.immersiveintelligence.punchtape_reader_mode.1=红石上的数据包 -info.immersiveintelligence.punchtape_reader_mode.2=数据包上的红石 - -info.immersiveintelligence.redstone_buffer_mode=红石缓冲模式: %s -info.immersiveintelligence.redstone_buffer_mode.passtrough=通过 -info.immersiveintelligence.redstone_buffer_mode.signal=信号 - -info.immersiveintelligence.machineupgrade.name=安装中: %s -info.immersiveintelligence.machineupgrade.progress=进度: %1$s / %2$s IF - -desc.immersiveintelligence.upgrade.dependencies_hold=%s - 所需依赖项 -desc.immersiveintelligence.upgrade.incompatible_hold=%s - 不兼容的升级 -desc.immersiveintelligence.upgrade.dependencies=所需依赖项: -desc.immersiveintelligence.upgrade.incompatible=不兼容的升级: - -info.immersiveintelligence.machineupgrade.purpose.efficiency=效率升级 -info.immersiveintelligence.machineupgrade.purpose.speed=速率升级 -info.immersiveintelligence.machineupgrade.purpose.capacity=容量升级 -info.immersiveintelligence.machineupgrade.purpose.quality=质量升级 -info.immersiveintelligence.machineupgrade.purpose.data=数据能力升级 -info.immersiveintelligence.machineupgrade.purpose.full_conversion=完全转换 -info.immersiveintelligence.machineupgrade.purpose.primary_weapon=主武器 -info.immersiveintelligence.machineupgrade.purpose.secondary_weapon=副武器 -info.immersiveintelligence.machineupgrade.purpose.armor=装甲升级 -info.immersiveintelligence.machineupgrade.purpose.defense_system=防御升级 -info.immersiveintelligence.machineupgrade.purpose.special=特殊升级 - -info.immersiveintelligence.machineupgrade.tier.core=核心功能 -info.immersiveintelligence.machineupgrade.tier.tier_1=基本升级 -info.immersiveintelligence.machineupgrade.tier.tier_2=精炼升级 -info.immersiveintelligence.machineupgrade.tier.tier_3=高级升级 -info.immersiveintelligence.machineupgrade.tier.tier_4=杰作升级 - -info.immersiveintelligence.exoskeleton.0=外骨骼: §4Off§r -info.immersiveintelligence.exoskeleton.1=外骨骼: §aMotion Assist§r -info.immersiveintelligence.exoskeleton.2=外骨骼: §2Overdrive§r - -info.immersiveintelligence.machineupgrade.mg_loader.gui_tooltip=MG - -info.immersiveintelligence.towing.no=找不到可牵引的车辆 -info.immersiveintelligence.towing.towed=成功牵引! -info.immersiveintelligence.towing.untowed=成功脱牵! -#Do not translate, it's a Factorio reference ^^ -info.immersiveintelligence.towing.no_easter_egg=Nie można rozsprzęgać taboru nie będąc w pojeździe! - -#Rotational Energy - -rotary.immersiveintelligence.belt_system.wrongCable=无法将电机传动带连接到电线连接器 -rotary.immersiveintelligence.belt_system.wrongCable1=我们不能简单地将皮带连接到电线系统上 -rotary.immersiveintelligence.belt_system.wrongCable2=正如我所说,你连不上的,别试了 -rotary.immersiveintelligence.belt_system.wrongCable3=老子蜀道山... -rotary.immersiveintelligence.belt_system.wrongCable4=宁听不懂中文? -rotary.immersiveintelligence.belt_system.wrongCable5=宁要是再这么玩劳资就一炉钩子给你****勾下来挂黄山迎客松上广迎***的天下来宾(艹皿艹) -rotary.immersiveintelligence.belt_system.itsBoringGetALife=你已经闲得令我这个叫做MotorBeltUtils.java的程序都发指了 -rotary.immersiveintelligence.belt_system.wrongBelt=你不能把皮带连接到这! - -rotary.immersiveintelligence.belt_system.wrongDimension=您的维度错误! -rotary.immersiveintelligence.belt_system.sameConnection=您不能将皮带连在同一点上! -rotary.immersiveintelligence.belt_system.tooFar=您距离上一节点距离过远! -rotary.immersiveintelligence.belt_system.cantSee=连接被阻挡! -rotary.immersiveintelligence.belt_system.connectionExists=连接已存在 -rotary.immersiveintelligence.belt_system.invalidPoint=其中一个连接点无效 -rotary.immersiveintelligence.belt_system.differentAxis=皮带不能斜向连接。 - -#Data System Descriptions -datasystem.immersiveintelligence.function.null=缺失功能 -datasystem.immersiveintelligence.function.null.desc=请将带有详细信息的错误报告提交给 II 的 GitHub 上的模组开发者。 - -#这部分太多了还要数学知识我就没翻 -#Arithmetic -datasystem.immersiveintelligence.function.add=加法 -datasystem.immersiveintelligence.function.add.desc=将所有输入相加 -datasystem.immersiveintelligence.function.add.param.summand=加数 -datasystem.immersiveintelligence.function.add.param.summand.desc=总和的一部分 -datasystem.immersiveintelligence.function.add.result=总和 -datasystem.immersiveintelligence.function.add.result.desc=所有输入的总和.例如 2+2=4 - -datasystem.immersiveintelligence.function.subtract=减法 -datasystem.immersiveintelligence.function.subtract.desc=从被减数中减去减数。 -datasystem.immersiveintelligence.function.subtract.param.minuend=被减数 -datasystem.immersiveintelligence.function.subtract.param.minuend.desc=在减法中被减去的数字 -datasystem.immersiveintelligence.function.subtract.param.subtrahend=减数 -datasystem.immersiveintelligence.function.subtract.param.subtrahend.desc=用来减被减数的数 -datasystem.immersiveintelligence.function.subtract.result=差 -datasystem.immersiveintelligence.function.subtract.result.desc=减法的结果.例如5-3=2 - -datasystem.immersiveintelligence.function.multiply=乘法 -datasystem.immersiveintelligence.function.multiply.desc=将因数相乘 -datasystem.immersiveintelligence.function.multiply.param.factor=因数 -datasystem.immersiveintelligence.function.multiply.param.factor.desc=在乘法中相乘的数字 -datasystem.immersiveintelligence.function.multiply.result=积 -datasystem.immersiveintelligence.function.multiply.result.desc=乘法的结果. 例如 2*3=6 - -datasystem.immersiveintelligence.function.divide=除法 -datasystem.immersiveintelligence.function.divide.desc=将被除数除以除数。 -datasystem.immersiveintelligence.function.divide.param.dividend=被除数 -datasystem.immersiveintelligence.function.divide.param.dividend.desc=被除数除的数 -datasystem.immersiveintelligence.function.divide.param.divisor=除数 -datasystem.immersiveintelligence.function.divide.param.divisor.desc=用来除被除数的数 -datasystem.immersiveintelligence.function.divide.result=商 -datasystem.immersiveintelligence.function.divide.result.desc=除法的结果. 例如 10/2=5 - -datasystem.immersiveintelligence.function.modulo=模 -datasystem.immersiveintelligence.function.modulo.desc=计算被除数除以除数的余数。 -datasystem.immersiveintelligence.function.modulo.param.dividend=被除数 -datasystem.immersiveintelligence.function.modulo.param.dividend.desc=被除数除的数 -datasystem.immersiveintelligence.function.modulo.param.divisor=除数 -datasystem.immersiveintelligence.function.modulo.param.divisor.desc=用来除被除数的数 -datasystem.immersiveintelligence.function.modulo.result=余数 -datasystem.immersiveintelligence.function.modulo.result.desc=取模运算的结果. 例如 10 mod 3=1 - -datasystem.immersiveintelligence.function.abs=取绝对值 -datasystem.immersiveintelligence.function.abs.desc=输出输入的绝对值. -datasystem.immersiveintelligence.function.abs.param.value=数值 -datasystem.immersiveintelligence.function.abs.param.value.desc=要取绝对值的数字 -datasystem.immersiveintelligence.function.abs.result=绝对值 -datasystem.immersiveintelligence.function.abs.result.desc=输入的绝对值. 例如 abs(-5)=5 - -# Advanced Arithmetic -datasystem.immersiveintelligence.function.power=幂 -datasystem.immersiveintelligence.function.power.desc=将底数提高到指数的幂。 -datasystem.immersiveintelligence.function.power.param.base=底数 -datasystem.immersiveintelligence.function.power.param.base.desc=要被乘方的数 -datasystem.immersiveintelligence.function.power.param.exponent=指数 -datasystem.immersiveintelligence.function.power.param.exponent.desc=底数的指数 -datasystem.immersiveintelligence.function.power.result=结果 -datasystem.immersiveintelligence.function.power.result.desc=将底数提升到指数的结果. For example 2^3=8 - -datasystem.immersiveintelligence.function.root=根 -datasystem.immersiveintelligence.function.root.desc=计算底数的根. -datasystem.immersiveintelligence.function.root.param.base=底数 -datasystem.immersiveintelligence.function.root.param.base.desc=要开平方的数 -datasystem.immersiveintelligence.function.root.param.degree=次数 -datasystem.immersiveintelligence.function.root.param.degree.desc=根的次数 -datasystem.immersiveintelligence.function.root.result=结果 -datasystem.immersiveintelligence.function.root.result.desc=求底数平方根的结果. 例如9的平方根=3 - -datasystem.immersiveintelligence.function.max=最大值 -datasystem.immersiveintelligence.function.max.desc=在输入中查找最大值. -datasystem.immersiveintelligence.function.max.param.number=数字 -datasystem.immersiveintelligence.function.max.param.number.desc=用来比较的数值 -datasystem.immersiveintelligence.function.max.result=最大值 -datasystem.immersiveintelligence.function.max.result.desc=输入中最大的数 - -datasystem.immersiveintelligence.function.min=最小值 -datasystem.immersiveintelligence.function.min.desc=在输入中查找最小值. -datasystem.immersiveintelligence.function.min.param.number=Number -datasystem.immersiveintelligence.function.min.param.number.desc=用来比较的数值 -datasystem.immersiveintelligence.function.min.result=最小值 -datasystem.immersiveintelligence.function.min.result.desc=输入中最小的数 - -datasystem.immersiveintelligence.function.sign=符号 -datasystem.immersiveintelligence.function.sign.desc=返回输入的符号. -datasystem.immersiveintelligence.function.sign.param.number=数字 -datasystem.immersiveintelligence.function.sign.param.number.desc=获取符号的数字 -datasystem.immersiveintelligence.function.sign.result=符号 -datasystem.immersiveintelligence.function.sign.result.desc=输入的符号.例如,负数为 -1,正数为 1,零为 0. - -datasystem.immersiveintelligence.function.ceil=上限 -datasystem.immersiveintelligence.function.ceil.desc=返回大于或等于输入的最小整数. -datasystem.immersiveintelligence.function.ceil.param.number=数字 -datasystem.immersiveintelligence.function.ceil.param.number.desc=获取上限的数字 -datasystem.immersiveintelligence.function.ceil.result=上限 -datasystem.immersiveintelligence.function.ceil.result.desc=大于或等于输入的最小整数 - -datasystem.immersiveintelligence.function.round=四舍五入 -datasystem.immersiveintelligence.function.round.desc=将输入四舍五入到最接近的整数. -datasystem.immersiveintelligence.function.round.param.number=数字 -datasystem.immersiveintelligence.function.round.param.number.desc=用于四舍五入的数字 -datasystem.immersiveintelligence.function.round.result=四舍五入值 -datasystem.immersiveintelligence.function.round.result.desc=将输入四舍五入到最接近的整数 - -datasystem.immersiveintelligence.function.floor=向下取整 -datasystem.immersiveintelligence.function.floor.desc=返回小于或等于输入的最大整数. -datasystem.immersiveintelligence.function.floor.param.number=数字 -datasystem.immersiveintelligence.function.floor.param.number.desc=向下取整的数字 -datasystem.immersiveintelligence.function.floor.result=Floor -datasystem.immersiveintelligence.function.floor.result.desc=小于或等于输入的最大整数 - -datasystem.immersiveintelligence.function.sin=Sin -datasystem.immersiveintelligence.function.sin.desc=计算输入的正弦值. -datasystem.immersiveintelligence.function.sin.param.angle=角度 -datasystem.immersiveintelligence.function.sin.param.angle.desc=角的度数 -datasystem.immersiveintelligence.function.sin.result=正弦 -datasystem.immersiveintelligence.function.sin.result.desc=输入角度的正弦值 - -datasystem.immersiveintelligence.function.cos=Cos -datasystem.immersiveintelligence.function.cos.desc=计算输入的余弦值. -datasystem.immersiveintelligence.function.cos.param.angle=角度 -datasystem.immersiveintelligence.function.cos.param.angle.desc=角的度数 -datasystem.immersiveintelligence.function.cos.result=余弦 -datasystem.immersiveintelligence.function.cos.result.desc=输入角度的余弦值 - -datasystem.immersiveintelligence.function.tan=Tan -datasystem.immersiveintelligence.function.tan.desc=计算输入的正切值. -datasystem.immersiveintelligence.function.tan.param.angle=角度 -datasystem.immersiveintelligence.function.tan.param.angle.desc=角的度数 -datasystem.immersiveintelligence.function.tan.result=余弦 -datasystem.immersiveintelligence.function.tan.result.desc=输入角度的正切值 - -# Logic -datasystem.immersiveintelligence.function.and=与 -datasystem.immersiveintelligence.function.and.desc=如果所有输入都为真,则返回真 -datasystem.immersiveintelligence.function.and.param.input=Input -datasystem.immersiveintelligence.function.and.param.input.desc=The input to check -datasystem.immersiveintelligence.function.and.result=Result -datasystem.immersiveintelligence.function.and.result.desc=Result of the AND operation. - -datasystem.immersiveintelligence.function.or=或 -datasystem.immersiveintelligence.function.or.desc=Returns true if any of the inputs are true -datasystem.immersiveintelligence.function.or.param.input=Input -datasystem.immersiveintelligence.function.or.param.input.desc=The input to check -datasystem.immersiveintelligence.function.or.result=Result -datasystem.immersiveintelligence.function.or.result.desc=Result of the OR operation. - -datasystem.immersiveintelligence.function.not=非 -datasystem.immersiveintelligence.function.not.desc=Returns the opposite of the input -datasystem.immersiveintelligence.function.not.param.input=Input -datasystem.immersiveintelligence.function.not.param.input.desc=The input to negate -datasystem.immersiveintelligence.function.not.result=Result -datasystem.immersiveintelligence.function.not.result.desc=Result of the NOT operation. - -datasystem.immersiveintelligence.function.nand=与非 -datasystem.immersiveintelligence.function.nand.desc=Returns false if all inputs are true -datasystem.immersiveintelligence.function.nand.param.input=Input -datasystem.immersiveintelligence.function.nand.param.input.desc=The input to check -datasystem.immersiveintelligence.function.nand.result=Result -datasystem.immersiveintelligence.function.nand.result.desc=Result of the NAND operation. - -datasystem.immersiveintelligence.function.nor=或非 -datasystem.immersiveintelligence.function.nor.desc=Returns false if any of the inputs are true -datasystem.immersiveintelligence.function.nor.param.input=Input -datasystem.immersiveintelligence.function.nor.param.input.desc=The input to check -datasystem.immersiveintelligence.function.nor.result=Result -datasystem.immersiveintelligence.function.nor.result.desc=Result of the NOR operation. - -datasystem.immersiveintelligence.function.xor=异或 -datasystem.immersiveintelligence.function.xor.desc=Returns true if exactly one of the inputs is true -datasystem.immersiveintelligence.function.xor.param.input=Input -datasystem.immersiveintelligence.function.xor.param.input.desc=The input to check -datasystem.immersiveintelligence.function.xor.result=Result -datasystem.immersiveintelligence.function.xor.result.desc=Result of the XOR operation. - -datasystem.immersiveintelligence.function.xnor=同或 -datasystem.immersiveintelligence.function.xnor.desc=Returns true if an even number of the inputs are true -datasystem.immersiveintelligence.function.xnor.param.input=Input -datasystem.immersiveintelligence.function.xnor.param.input.desc=The input to check -datasystem.immersiveintelligence.function.xnor.result=Result -datasystem.immersiveintelligence.function.xnor.result.desc=Result of the XNOR operation. - -# Comparator -datasystem.immersiveintelligence.function.greater=大于 -datasystem.immersiveintelligence.function.greater.desc=Returns true if the first input is greater than the second -datasystem.immersiveintelligence.function.greater.param.compared=Compared -datasystem.immersiveintelligence.function.greater.param.compared.desc=The value to compare -datasystem.immersiveintelligence.function.greater.result=Result -datasystem.immersiveintelligence.function.greater.result.desc=Result of the comparison - -datasystem.immersiveintelligence.function.less=小于 -datasystem.immersiveintelligence.function.less.desc=Returns true if the first input is less than the second -datasystem.immersiveintelligence.function.less.param.compared=Compared -datasystem.immersiveintelligence.function.less.param.compared.desc=The value to compare -datasystem.immersiveintelligence.function.less.result=Result -datasystem.immersiveintelligence.function.less.result.desc=Result of the comparison - -datasystem.immersiveintelligence.function.greater_or_equal=大于等于 -datasystem.immersiveintelligence.function.greater_or_equal.desc=Returns true if the first input is greater than or equal to the second -datasystem.immersiveintelligence.function.greater_or_equal.param.compared=Compared -datasystem.immersiveintelligence.function.greater_or_equal.param.compared.desc=The value to compare -datasystem.immersiveintelligence.function.greater_or_equal.result=Result -datasystem.immersiveintelligence.function.greater_or_equal.result.desc=Result of the comparison - -datasystem.immersiveintelligence.function.less_or_equal=小于等于 -datasystem.immersiveintelligence.function.less_or_equal.desc=Returns true if the first input is less than or equal to the second -datasystem.immersiveintelligence.function.less_or_equal.param.compared=Compared -datasystem.immersiveintelligence.function.less_or_equal.param.compared.desc=The value to compare -datasystem.immersiveintelligence.function.less_or_equal.result=Result -datasystem.immersiveintelligence.function.less_or_equal.result.desc=Result of the comparison - -datasystem.immersiveintelligence.function.equal=等于 -datasystem.immersiveintelligence.function.equal.desc=Returns true if the inputs are equal -datasystem.immersiveintelligence.function.equal.param.compared=Compared -datasystem.immersiveintelligence.function.equal.param.compared.desc=The value to compare -datasystem.immersiveintelligence.function.equal.result=Result -datasystem.immersiveintelligence.function.equal.result.desc=Result of the comparison - -# Text -datasystem.immersiveintelligence.function.string_join=结合 -datasystem.immersiveintelligence.function.string_join.desc=Joins two inputs into a single string, for example, joining strings "Engineers" and "Cause" results in "EngineersCause" -datasystem.immersiveintelligence.function.string_join.param.first=First -datasystem.immersiveintelligence.function.string_join.param.first.desc=The first string to join -datasystem.immersiveintelligence.function.string_join.param.second=Second -datasystem.immersiveintelligence.function.string_join.param.second.desc=The second string to join -datasystem.immersiveintelligence.function.string_join.result=Result -datasystem.immersiveintelligence.function.string_join.result.desc=The combined string - -datasystem.immersiveintelligence.function.string_split=拆分 -datasystem.immersiveintelligence.function.string_split.desc=Splits the input string into an array of strings -datasystem.immersiveintelligence.function.string_split.param.text=String -datasystem.immersiveintelligence.function.string_split.param.text.desc=The string to split -datasystem.immersiveintelligence.function.string_split.param.delimiter=Delimiter -datasystem.immersiveintelligence.function.string_split.param.delimiter.desc=The string used to separate the input -datasystem.immersiveintelligence.function.string_split.result=Result -datasystem.immersiveintelligence.function.string_split.result.desc=Array of strings - -datasystem.immersiveintelligence.function.string_length=长度 -datasystem.immersiveintelligence.function.string_length.desc=Returns the length of the input string -datasystem.immersiveintelligence.function.string_length.param.text=String -datasystem.immersiveintelligence.function.string_length.param.text.desc=The string to get the length of -datasystem.immersiveintelligence.function.string_length.result=Length -datasystem.immersiveintelligence.function.string_length.result.desc=The length of the input string - -datasystem.immersiveintelligence.function.string_char_at=字符位于 -datasystem.immersiveintelligence.function.string_char_at.desc=Returns the character at the specified index, starting from 0. For example, the character at index 2 of "Engineers" is "g" -datasystem.immersiveintelligence.function.string_char_at.param.text=String -datasystem.immersiveintelligence.function.string_char_at.param.text.desc=The string to get the character from -datasystem.immersiveintelligence.function.string_char_at.param.index=Index -datasystem.immersiveintelligence.function.string_char_at.param.index.desc=The index of the character to get, starting from 0 -datasystem.immersiveintelligence.function.string_char_at.result=Character -datasystem.immersiveintelligence.function.string_char_at.result.desc=The character at the specified index - -datasystem.immersiveintelligence.function.string_substring=子字符串 -datasystem.immersiveintelligence.function.string_substring.desc=Returns a substring of the input string, for example, the substring of "Engineers' Cause" from index 1 "Cause" -datasystem.immersiveintelligence.function.string_substring.param.text=String -datasystem.immersiveintelligence.function.string_substring.param.text.desc=The string to get the substring from -datasystem.immersiveintelligence.function.string_substring.param.index=Start -datasystem.immersiveintelligence.function.string_substring.param.index.desc=The starting index of the substring, starting from 0 -datasystem.immersiveintelligence.function.string_substring.result=Substring -datasystem.immersiveintelligence.function.string_substring.result.desc=The substring of the input string - -#todo: change to match the actual workings -datasystem.immersiveintelligence.function.string_trim=修饰 -datasystem.immersiveintelligence.function.string_trim.desc=Returns a string trimmed to a given length, string "Engineers' Cause" trimmed to 7 characters is "Engineer" -datasystem.immersiveintelligence.function.string_trim.param.text=String -datasystem.immersiveintelligence.function.string_trim.param.text.desc=The string to trim -datasystem.immersiveintelligence.function.string_trim.param.to_index=End -datasystem.immersiveintelligence.function.string_trim.param.to_index.desc=The ending index of the substring, starting from 0 -datasystem.immersiveintelligence.function.string_trim.result=Trimmed String -datasystem.immersiveintelligence.function.string_trim.result.desc=The input string trimmed to the specified length - -datasystem.immersiveintelligence.function.string_hexcol=使用HEX色彩格式 -datasystem.immersiveintelligence.function.string_hexcol.desc=Formats the input string using hexadecimal color codes. Used to color text for printing on paper. -datasystem.immersiveintelligence.function.string_hexcol.param.text=String -datasystem.immersiveintelligence.function.string_hexcol.param.text.desc=The string to format -datasystem.immersiveintelligence.function.string_hexcol.param.color=Color -datasystem.immersiveintelligence.function.string_hexcol.param.color.desc=The hexadecimal color code to use -datasystem.immersiveintelligence.function.string_hexcol.result=Formatted String -datasystem.immersiveintelligence.function.string_hexcol.result.desc=The input string formatted using the hexadecimal color code - -datasystem.immersiveintelligence.function.string_format=使用文本格式设置格式 -datasystem.immersiveintelligence.function.string_format.desc=Formats the input string using Text Formatting. Used to color text for signs or chat messages. -datasystem.immersiveintelligence.function.string_format.param.text=String -datasystem.immersiveintelligence.function.string_format.param.text.desc=The string to format -datasystem.immersiveintelligence.function.string_format.param.formatting=Formatting -datasystem.immersiveintelligence.function.string_format.param.formatting.desc=The Formatting color to use -datasystem.immersiveintelligence.function.string_format.result=Formatted String -datasystem.immersiveintelligence.function.string_format.result.desc=The input string formatted using the TextFormatting color - -datasystem.immersiveintelligence.function.string_contains=包含 -datasystem.immersiveintelligence.function.string_contains.desc=Returns true if the input string contains the specified substring -datasystem.immersiveintelligence.function.string_contains.param.text=String -datasystem.immersiveintelligence.function.string_contains.param.text.desc=The string to check -datasystem.immersiveintelligence.function.string_contains.param.fragment=Fragment -datasystem.immersiveintelligence.function.string_contains.param.fragment.desc=The substring to check for -datasystem.immersiveintelligence.function.string_contains.result=Result -datasystem.immersiveintelligence.function.string_contains.result.desc=Result of the contains operation - -datasystem.immersiveintelligence.function.string_contains_count=包含的数量 -datasystem.immersiveintelligence.function.string_contains_count.desc=Returns the number of times the specified substring appears in the input string -datasystem.immersiveintelligence.function.string_contains_count.param.text=String -datasystem.immersiveintelligence.function.string_contains_count.param.text.desc=The string to check -datasystem.immersiveintelligence.function.string_contains_count.param.fragment=Fragment -datasystem.immersiveintelligence.function.string_contains_count.param.fragment.desc=The substring to check for -datasystem.immersiveintelligence.function.string_contains_count.result=Count -datasystem.immersiveintelligence.function.string_contains_count.result.desc=The number of times the substring appears in the input string - -datasystem.immersiveintelligence.function.string_replace_first=替换第一项 -datasystem.immersiveintelligence.function.string_replace_first.desc=Replaces the first occurrence of the specified substring in the input string with the replacement -datasystem.immersiveintelligence.function.string_replace_first.param.text=String -datasystem.immersiveintelligence.function.string_replace_first.param.text.desc=The string to modify -datasystem.immersiveintelligence.function.string_replace_first.param.fragment=Fragment -datasystem.immersiveintelligence.function.string_replace_first.param.fragment.desc=The substring to replace -datasystem.immersiveintelligence.function.string_replace_first.param.with=Replacement -datasystem.immersiveintelligence.function.string_replace_first.param.with.desc=The string to replace the substring with -datasystem.immersiveintelligence.function.string_replace_first.result=Result -datasystem.immersiveintelligence.function.string_replace_first.result.desc=The input string with the first occurrence of the substring replaced - -datasystem.immersiveintelligence.function.string_replace_all=替换所有 -datasystem.immersiveintelligence.function.string_replace_all.desc=Replaces all occurrences of the specified substring in the input string with the replacement -datasystem.immersiveintelligence.function.string_replace_all.param.text=String -datasystem.immersiveintelligence.function.string_replace_all.param.text.desc=The string to modify -datasystem.immersiveintelligence.function.string_replace_all.param.fragment=Fragment -datasystem.immersiveintelligence.function.string_replace_all.param.fragment.desc=The substring to replace -datasystem.immersiveintelligence.function.string_replace_all.param.with=Replacement -datasystem.immersiveintelligence.function.string_replace_all.param.with.desc=The string to replace the substring with -datasystem.immersiveintelligence.function.string_replace_all.result=Result -datasystem.immersiveintelligence.function.string_replace_all.result.desc=The input string with all occurrences of the substring replaced - -datasystem.immersiveintelligence.function.string_lowercase=到小写 -datasystem.immersiveintelligence.function.string_lowercase.desc=Converts the input string to lowercase -datasystem.immersiveintelligence.function.string_lowercase.param.text=String -datasystem.immersiveintelligence.function.string_lowercase.param.text.desc=The string to convert -datasystem.immersiveintelligence.function.string_lowercase.result=lowercase -datasystem.immersiveintelligence.function.string_lowercase.result.desc=The input string converted to lowercase - -datasystem.immersiveintelligence.function.string_uppercase=到大写 -datasystem.immersiveintelligence.function.string_uppercase.desc=Converts the input string to uppercase -datasystem.immersiveintelligence.function.string_uppercase.param.text=String -datasystem.immersiveintelligence.function.string_uppercase.param.text.desc=The string to convert -datasystem.immersiveintelligence.function.string_uppercase.result=UPPERCASE -datasystem.immersiveintelligence.function.string_uppercase.result.desc=The input string converted to uppercase - -datasystem.immersiveintelligence.function.string_snake_case=到蛇形命名法 -datasystem.immersiveintelligence.function.string_snake_case.desc=Converts the input string to snake_case -datasystem.immersiveintelligence.function.string_snake_case.param.text=String -datasystem.immersiveintelligence.function.string_snake_case.param.text.desc=The string to convert -datasystem.immersiveintelligence.function.string_snake_case.result=snake_case -datasystem.immersiveintelligence.function.string_snake_case.result.desc=The input string converted to snake_case - -datasystem.immersiveintelligence.function.string_camel_case=到驼峰命名法 -datasystem.immersiveintelligence.function.string_camel_case.desc=Converts the input string to camelCase -datasystem.immersiveintelligence.function.string_camel_case.param.text=String -datasystem.immersiveintelligence.function.string_camel_case.param.text.desc=The string to convert -datasystem.immersiveintelligence.function.string_camel_case.param.start_small=Start Small -datasystem.immersiveintelligence.function.string_camel_case.param.start_small.desc=Whether the first letter should be lowercase -datasystem.immersiveintelligence.function.string_camel_case.result=camelCase -datasystem.immersiveintelligence.function.string_camel_case.result.desc=The input string converted to camelCase - -datasystem.immersiveintelligence.function.string_reverse=反相 -datasystem.immersiveintelligence.function.string_reverse.desc=Reverses the input string -datasystem.immersiveintelligence.function.string_reverse.param.text=String -datasystem.immersiveintelligence.function.string_reverse.param.text.desc=The string to reverse -datasystem.immersiveintelligence.function.string_reverse.result=Reversed -datasystem.immersiveintelligence.function.string_reverse.result.desc=The input string reversed - -# ItemStack -datasystem.immersiveintelligence.function.itemstack_create=Create From ID -datasystem.immersiveintelligence.function.itemstack_create.desc=Creates an ItemStack from the input item ID, amount and metadata value -datasystem.immersiveintelligence.function.itemstack_create.param.item_id=ID -datasystem.immersiveintelligence.function.itemstack_create.param.item_id.desc=The ID of the item -datasystem.immersiveintelligence.function.itemstack_create.param.amount=Amount -datasystem.immersiveintelligence.function.itemstack_create.param.amount.desc=The amount of the item -datasystem.immersiveintelligence.function.itemstack_create.param.meta=Meta -datasystem.immersiveintelligence.function.itemstack_create.param.meta.desc=The metadata value of the item -datasystem.immersiveintelligence.function.itemstack_create.result=ItemStack -datasystem.immersiveintelligence.function.itemstack_create.result.desc=The ItemStack created from the ID - -datasystem.immersiveintelligence.function.item_get_count=Get Count -datasystem.immersiveintelligence.function.item_get_count.desc=Returns the count of the input ItemStack -datasystem.immersiveintelligence.function.item_get_count.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_get_count.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_get_count.result=Count -datasystem.immersiveintelligence.function.item_get_count.result.desc=The count of the input ItemStack - -datasystem.immersiveintelligence.function.item_set_count=Set Count -datasystem.immersiveintelligence.function.item_set_count.desc=Sets the count of the input ItemStack -datasystem.immersiveintelligence.function.item_set_count.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_set_count.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_set_count.param.count=Count -datasystem.immersiveintelligence.function.item_set_count.param.count.desc=The count to set -datasystem.immersiveintelligence.function.item_set_count.result=ItemStack -datasystem.immersiveintelligence.function.item_set_count.result.desc=The ItemStack with the new count - -datasystem.immersiveintelligence.function.item_get_meta=Get Meta Value -datasystem.immersiveintelligence.function.item_get_meta.desc=Returns the meta value (often being the damage taken by a tool) of the input ItemStack -datasystem.immersiveintelligence.function.item_get_meta.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_get_meta.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_get_meta.result=Meta -datasystem.immersiveintelligence.function.item_get_meta.result.desc=The meta value of the input ItemStack - -datasystem.immersiveintelligence.function.item_set_meta=Set Meta Value -datasystem.immersiveintelligence.function.item_set_meta.desc=Sets the meta value (f.e. the taken damage by a tool) of the input ItemStack -datasystem.immersiveintelligence.function.item_set_meta.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_set_meta.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_set_meta.param.damage=Meta -datasystem.immersiveintelligence.function.item_set_meta.param.damage.desc=The meta value to set -datasystem.immersiveintelligence.function.item_set_meta.result=ItemStack -datasystem.immersiveintelligence.function.item_set_meta.result.desc=The ItemStack with the new meta value - -datasystem.immersiveintelligence.function.item_get_nbt=Get NBT -datasystem.immersiveintelligence.function.item_get_nbt.desc=Returns the NBT tag of the input ItemStack -datasystem.immersiveintelligence.function.item_get_nbt.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_get_nbt.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_get_nbt.result=NBT -datasystem.immersiveintelligence.function.item_get_nbt.result.desc=The NBT tag of the input ItemStack - -datasystem.immersiveintelligence.function.item_set_nbt=Set NBT -datasystem.immersiveintelligence.function.item_set_nbt.desc=Sets the NBT tag of the input ItemStack -datasystem.immersiveintelligence.function.item_set_nbt.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_set_nbt.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_set_nbt.param.nbt=NBT -datasystem.immersiveintelligence.function.item_set_nbt.param.nbt.desc=The NBT tag to set -datasystem.immersiveintelligence.function.item_set_nbt.result=ItemStack -datasystem.immersiveintelligence.function.item_set_nbt.result.desc=The ItemStack with the new NBT tag - -datasystem.immersiveintelligence.function.item_get_id=Get ID -datasystem.immersiveintelligence.function.item_get_id.desc=Returns the ID of the input ItemStack -datasystem.immersiveintelligence.function.item_get_id.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_get_id.param.stack.desc=The ItemStack -datasystem.immersiveintelligence.function.item_get_id.result=ID -datasystem.immersiveintelligence.function.item_get_id.result.desc=The ID of the input ItemStack - -datasystem.immersiveintelligence.function.item_is_empty=Is Empty -datasystem.immersiveintelligence.function.item_is_empty.desc=Returns true if the input ItemStack is empty -datasystem.immersiveintelligence.function.item_is_empty.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_is_empty.param.stack.desc=The ItemStack to check -datasystem.immersiveintelligence.function.item_is_empty.result=Result -datasystem.immersiveintelligence.function.item_is_empty.result.desc=True, if the ItemStack is empty - -datasystem.immersiveintelligence.function.item_stacks_with=Stacks With -datasystem.immersiveintelligence.function.item_stacks_with.desc=Returns true if the input ItemStack can stack with the specified ItemStack -datasystem.immersiveintelligence.function.item_stacks_with.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_stacks_with.param.stack.desc=The ItemStack to check -datasystem.immersiveintelligence.function.item_stacks_with.param.with=With -datasystem.immersiveintelligence.function.item_stacks_with.param.with.desc=The ItemStack to check against -datasystem.immersiveintelligence.function.item_stacks_with.result=Result -datasystem.immersiveintelligence.function.item_stacks_with.result.desc=Result of the stacking check - -datasystem.immersiveintelligence.function.item_matches_oredict=Matches OreDictionary -datasystem.immersiveintelligence.function.item_matches_oredict.desc=Returns true if the input ItemStack matches the specified Ore Dictionary entry -datasystem.immersiveintelligence.function.item_matches_oredict.param.stack=ItemStack -datasystem.immersiveintelligence.function.item_matches_oredict.param.stack.desc=The ItemStack to check -datasystem.immersiveintelligence.function.item_matches_oredict.param.ore_dictionary=Ore Dictionary -datasystem.immersiveintelligence.function.item_matches_oredict.param.ore_dictionary.desc=The Ore Dictionary entry to check against -datasystem.immersiveintelligence.function.item_matches_oredict.result=Result -datasystem.immersiveintelligence.function.item_matches_oredict.result.desc=Result of the Ore Dictionary check - -# FluidStack -datasystem.immersiveintelligence.function.fluidstack_create=Create FluidStack -datasystem.immersiveintelligence.function.fluidstack_create.desc=Creates a FluidStack from the input fluid ID, amount and NBT tag -datasystem.immersiveintelligence.function.fluidstack_create.param.fluid_id=ID -datasystem.immersiveintelligence.function.fluidstack_create.param.fluid_id.desc=The ID of the fluid -datasystem.immersiveintelligence.function.fluidstack_create.param.amount=Amount -datasystem.immersiveintelligence.function.fluidstack_create.param.amount.desc=The amount of the fluid -datasystem.immersiveintelligence.function.fluidstack_create.param.nbt=NBT -datasystem.immersiveintelligence.function.fluidstack_create.param.nbt.desc=The NBT tag of the fluid -datasystem.immersiveintelligence.function.fluidstack_create.result=FluidStack -datasystem.immersiveintelligence.function.fluidstack_create.result.desc=The FluidStack created from the ID - -datasystem.immersiveintelligence.function.fluid_get_id=Get ID -datasystem.immersiveintelligence.function.fluid_get_id.desc=Returns the ID of the input FluidStack -datasystem.immersiveintelligence.function.fluid_get_id.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_get_id.param.stack.desc=The FluidStack -datasystem.immersiveintelligence.function.fluid_get_id.result=ID -datasystem.immersiveintelligence.function.fluid_get_id.result.desc=The ID of the input FluidStack - -datasystem.immersiveintelligence.function.fluid_get_amount=Get Amount -datasystem.immersiveintelligence.function.fluid_get_amount.desc=Returns the amount of the input FluidStack -datasystem.immersiveintelligence.function.fluid_get_amount.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_get_amount.param.stack.desc=The FluidStack -datasystem.immersiveintelligence.function.fluid_get_amount.result=Amount -datasystem.immersiveintelligence.function.fluid_get_amount.result.desc=The amount of the input FluidStack - -datasystem.immersiveintelligence.function.fluid_set_amount=Set Amount -datasystem.immersiveintelligence.function.fluid_set_amount.desc=Sets the amount of the input FluidStack -datasystem.immersiveintelligence.function.fluid_set_amount.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_set_amount.param.stack.desc=The FluidStack -datasystem.immersiveintelligence.function.fluid_set_amount.param.amount=Amount -datasystem.immersiveintelligence.function.fluid_set_amount.param.amount.desc=The amount to set -datasystem.immersiveintelligence.function.fluid_set_amount.result=FluidStack -datasystem.immersiveintelligence.function.fluid_set_amount.result.desc=The FluidStack with the new amount - -datasystem.immersiveintelligence.function.fluid_get_nbt=Get NBT -datasystem.immersiveintelligence.function.fluid_get_nbt.desc=Returns the NBT tag of the input FluidStack -datasystem.immersiveintelligence.function.fluid_get_nbt.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_get_nbt.param.stack.desc=The FluidStack -datasystem.immersiveintelligence.function.fluid_get_nbt.result=NBT -datasystem.immersiveintelligence.function.fluid_get_nbt.result.desc=The NBT tag of the input FluidStack - -datasystem.immersiveintelligence.function.fluid_set_nbt=Set NBT -datasystem.immersiveintelligence.function.fluid_set_nbt.desc=Sets the NBT tag of the input FluidStack -datasystem.immersiveintelligence.function.fluid_set_nbt.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_set_nbt.param.stack.desc=The FluidStack -datasystem.immersiveintelligence.function.fluid_set_nbt.param.nbt=NBT -datasystem.immersiveintelligence.function.fluid_set_nbt.param.nbt.desc=The NBT tag to set -datasystem.immersiveintelligence.function.fluid_set_nbt.result=FluidStack -datasystem.immersiveintelligence.function.fluid_set_nbt.result.desc=The FluidStack with the new NBT tag - -datasystem.immersiveintelligence.function.fluid_is_empty=Is Empty -datasystem.immersiveintelligence.function.fluid_is_empty.desc=Returns true if the input FluidStack is empty -datasystem.immersiveintelligence.function.fluid_is_empty.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_is_empty.param.stack.desc=The FluidStack to check -datasystem.immersiveintelligence.function.fluid_is_empty.result=Result -datasystem.immersiveintelligence.function.fluid_is_empty.result.desc=True, if the FluidStack is empty - -datasystem.immersiveintelligence.function.fluid_stacks_with=Stacks With -datasystem.immersiveintelligence.function.fluid_stacks_with.desc=Returns true if the input FluidStack can stack with the specified FluidStack -datasystem.immersiveintelligence.function.fluid_stacks_with.param.stack=FluidStack -datasystem.immersiveintelligence.function.fluid_stacks_with.param.stack.desc=The FluidStack to check -datasystem.immersiveintelligence.function.fluid_stacks_with.param.with=With -datasystem.immersiveintelligence.function.fluid_stacks_with.param.with.desc=The FluidStack to check against -datasystem.immersiveintelligence.function.fluid_stacks_with.result=Result -datasystem.immersiveintelligence.function.fluid_stacks_with.result.desc=Result of the stacking check - -# Array -datasystem.immersiveintelligence.function.array_create=Create Array -datasystem.immersiveintelligence.function.array_create.desc=Creates a new array -datasystem.immersiveintelligence.function.array_create.param.first=First Element -datasystem.immersiveintelligence.function.array_create.param.first.desc= -datasystem.immersiveintelligence.function.array_create.result=Array -datasystem.immersiveintelligence.function.array_create.result.desc=The new array - -datasystem.immersiveintelligence.function.array_get=Get -datasystem.immersiveintelligence.function.array_get.desc=Returns the value at the specified index in the input array -datasystem.immersiveintelligence.function.array_get.param.array=Array -datasystem.immersiveintelligence.function.array_get.param.array.desc=The array to get the value from -datasystem.immersiveintelligence.function.array_get.param.index=Index -datasystem.immersiveintelligence.function.array_get.param.index.desc=The index of the value to get -datasystem.immersiveintelligence.function.array_get.result=Value -datasystem.immersiveintelligence.function.array_get.result.desc=The value at the specified index - -datasystem.immersiveintelligence.function.array_set=Set -datasystem.immersiveintelligence.function.array_set.desc=Sets the value at the specified index in the input array -datasystem.immersiveintelligence.function.array_set.param.array=Array -datasystem.immersiveintelligence.function.array_set.param.array.desc=The array to modify -datasystem.immersiveintelligence.function.array_set.param.index=Index -datasystem.immersiveintelligence.function.array_set.param.index.desc=The index of the value to set -datasystem.immersiveintelligence.function.array_set.param.value=Value -datasystem.immersiveintelligence.function.array_set.param.value.desc=The value to set - -datasystem.immersiveintelligence.function.array_push=Push -datasystem.immersiveintelligence.function.array_push.desc=Adds the value to the end of the input array -datasystem.immersiveintelligence.function.array_push.param.array=Array -datasystem.immersiveintelligence.function.array_push.param.array.desc=The array to modify -datasystem.immersiveintelligence.function.array_push.param.inserted=Inserted -datasystem.immersiveintelligence.function.array_push.param.inserted.desc=The element to add -datasystem.immersiveintelligence.function.array_push.param.value=Value -datasystem.immersiveintelligence.function.array_push.param.value.desc=The value to add - -datasystem.immersiveintelligence.function.array_pop=Pop -datasystem.immersiveintelligence.function.array_pop.desc=Removes and returns the last value from the input array -datasystem.immersiveintelligence.function.array_pop.param.array=Array -datasystem.immersiveintelligence.function.array_pop.param.array.desc=The array to modify -datasystem.immersiveintelligence.function.array_pop.result=Removed -datasystem.immersiveintelligence.function.array_pop.result.desc=The removed value - -datasystem.immersiveintelligence.function.array_swap=Swap -datasystem.immersiveintelligence.function.array_swap.desc=Swaps the values at the specified indices in the input array -datasystem.immersiveintelligence.function.array_swap.param.array=Array -datasystem.immersiveintelligence.function.array_swap.param.array.desc=The array to modify -datasystem.immersiveintelligence.function.array_swap.param.first=First Index -datasystem.immersiveintelligence.function.array_swap.param.first.desc=The first index to swap -datasystem.immersiveintelligence.function.array_swap.param.second=Second Index -datasystem.immersiveintelligence.function.array_swap.param.second.desc=The second index to swap - - -datasystem.immersiveintelligence.function.array_length=Get Length -datasystem.immersiveintelligence.function.array_length.desc=Returns the length of the input array -datasystem.immersiveintelligence.function.array_length.param.array=Array -datasystem.immersiveintelligence.function.array_length.param.array.desc=The array to get the length of -datasystem.immersiveintelligence.function.array_length.result=Length -datasystem.immersiveintelligence.function.array_length.result.desc=The length of the input array - -# Entity -datasystem.immersiveintelligence.function.entity_get_id=Get ID -datasystem.immersiveintelligence.function.entity_get_id.desc=Returns the ID of the input entity -datasystem.immersiveintelligence.function.entity_get_id.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_id.param.entity.desc=The entity to get the ID of -datasystem.immersiveintelligence.function.entity_get_id.result=ID -datasystem.immersiveintelligence.function.entity_get_id.result.desc=The ID of the input entity - -datasystem.immersiveintelligence.function.entity_get_type=Get Type -datasystem.immersiveintelligence.function.entity_get_type.desc=Returns the type of the input entity -datasystem.immersiveintelligence.function.entity_get_type.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_type.param.entity.desc=The entity to get the type of -datasystem.immersiveintelligence.function.entity_get_type.result=Type -datasystem.immersiveintelligence.function.entity_get_type.result.desc=The type of the input entity - -datasystem.immersiveintelligence.function.entity_get_name=Get Name -datasystem.immersiveintelligence.function.entity_get_name.desc=Returns the name of the input entity -datasystem.immersiveintelligence.function.entity_get_name.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_name.param.entity.desc=The entity to get the name of -datasystem.immersiveintelligence.function.entity_get_name.result=Name -datasystem.immersiveintelligence.function.entity_get_name.result.desc=The name of the input entity - -datasystem.immersiveintelligence.function.entity_get_dimension_id=Get Dimension -datasystem.immersiveintelligence.function.entity_get_dimension_id.desc=Returns the dimension ID of the input entity -datasystem.immersiveintelligence.function.entity_get_dimension_id.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_dimension_id.param.entity.desc=The entity to get the dimension ID of -datasystem.immersiveintelligence.function.entity_get_dimension_id.result=Dimension ID -datasystem.immersiveintelligence.function.entity_get_dimension_id.result.desc=The dimension ID of the input entity - -datasystem.immersiveintelligence.function.entity_get_pos=Get Position -datasystem.immersiveintelligence.function.entity_get_pos.desc=Returns the 3D position of the input entity -datasystem.immersiveintelligence.function.entity_get_pos.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_pos.param.entity.desc=The entity to get the position of -datasystem.immersiveintelligence.function.entity_get_pos.result=Position -datasystem.immersiveintelligence.function.entity_get_pos.result.desc=The position of the input entity - -datasystem.immersiveintelligence.function.entity_get_x=Get X -datasystem.immersiveintelligence.function.entity_get_x.desc=Returns the X coordinate of the input entity -datasystem.immersiveintelligence.function.entity_get_x.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_x.param.entity.desc=The entity to get the X coordinate of -datasystem.immersiveintelligence.function.entity_get_x.result=X -datasystem.immersiveintelligence.function.entity_get_x.result.desc=The X coordinate of the input entity - -datasystem.immersiveintelligence.function.entity_get_y=Get Y -datasystem.immersiveintelligence.function.entity_get_y.desc=Returns the Y coordinate of the input entity -datasystem.immersiveintelligence.function.entity_get_y.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_y.param.entity.desc=The entity to get the Y coordinate of -datasystem.immersiveintelligence.function.entity_get_y.result=Y -datasystem.immersiveintelligence.function.entity_get_y.result.desc=The Y coordinate of the input entity - -datasystem.immersiveintelligence.function.entity_get_z=Get Z -datasystem.immersiveintelligence.function.entity_get_z.desc=Returns the Z coordinate of the input entity -datasystem.immersiveintelligence.function.entity_get_z.param.entity=Entity -datasystem.immersiveintelligence.function.entity_get_z.param.entity.desc=The entity to get the Z coordinate of -datasystem.immersiveintelligence.function.entity_get_z.result=Z -datasystem.immersiveintelligence.function.entity_get_z.result.desc=The Z coordinate of the input entity - -# Document -datasystem.immersiveintelligence.function.document_read_page=Read Page -datasystem.immersiveintelligence.function.document_read_page.desc=Returns the content of the specified page in the input document -datasystem.immersiveintelligence.function.document_read_page.param.document=Document -datasystem.immersiveintelligence.function.document_read_page.param.document.desc=The document to read from -datasystem.immersiveintelligence.function.document_read_page.param.page=Page -datasystem.immersiveintelligence.function.document_read_page.param.page.desc=The page to read -datasystem.immersiveintelligence.function.document_read_page.result=Content -datasystem.immersiveintelligence.function.document_read_page.result.desc=The content of the specified page - -datasystem.immersiveintelligence.function.document_read_all_pages_array=Read All Pages (Array) -datasystem.immersiveintelligence.function.document_read_all_pages_array.desc=Returns an array of all pages in the input document -datasystem.immersiveintelligence.function.document_read_all_pages_array.param.document=Document -datasystem.immersiveintelligence.function.document_read_all_pages_array.param.document.desc=The document to read from -datasystem.immersiveintelligence.function.document_read_all_pages_array.result=Pages -datasystem.immersiveintelligence.function.document_read_all_pages_array.result.desc=Array of all pages in the input document - -datasystem.immersiveintelligence.function.document_read_all_pages_string=Read All Pages (String) -datasystem.immersiveintelligence.function.document_read_all_pages_string.desc=Returns a string of all pages in the input document with pages separated by a newline character -datasystem.immersiveintelligence.function.document_read_all_pages_string.param.document=Document -datasystem.immersiveintelligence.function.document_read_all_pages_string.param.document.desc=The document to read from -datasystem.immersiveintelligence.function.document_read_all_pages_string.result=Pages -datasystem.immersiveintelligence.function.document_read_all_pages_string.result.desc=String of all pages in the input document - -datasystem.immersiveintelligence.function.document_get_author=Get Author -datasystem.immersiveintelligence.function.document_get_author.desc=Returns the author of the input document -datasystem.immersiveintelligence.function.document_get_author.param.document=Document -datasystem.immersiveintelligence.function.document_get_author.param.document.desc=The document to get the author of -datasystem.immersiveintelligence.function.document_get_author.result=Author -datasystem.immersiveintelligence.function.document_get_author.result.desc=The author of the input document - -datasystem.immersiveintelligence.function.document_get_title=Get Title -datasystem.immersiveintelligence.function.document_get_title.desc=Returns the title of the input document -datasystem.immersiveintelligence.function.document_get_title.param.document=Document -datasystem.immersiveintelligence.function.document_get_title.param.document.desc=The document to get the title of -datasystem.immersiveintelligence.function.document_get_title.result=Title -datasystem.immersiveintelligence.function.document_get_title.result.desc=The title of the input document - -# Type Conversion -datasystem.immersiveintelligence.function.is_null=Is Null -datasystem.immersiveintelligence.function.is_null.desc=Returns true if the input is null -datasystem.immersiveintelligence.function.is_null.param.checked=Checked -datasystem.immersiveintelligence.function.is_null.param.checked.desc=The value to check -datasystem.immersiveintelligence.function.is_null.result=Result -datasystem.immersiveintelligence.function.is_null.result.desc=Result of the null check - -datasystem.immersiveintelligence.function.is_same_type=Is Same Type -datasystem.immersiveintelligence.function.is_same_type.desc=Returns true if the inputs are of the same type -datasystem.immersiveintelligence.function.is_same_type.param.first=First -datasystem.immersiveintelligence.function.is_same_type.param.first.desc=The first value to compare -datasystem.immersiveintelligence.function.is_same_type.param.second=Second -datasystem.immersiveintelligence.function.is_same_type.param.second.desc=The second value to compare -datasystem.immersiveintelligence.function.is_same_type.result=Result -datasystem.immersiveintelligence.function.is_same_type.result.desc=Result of the type check - -datasystem.immersiveintelligence.function.to_integer=To Integer -datasystem.immersiveintelligence.function.to_integer.desc=Casts the input to an integer -datasystem.immersiveintelligence.function.to_integer.param.casted=Casted -datasystem.immersiveintelligence.function.to_integer.param.casted.desc=The value to cast -datasystem.immersiveintelligence.function.to_integer.result=Integer -datasystem.immersiveintelligence.function.to_integer.result.desc=The input casted to an integer - -datasystem.immersiveintelligence.function.to_float=To Float -datasystem.immersiveintelligence.function.to_float.desc=Casts the input to a float -datasystem.immersiveintelligence.function.to_float.param.casted=Casted -datasystem.immersiveintelligence.function.to_float.param.casted.desc=The value to cast -datasystem.immersiveintelligence.function.to_float.result=Float -datasystem.immersiveintelligence.function.to_float.result.desc=The input casted to a float - -datasystem.immersiveintelligence.function.to_string=To String -datasystem.immersiveintelligence.function.to_string.desc=Casts the input to a string -datasystem.immersiveintelligence.function.to_string.param.casted=Casted -datasystem.immersiveintelligence.function.to_string.param.casted.desc=The value to cast -datasystem.immersiveintelligence.function.to_string.result=String -datasystem.immersiveintelligence.function.to_string.result.desc=The input casted to a string - -datasystem.immersiveintelligence.function.to_boolean=To Boolean -datasystem.immersiveintelligence.function.to_boolean.desc=Casts the input to a boolean -datasystem.immersiveintelligence.function.to_boolean.param.casted=Casted -datasystem.immersiveintelligence.function.to_boolean.param.casted.desc=The value to cast -datasystem.immersiveintelligence.function.to_boolean.result=Boolean -datasystem.immersiveintelligence.function.to_boolean.result.desc=The input casted to a boolean - -datasystem.immersiveintelligence.function.to_null=To Null -datasystem.immersiveintelligence.function.to_null.desc=Returns a null value -datasystem.immersiveintelligence.function.to_null.result=Null -datasystem.immersiveintelligence.function.to_null.result.desc=Type replaced with null - -# Cryptographer -datasystem.immersiveintelligence.function.encrypt_text=Encrypt Text -datasystem.immersiveintelligence.function.encrypt_text.desc=Encrypts the input text -datasystem.immersiveintelligence.function.encrypt_text.param.text=Text -datasystem.immersiveintelligence.function.encrypt_text.param.text.desc=The text to encrypt -datasystem.immersiveintelligence.function.encrypt_text.param.password=Password -datasystem.immersiveintelligence.function.encrypt_text.param.password.desc=The password to use for encryption -datasystem.immersiveintelligence.function.encrypt_text.result=Encrypted Text -datasystem.immersiveintelligence.function.encrypt_text.result.desc=The input text encrypted with the password - -datasystem.immersiveintelligence.function.encrypt_number=Encrypt Number -datasystem.immersiveintelligence.function.encrypt_number.desc=Encrypts the input number -datasystem.immersiveintelligence.function.encrypt_number.param.number=Number -datasystem.immersiveintelligence.function.encrypt_number.param.number.desc=The number to encrypt -datasystem.immersiveintelligence.function.encrypt_number.param.password=Password -datasystem.immersiveintelligence.function.encrypt_number.param.password.desc=The password to use for encryption -datasystem.immersiveintelligence.function.encrypt_number.result=Encrypted Number -datasystem.immersiveintelligence.function.encrypt_number.result.desc=The input number encrypted with the password - -datasystem.immersiveintelligence.function.encrypt_array=Encrypt Array -datasystem.immersiveintelligence.function.encrypt_array.desc=Encrypts the input array -datasystem.immersiveintelligence.function.encrypt_array.param.array=Array -datasystem.immersiveintelligence.function.encrypt_array.param.array.desc=The array to encrypt -datasystem.immersiveintelligence.function.encrypt_array.param.password=Password -datasystem.immersiveintelligence.function.encrypt_array.param.password.desc=The password to use for encryption -datasystem.immersiveintelligence.function.encrypt_array.result=Encrypted Array -datasystem.immersiveintelligence.function.encrypt_array.result.desc=The input array encrypted with the password - -datasystem.immersiveintelligence.function.decrypt_text=Decrypt Text -datasystem.immersiveintelligence.function.decrypt_text.desc=Decrypts the input text -datasystem.immersiveintelligence.function.decrypt_text.param.encrypted=Encrypted Text -datasystem.immersiveintelligence.function.decrypt_text.param.encrypted.desc=The text to decrypt -datasystem.immersiveintelligence.function.decrypt_text.param.password=Password -datasystem.immersiveintelligence.function.decrypt_text.param.password.desc=The password to use for decryption -datasystem.immersiveintelligence.function.decrypt_text.result=Decrypted Text -datasystem.immersiveintelligence.function.decrypt_text.result.desc=The input text decrypted with the password - -datasystem.immersiveintelligence.function.decrypt_number=Decrypt Number -datasystem.immersiveintelligence.function.decrypt_number.desc=Decrypts the input number -datasystem.immersiveintelligence.function.decrypt_number.param.encrypted=Encrypted Number -datasystem.immersiveintelligence.function.decrypt_number.param.encrypted.desc=The number to decrypt -datasystem.immersiveintelligence.function.decrypt_number.param.password=Password -datasystem.immersiveintelligence.function.decrypt_number.param.password.desc=The password to use for decryption -datasystem.immersiveintelligence.function.decrypt_number.result=Decrypted Number -datasystem.immersiveintelligence.function.decrypt_number.result.desc=The input number decrypted with the password - -datasystem.immersiveintelligence.function.decrypt_array=Decrypt Array -datasystem.immersiveintelligence.function.decrypt_array.desc=Decrypts the input array -datasystem.immersiveintelligence.function.decrypt_array.param.encrypted=Encrypted Array -datasystem.immersiveintelligence.function.decrypt_array.param.encrypted.desc=The array to decrypt -datasystem.immersiveintelligence.function.decrypt_array.param.password=Password -datasystem.immersiveintelligence.function.decrypt_array.param.password.desc=The password to use for decryption -datasystem.immersiveintelligence.function.decrypt_array.result=Decrypted Array -datasystem.immersiveintelligence.function.decrypt_array.result.desc=The input array decrypted with the password - -# Vector -datasystem.immersiveintelligence.function.vector_create=Create Vector -datasystem.immersiveintelligence.function.vector_create.desc=Creates a new vector -datasystem.immersiveintelligence.function.vector_create.param.x=X -datasystem.immersiveintelligence.function.vector_create.param.x.desc=The X coordinate of the vector -datasystem.immersiveintelligence.function.vector_create.param.y=Y -datasystem.immersiveintelligence.function.vector_create.param.y.desc=The Y coordinate of the vector -datasystem.immersiveintelligence.function.vector_create.param.z=Z -datasystem.immersiveintelligence.function.vector_create.param.z.desc=The Z coordinate of the vector -datasystem.immersiveintelligence.function.vector_create.result=Vector -datasystem.immersiveintelligence.function.vector_create.result.desc=A vector with the specified coordinates - -datasystem.immersiveintelligence.function.vector_create_angle=Create Vector from Angles -datasystem.immersiveintelligence.function.vector_create_angle.desc=Creates a new vector from the input angles -datasystem.immersiveintelligence.function.vector_create_angle.param.offset=Offset -datasystem.immersiveintelligence.function.vector_create_angle.param.offset.desc=The offset of the vector -datasystem.immersiveintelligence.function.vector_create_angle.param.yaw=Yaw -datasystem.immersiveintelligence.function.vector_create_angle.param.yaw.desc=The yaw angle of the vector, in degrees from -180 to 180 -datasystem.immersiveintelligence.function.vector_create_angle.param.pitch=Pitch -datasystem.immersiveintelligence.function.vector_create_angle.param.pitch.desc=The pitch angle of the vector, in degrees from -90 to 90 -datasystem.immersiveintelligence.function.vector_create_angle.result=Vector -datasystem.immersiveintelligence.function.vector_create_angle.result.desc=A vector of given length angled in the specified direction - -datasystem.immersiveintelligence.function.vector_get_x=Get X -datasystem.immersiveintelligence.function.vector_get_x.desc=Returns the X coordinate of the input vector -datasystem.immersiveintelligence.function.vector_get_x.param.vector=Vector -datasystem.immersiveintelligence.function.vector_get_x.param.vector.desc=The vector to get the X coordinate of -datasystem.immersiveintelligence.function.vector_get_x.result=X -datasystem.immersiveintelligence.function.vector_get_x.result.desc=The X coordinate of the input vector - -datasystem.immersiveintelligence.function.vector_get_y=Get Y -datasystem.immersiveintelligence.function.vector_get_y.desc=Returns the Y coordinate of the input vector -datasystem.immersiveintelligence.function.vector_get_y.param.vector=Vector -datasystem.immersiveintelligence.function.vector_get_y.param.vector.desc=The vector to get the Y coordinate of -datasystem.immersiveintelligence.function.vector_get_y.result=Y -datasystem.immersiveintelligence.function.vector_get_y.result.desc=The Y coordinate of the input vector - -datasystem.immersiveintelligence.function.vector_get_z=Get Z -datasystem.immersiveintelligence.function.vector_get_z.desc=Returns the Z coordinate of the input vector -datasystem.immersiveintelligence.function.vector_get_z.param.vector=Vector -datasystem.immersiveintelligence.function.vector_get_z.param.vector.desc=The vector to get the Z coordinate of -datasystem.immersiveintelligence.function.vector_get_z.result=Z -datasystem.immersiveintelligence.function.vector_get_z.result.desc=The Z coordinate of the input vector - -datasystem.immersiveintelligence.function.vector_get_pitch=Get Pitch -datasystem.immersiveintelligence.function.vector_get_pitch.desc=Returns the pitch angle of the input vector -datasystem.immersiveintelligence.function.vector_get_pitch.param.vector=Vector -datasystem.immersiveintelligence.function.vector_get_pitch.param.vector.desc=The vector to get the pitch angle of -datasystem.immersiveintelligence.function.vector_get_pitch.result=Pitch -datasystem.immersiveintelligence.function.vector_get_pitch.result.desc=The pitch angle of the input vector in degrees from -90 to 90 - -datasystem.immersiveintelligence.function.vector_get_yaw=Get Yaw -datasystem.immersiveintelligence.function.vector_get_yaw.desc=Returns the yaw angle of the input vector -datasystem.immersiveintelligence.function.vector_get_yaw.param.vector=Vector -datasystem.immersiveintelligence.function.vector_get_yaw.param.vector.desc=The vector to get the yaw angle of -datasystem.immersiveintelligence.function.vector_get_yaw.result=Yaw -datasystem.immersiveintelligence.function.vector_get_yaw.result.desc=The yaw angle of the input vector in degrees from -180 to 180 - -datasystem.immersiveintelligence.function.vector_set_x=Set X -datasystem.immersiveintelligence.function.vector_set_x.desc=Sets the X coordinate of the input vector -datasystem.immersiveintelligence.function.vector_set_x.param.vector=Vector -datasystem.immersiveintelligence.function.vector_set_x.param.vector.desc=The vector to modify -datasystem.immersiveintelligence.function.vector_set_x.param.x=X -datasystem.immersiveintelligence.function.vector_set_x.param.x.desc=The X coordinate to set -datasystem.immersiveintelligence.function.vector_set_x.result=Vector -datasystem.immersiveintelligence.function.vector_set_x.result.desc=The vector with the new X coordinate - -datasystem.immersiveintelligence.function.vector_set_y=Set Y -datasystem.immersiveintelligence.function.vector_set_y.desc=Sets the Y coordinate of the input vector -datasystem.immersiveintelligence.function.vector_set_y.param.vector=Vector -datasystem.immersiveintelligence.function.vector_set_y.param.vector.desc=The vector to modify -datasystem.immersiveintelligence.function.vector_set_y.param.y=Y -datasystem.immersiveintelligence.function.vector_set_y.param.y.desc=The Y coordinate to set -datasystem.immersiveintelligence.function.vector_set_y.result=Vector -datasystem.immersiveintelligence.function.vector_set_y.result.desc=The vector with the new Y coordinate - -datasystem.immersiveintelligence.function.vector_set_z=Set Z -datasystem.immersiveintelligence.function.vector_set_z.desc=Sets the Z coordinate of the input vector -datasystem.immersiveintelligence.function.vector_set_z.param.vector=Vector -datasystem.immersiveintelligence.function.vector_set_z.param.vector.desc=The vector to modify -datasystem.immersiveintelligence.function.vector_set_z.param.z=Z -datasystem.immersiveintelligence.function.vector_set_z.param.z.desc=The Z coordinate to set -datasystem.immersiveintelligence.function.vector_set_z.result=Vector -datasystem.immersiveintelligence.function.vector_set_z.result.desc=The vector with the new Z coordinate - -datasystem.immersiveintelligence.function.vector_add=Add -datasystem.immersiveintelligence.function.vector_add.desc=Adds the input vectors together, for example (1,2,3) + (4,5,6) = (5,7,9) -datasystem.immersiveintelligence.function.vector_add.param.vector=Vector -datasystem.immersiveintelligence.function.vector_add.param.vector.desc=The vector to add -datasystem.immersiveintelligence.function.vector_add.result=Result -datasystem.immersiveintelligence.function.vector_add.result.desc=The sum of the input vectors - -datasystem.immersiveintelligence.function.vector_sub=Subtract -datasystem.immersiveintelligence.function.vector_sub.desc=Subtracts the second vector from the first vector, for example (1,2,3) - (4,5,6) = (-3,-3,-3) -datasystem.immersiveintelligence.function.vector_sub.param.first=First Vector -datasystem.immersiveintelligence.function.vector_sub.param.first.desc=The vector to subtract from -datasystem.immersiveintelligence.function.vector_sub.param.second=Second Vector -datasystem.immersiveintelligence.function.vector_sub.param.second.desc=The vector to subtract -datasystem.immersiveintelligence.function.vector_sub.result=Result -datasystem.immersiveintelligence.function.vector_sub.result.desc=The difference of the input vectors - -datasystem.immersiveintelligence.function.vector_scale=Scale -datasystem.immersiveintelligence.function.vector_scale.desc=Scales the input vector by the specified scalar, for example (1,2,3) * 2 = (2,4,6) -datasystem.immersiveintelligence.function.vector_scale.param.vector=Vector -datasystem.immersiveintelligence.function.vector_scale.param.vector.desc=The vector to multiply -datasystem.immersiveintelligence.function.vector_scale.param.scalar=Scalar -datasystem.immersiveintelligence.function.vector_scale.param.scalar.desc=The scalar to multiply by -datasystem.immersiveintelligence.function.vector_scale.result=Result -datasystem.immersiveintelligence.function.vector_scale.result.desc=The input vector multiplied by the scalar - -datasystem.immersiveintelligence.function.vector_mul=Multiply -datasystem.immersiveintelligence.function.vector_mul.desc=Multiplies the input vectors together, for example (1,2,3) * (4,5,6) = (4,10,18) -datasystem.immersiveintelligence.function.vector_mul.param.vector=Vector -datasystem.immersiveintelligence.function.vector_mul.param.vector.desc=The vector to multiply -datasystem.immersiveintelligence.function.vector_mul.result=Result -datasystem.immersiveintelligence.function.vector_mul.result.desc=The product of the input vectors - -datasystem.immersiveintelligence.function.vector_dot=Dot Product -datasystem.immersiveintelligence.function.vector_dot.desc=Calculates the dot product of the input vectors. -datasystem.immersiveintelligence.function.vector_dot.param.first=First Vector -datasystem.immersiveintelligence.function.vector_dot.param.first.desc=The first vector -datasystem.immersiveintelligence.function.vector_dot.param.second=Second Vector -datasystem.immersiveintelligence.function.vector_dot.param.second.desc=The second vector -datasystem.immersiveintelligence.function.vector_dot.result=Dot Product -datasystem.immersiveintelligence.function.vector_dot.result.desc=A value measuring how much one vector goes in the direction of another. - -datasystem.immersiveintelligence.function.vector_cross=Cross Product -datasystem.immersiveintelligence.function.vector_cross.desc=Calculates the cross product of the input vectors. -datasystem.immersiveintelligence.function.vector_cross.param.first=First Vector -datasystem.immersiveintelligence.function.vector_cross.param.first.desc=The first vector -datasystem.immersiveintelligence.function.vector_cross.param.second=Second Vector -datasystem.immersiveintelligence.function.vector_cross.param.second.desc=The second vector -datasystem.immersiveintelligence.function.vector_cross.result=Cross Product -datasystem.immersiveintelligence.function.vector_cross.result.desc=A new vector that is perpendicular to both of the original vectors, meaning a point where they cross (meet or intersect) at a right (90 degrees) angle. - -datasystem.immersiveintelligence.function.vector_length=Length -datasystem.immersiveintelligence.function.vector_length.desc=Returns the length of the input vector -datasystem.immersiveintelligence.function.vector_length.param.vector=Vector -datasystem.immersiveintelligence.function.vector_length.param.vector.desc=The vector to get the length of -datasystem.immersiveintelligence.function.vector_length.result=Length -datasystem.immersiveintelligence.function.vector_length.result.desc=The distance from the origin (0,0,0) to the end of the vector - -datasystem.immersiveintelligence.function.vector_normalize=Normalize -datasystem.immersiveintelligence.function.vector_normalize.desc=Normalizes the input vector -datasystem.immersiveintelligence.function.vector_normalize.param.vector=Vector -datasystem.immersiveintelligence.function.vector_normalize.param.vector.desc=The vector to normalize -datasystem.immersiveintelligence.function.vector_normalize.result=Normalized Vector -datasystem.immersiveintelligence.function.vector_normalize.result.desc=A vector with the same direction as the input vector, but with a length of 1 - -datasystem.immersiveintelligence.function.vector_distance=Distance -datasystem.immersiveintelligence.function.vector_distance.desc=Returns the distance between the two input vectors -datasystem.immersiveintelligence.function.vector_distance.param.first=First Vector -datasystem.immersiveintelligence.function.vector_distance.param.first.desc=The first vector -datasystem.immersiveintelligence.function.vector_distance.param.second=Second Vector -datasystem.immersiveintelligence.function.vector_distance.param.second.desc=The second vector -datasystem.immersiveintelligence.function.vector_distance.result=Distance -datasystem.immersiveintelligence.function.vector_distance.result.desc=The distance between the input vectors - -# Map - -datasystem.immersiveintelligence.function.map_create=Create Map -datasystem.immersiveintelligence.function.map_create.desc=Creates a new map containing the specified key-value pair -datasystem.immersiveintelligence.function.map_create.param.key=Key -datasystem.immersiveintelligence.function.map_create.param.key.desc=The key of the initial pair -datasystem.immersiveintelligence.function.map_create.param.value=Value -datasystem.immersiveintelligence.function.map_create.param.value.desc=The value of the initial pair -datasystem.immersiveintelligence.function.map_create.result=Map -datasystem.immersiveintelligence.function.map_create.result.desc=The new map - -datasystem.immersiveintelligence.function.map_get=Get -datasystem.immersiveintelligence.function.map_get.desc=Returns the value associated with the specified key in the input map -datasystem.immersiveintelligence.function.map_get.param.map=Map -datasystem.immersiveintelligence.function.map_get.param.map.desc=The map to get the value from -datasystem.immersiveintelligence.function.map_get.param.key=Key -datasystem.immersiveintelligence.function.map_get.param.key.desc=The key to get the value for -datasystem.immersiveintelligence.function.map_get.result=Value -datasystem.immersiveintelligence.function.map_get.result.desc=The value associated with the specified key - -datasystem.immersiveintelligence.function.map_set=Set -datasystem.immersiveintelligence.function.map_set.desc=Sets the value associated with the specified key in the input map -datasystem.immersiveintelligence.function.map_set.param.map=Map -datasystem.immersiveintelligence.function.map_set.param.map.desc=The map to modify -datasystem.immersiveintelligence.function.map_set.param.key=Key -datasystem.immersiveintelligence.function.map_set.param.key.desc=The key to set the value for -datasystem.immersiveintelligence.function.map_set.param.value=Value -datasystem.immersiveintelligence.function.map_set.param.value.desc=The value to set -datasystem.immersiveintelligence.function.map_set.result=Map -datasystem.immersiveintelligence.function.map_set.result.desc=The map with the new key-value pair - -datasystem.immersiveintelligence.function.map_remove=Remove -datasystem.immersiveintelligence.function.map_remove.desc=Removes the value associated with the specified key in the input map -datasystem.immersiveintelligence.function.map_remove.param.map=Map -datasystem.immersiveintelligence.function.map_remove.param.map.desc=The map to modify -datasystem.immersiveintelligence.function.map_remove.param.key=Key -datasystem.immersiveintelligence.function.map_remove.param.key.desc=The key to remove -datasystem.immersiveintelligence.function.map_remove.result=Removed -datasystem.immersiveintelligence.function.map_remove.result.desc=The value removed from the map - -datasystem.immersiveintelligence.function.map_clear=Clear -datasystem.immersiveintelligence.function.map_clear.desc=Removes all key-value pairs from the input map -datasystem.immersiveintelligence.function.map_clear.param.map=Map -datasystem.immersiveintelligence.function.map_clear.param.map.desc=The map to clear -datasystem.immersiveintelligence.function.map_clear.result=Map -datasystem.immersiveintelligence.function.map_clear.result.desc=The map with all key-value pairs removed - -datasystem.immersiveintelligence.function.map_contains=Contains Key -datasystem.immersiveintelligence.function.map_contains.desc=Returns true if the input map contains the specified key -datasystem.immersiveintelligence.function.map_contains.param.map=Map -datasystem.immersiveintelligence.function.map_contains.param.map.desc=The map to check -datasystem.immersiveintelligence.function.map_contains.param.key=Key -datasystem.immersiveintelligence.function.map_contains.param.key.desc=The key to check for -datasystem.immersiveintelligence.function.map_contains.result=Contains -datasystem.immersiveintelligence.function.map_contains.result.desc=Result of the key check - -datasystem.immersiveintelligence.function.map_keys=Get Keys -datasystem.immersiveintelligence.function.map_keys.desc=Returns an array of all keys in the input map -datasystem.immersiveintelligence.function.map_keys.param.map=Map -datasystem.immersiveintelligence.function.map_keys.param.map.desc=The map to get the keys from -datasystem.immersiveintelligence.function.map_keys.result=Keys -datasystem.immersiveintelligence.function.map_keys.result.desc=Array of all keys in the input map - -datasystem.immersiveintelligence.function.map_values=Get Values -datasystem.immersiveintelligence.function.map_values.desc=Returns an array of all values in the input map -datasystem.immersiveintelligence.function.map_values.param.map=Map -datasystem.immersiveintelligence.function.map_values.param.map.desc=The map to get the values from -datasystem.immersiveintelligence.function.map_values.result=Values -datasystem.immersiveintelligence.function.map_values.result.desc=Array of all values in the input map - -datasystem.immersiveintelligence.function.map_size=Get Size -datasystem.immersiveintelligence.function.map_size.desc=Returns the number of pairs in the input map -datasystem.immersiveintelligence.function.map_size.param.map=Map -datasystem.immersiveintelligence.function.map_size.param.map.desc=The map to get the size of -datasystem.immersiveintelligence.function.map_size.result=Size -datasystem.immersiveintelligence.function.map_size.result.desc=The number of pairs in the input map - - -datasystem.immersiveintelligence.datatype.null=空 -datasystem.immersiveintelligence.datatype.boolean=布尔 -datasystem.immersiveintelligence.datatype.integer=整数 -datasystem.immersiveintelligence.datatype.float=浮点数 -datasystem.immersiveintelligence.datatype.vector=矢量 -datasystem.immersiveintelligence.datatype.string=字符串 -datasystem.immersiveintelligence.datatype.expression=表达式 -datasystem.immersiveintelligence.datatype.accessor=访问器 -datasystem.immersiveintelligence.datatype.logitag=物流标记 -datasystem.immersiveintelligence.datatype.itemstack=物品堆栈 -datasystem.immersiveintelligence.datatype.fluidstack=流体堆栈 -datasystem.immersiveintelligence.datatype.array=数组 -datasystem.immersiveintelligence.datatype.map=地图 -datasystem.immersiveintelligence.datatype.entity=实体 -datasystem.immersiveintelligence.datatype.encrypted=加密 - -datasystem.immersiveintelligence.datatype.boolean.true=True -datasystem.immersiveintelligence.datatype.boolean.false=False - -#Blueprints - -desc.immersiveengineering.info.blueprint.basic_circuits=基础电路 -desc.immersiveengineering.info.blueprint.advanced_circuits=高级电路 -desc.immersiveengineering.info.blueprint.processors=处理器 -desc.immersiveengineering.info.blueprint.cryptography_circuits=密码学电路 - -desc.immersiveengineering.info.blueprint.basic_functional_circuits=基础子例程电路 -desc.immersiveengineering.info.blueprint.advanced_functional_circuits=高级子例程电路 -desc.immersiveengineering.info.blueprint.processor_functional_circuits=可编程处理器 -desc.immersiveengineering.info.blueprint.cryptographic_functional_circuits=密码处理器 - -desc.immersiveengineering.info.blueprint.metal_springs=弹簧 -desc.immersiveengineering.info.blueprint.ammo_molds=弹药模具 -desc.immersiveengineering.info.blueprint.vulcanizer_molds=硫化模具 -desc.immersiveengineering.info.blueprint.bullet_magazines=子弹弹匣 - -#Keybindings -key.immersiveintelligence.manualReload=手动装填 -key.immersiveintelligence.armorHelmet=切换工程师轻甲头部装备 -key.immersiveintelligence.armorExosuit=切换工程师轻甲外骨骼 - -key.immersiveintelligence.mgScope=放大/机枪瞄准镜 - -key.categories.iivehicle=Vehicles (Immersive Intelligence) -key.immersiveintelligence.vehicle.engine.toggle=切换引擎 -key.immersiveintelligence.vehicle.engine.start=发动引擎 -key.immersiveintelligence.vehicle.engine.stop=关闭引擎 -key.immersiveintelligence.vehicle.clutch=踩离合器 - -key.immersiveintelligence.vehicle.gear.up=升高挡位 -key.immersiveintelligence.vehicle.gear.down=降低档位 -key.immersiveintelligence.vehicle.gear2.toggle=切换副齿轮箱 -key.immersiveintelligence.vehicle.gear2.overdrive=副变速箱 - 超速档 -key.immersiveintelligence.vehicle.gear2.reduction=副齿轮箱 - 减速 - -key.immersiveintelligence.vehicle.brake=手刹 - -key.immersiveintelligence.vehicle.hatch.open=打开舱口 -key.immersiveintelligence.vehicle.hatch.close=关闭舱口 -key.immersiveintelligence.vehicle.door.open=开门 -key.immersiveintelligence.vehicle.door.close=关门 - -key.immersiveintelligence.vehicle.seat.inventory=切换到物品栏 -key.immersiveintelligence.vehicle.seat.vehicle=切换到车辆控制 - -key.immersiveintelligence.vehicle.interact.inventory=打开载具储存 - -key.immersiveintelligence.vehicle.tow.toggle=牵引/取消牵引 -key.immersiveintelligence.vehicle.tow.start=牵引 -key.immersiveintelligence.vehicle.tow.stop=取消牵引 - -key.immersiveintelligence.vehicle.gun.up=炮身向上 -key.immersiveintelligence.vehicle.gun.down=炮身向下 -key.immersiveintelligence.vehicle.gun.left=炮身向左 -key.immersiveintelligence.vehicle.gun.right=炮身向右 - -#Advancements -advancement.immersiveintelligence.root=沉浸智能 -advancement.immersiveintelligence.root.desc=RTFM? - -advancement.immersiveintelligence.connect_belt=强力输送 -advancement.immersiveintelligence.connect_belt.desc=用传动带线圈连接两个机械轮 - -advancement.immersiveintelligence.craft_gun_barrel_iron=你滴,枪匠滴干活? -advancement.immersiveintelligence.craft_gun_barrel_iron.desc=制作铁质枪管,让你可以制造基本的枪支. - -advancement.immersiveintelligence.craft_gun_barrel_steel=工业化火器 -advancement.immersiveintelligence.craft_gun_barrel_steel.desc=打造钢质枪管,让您迈出进入工业战争时代的第一步. - -advancement.immersiveintelligence.craft_gun_barrel_tungsten=精度的重要性 -advancement.immersiveintelligence.craft_gun_barrel_tungsten.desc=制作高精度枪管,将最先进的火器引入您的武器库. - -advancement.immersiveintelligence.craft_diy=DIY -advancement.immersiveintelligence.craft_diy.desc=制作手工步枪 - -advancement.immersiveintelligence.craft_rifle=群众的武器 -advancement.immersiveintelligence.craft_rifle.desc=制作量产型步枪 - -advancement.immersiveintelligence.for_the_emperor=天闹黑卡,板载! -advancement.immersiveintelligence.for_the_emperor.desc=为步枪安装一把刺刀 - -advancement.immersiveintelligence.craft_stg=人人都该有把暴风突击枪! -advancement.immersiveintelligence.craft_stg.desc=制作突击步枪 - -advancement.immersiveintelligence.weapon_of_war=这武器为了战争而生! -advancement.immersiveintelligence.weapon_of_war.desc=为突击步枪安装瞄准镜与火控电机 - -advancement.immersiveintelligence.the_accelerator="爆"改 -advancement.immersiveintelligence.the_accelerator.desc=为突击步枪安装榴弹发射器与磁轨炮身管 - -advancement.immersiveintelligence.special_operations_initiative=特种作战倡议 -advancement.immersiveintelligence.special_operations_initiative.desc=为突击步枪安装测距仪 - -advancement.immersiveintelligence.craft_smg=英国兵的小玩意 -advancement.immersiveintelligence.craft_smg.desc=制作冲锋枪 - -advancement.immersiveintelligence.infinite_power=无限续航 -advancement.immersiveintelligence.infinite_power.desc=为冲锋枪安装底部装弹器与加强枪管 - -advancement.immersiveintelligence.the_silent_unseen=未知静谧 -advancement.immersiveintelligence.the_silent_unseen.desc=为冲锋枪安装折叠式枪托与消音器 - -advancement.immersiveintelligence.craft_cpds=开火十二秒的代价 -advancement.immersiveintelligence.craft_cpds.desc=制作CPDS弹鼓 - -#Reference to Tiger 1 tank memes -advancement.immersiveintelligence.craft_steel_belt=Hans, ze Transmission Works! -advancement.immersiveintelligence.craft_steel_belt.desc=制作钢质传动带 - -advancement.immersiveintelligence.secret_connect_wire=狭路相逢勇者胜 -advancement.immersiveintelligence.secret_connect_wire.desc=够了吗?现在让我歇一会! - -advancement.immersiveintelligence.advanced_circuit_board=更好!更强!更快! -advancement.immersiveintelligence.advanced_circuit_board.desc=制作高级电路板 - -advancement.immersiveintelligence.artillery_howitzer="大贝莎"的妹妹 -advancement.immersiveintelligence.artillery_howitzer.desc=创建一门榴弹炮 - -advancement.immersiveintelligence.chemical_bath=泡泡机 -advancement.immersiveintelligence.chemical_bath.desc=创建化学浸洗机 - -advancement.immersiveintelligence.circuit_board=哔哔卟卟 -advancement.immersiveintelligence.circuit_board.desc=制作电路板 - -#Ay you, yes you @CrimsonTwilight, we know you want the inserters in IG :D -advancement.immersiveintelligence.craft_advanced_inserter=Crimson牌机械臂 -advancement.immersiveintelligence.craft_advanced_inserter.desc=制作升级版的物品抓取机械臂 - -advancement.immersiveintelligence.craft_binoculars=战术观察|・ω・`) -advancement.immersiveintelligence.craft_binoculars.desc=制作双筒望远镜 - -advancement.immersiveintelligence.craft_chemdispenser=暗夜中的火焰 -advancement.immersiveintelligence.craft_chemdispenser.desc=制作化学喷射器 - -advancement.immersiveintelligence.craft_inserter=没有黄色版本 -advancement.immersiveintelligence.craft_inserter.desc=制作一个物品抓取机械臂 - -#Long story short, in Company of Heroes 2 on Wikinger Mod, there is a special unit type - the infiltrators -#Those guys often have superior firepower and accuracy, German units are using the Sturmgewehrs with infrared sights -#That's why all the infiltration stuff in II is related to Infrared Vision -advancement.immersiveintelligence.craft_ir_binoculars=渗透者 -advancement.immersiveintelligence.craft_ir_binoculars.desc=制作红外双筒望远镜 - -#Reference to Fullmetal Alchemist: Brotherhood (Lust death scene) -advancement.immersiveintelligence.craft_lighter=zippo的回归 -advancement.immersiveintelligence.craft_lighter.desc=制作打火机 - -advancement.immersiveintelligence.craft_mg=汉斯的财产 -advancement.immersiveintelligence.craft_mg.desc=制造臭名昭著的机关枪 - -advancement.immersiveintelligence.craft_mortar=死从天降 -advancement.immersiveintelligence.craft_mortar.desc=制作迫击炮 - -#Reference to Industrialcraft2's alarm siren addon -advancement.immersiveintelligence.craft_siren=反应堆还好吗? -advancement.immersiveintelligence.craft_siren.desc=制作警报器 - -#Reference to a sidenote on one of Choroman's concept drawings -advancement.immersiveintelligence.craft_speaker=令工程师愉悦的声音 -advancement.immersiveintelligence.craft_speaker.desc=制作可编程扬声器 - -advancement.immersiveintelligence.electrolyzer=流体休克疗法 -advancement.immersiveintelligence.electrolyzer.desc=创建电解器 - -advancement.immersiveintelligence.hans_9000=汉斯9K -advancement.immersiveintelligence.hans_9000.desc=为了静态防御使机枪就绪 - -#A reference to the well known engineer and weapon maker Jörg Sprave -advancement.immersiveintelligence.let_me_show_you_its_features=瞧瞧它的厉害! -advancement.immersiveintelligence.let_me_show_you_its_features.desc=为机枪安装红外瞄准镜,重型枪管,副弹匣 - -#A JoJo reference -advancement.immersiveintelligence.make_platinum=胜过the World? -advancement.immersiveintelligence.make_platinum.desc=获取白金锭 - -#A Dr. Stone reference -advancement.immersiveintelligence.make_tungsten=用热量打败怪物 -advancement.immersiveintelligence.make_tungsten.desc=获取钨锭 - -advancement.immersiveintelligence.make_tungsten_drillhead=比矮人更快! -advancement.immersiveintelligence.make_tungsten_drillhead.desc=制作钨质钻头 - -#Reference to a well known mod -advancement.immersiveintelligence.make_tungsten_drillhead_diamond=匠魂的既视感... -advancement.immersiveintelligence.make_tungsten_drillhead_diamond.desc=制作镶钻钨质钻头 - -advancement.immersiveintelligence.prec_assembler=品质:大师 -advancement.immersiveintelligence.prec_assembler.desc=制作精密组装器 - -advancement.immersiveintelligence.printing_press=油墨不足 -advancement.immersiveintelligence.printing_press.desc=创建印刷机 - -#Ah, the good old Crysis 3 -advancement.immersiveintelligence.processor_circuit_board=它能玩孤岛惊魂? -advancement.immersiveintelligence.processor_circuit_board.desc=制作处理器电路板 - -advancement.immersiveintelligence.radio_station=远程控制! -advancement.immersiveintelligence.radio_station.desc=创建无线电基站 - -#Tripod Periscope -advancement.immersiveintelligence.craft_tripod_periscope=棍子上的风景 -advancement.immersiveintelligence.craft_tripod_periscope.desc=制作三脚架潜望镜 - -#Reference to a chat with Carver -advancement.immersiveintelligence.craft_mine_detector=不是吸尘器 -advancement.immersiveintelligence.craft_mine_detector.desc=制作地雷探测器 - -#Ground Zero is a centre of a nuclear explosion -advancement.immersiveintelligence.secret_nuclear_tripmine=爆心播种 -advancement.immersiveintelligence.secret_nuclear_tripmine.desc=部署核子绊雷 - -#Reference to C&C -advancement.immersiveintelligence.rad_cannon=展开末日与根除 -advancement.immersiveintelligence.rad_cannon.desc=成为对环境稳定的公然冒犯 - -#Reference to an old Polish meme, in which a certain cocoa brand is actually a story-rich book! -#The cocoa was once put into a shop's shelf, mistaken as a book, that's where it started. -advancement.immersiveintelligence.secret_cocoa=Stories of Deco Morreno -advancement.immersiveintelligence.secret_cocoa.desc=The supreme quality has been achieved - -#Reference to Carver and C&C, though I left the mind control feature optional, was kinda op -advancement.immersiveintelligence.secret_carvers_revenge=Carver的复仇 -advancement.immersiveintelligence.secret_carvers_revenge.desc=你的意思是,我们不能精神控制核发射井? - -#URA! Reference to a youtube video by HRejterzy, check it out ^^ -advancement.immersiveintelligence.create_motorbike=Za vas, za nas, za neft' i gaz! -advancement.immersiveintelligence.create_motorbike.desc=组装摩托车 - -#Reference to a certain discord chat -advancement.immersiveintelligence.secret_sorry_for_ceiling=抱歉干了你的棚顶! -advancement.immersiveintelligence.secret_sorry_for_ceiling.desc=使用榴弹炮宣传弹打穿天花板 - -#Reference to the russian II tutorial video by Ocelot -advancement.immersiveintelligence.emplacement=小小的也很可爱 -advancement.immersiveintelligence.emplacement.desc=创建武器站-一种可以装备大型杀伤性武器的防御性建筑 - -advancement.immersiveintelligence.flagpole=全体起立! -advancement.immersiveintelligence.flagpole.desc=建造旗杆,装饰性地标与区块加载器 - - -#Manual Categories - -ie.manual.category.ii_data.name=数据与电子技术 -ie.manual.category.ii_warfare.name=战争 -ie.manual.category.ii_logistics.name=物流 -ie.manual.category.ii_intel.name=情报 -ie.manual.category.ii_motorworks.name=载具 -ie.manual.category.ii_other.name=其他 - - -ie.manual.folder.functions=函数说明 -ie.manual.folder.computers=电脑 - -ie.manual.folder.weaponry=武器 -ie.manual.folder.armortools=装甲与工具 -ie.manual.folder.staticdefense=防御建筑 - -ie.manual.entry.traits.level_beginner=复杂性:前工业时代 -ie.manual.entry.traits.level_early_industrial=复杂性:早期工业时代 -ie.manual.entry.traits.level_industrial=复杂性:工业时代 -ie.manual.entry.traits.level_advanced_industrial=复杂性:末工业时代 -ie.manual.entry.traits.level_circuits=复杂性:电子时代 -ie.manual.entry.traits.level_computer=复杂性:计算机时代 -ie.manual.entry.traits.hammer=基础多方块结构-从工程师锤开始 -ie.manual.entry.traits.hammer_electric=先进多方块结构-从电动锤开始 -ie.manual.entry.traits.upgradable=可升级的 -ie.manual.entry.traits.repairable=可修补的 -ie.manual.entry.traits.decorations=可修饰的 -ie.manual.entry.traits.paintable=可涂漆的 - -ie.manual.entry.wip_warning0=警告! 开发中内容. -ie.manual.entry.wip_warning1=工程部正在努力将它推到前面! -ie.manual.entry.wip_warning.upgrade=该功能可能缺乏视觉效果或没有任何功能,不要报告此问题. - -ie.manual.entry.data_operation.inputs=输入 -ie.manual.entry.data_operation.output=输出 -ie.manual.entry.data_operation.pol=POL代码实例 -ie.manual.entry.data_operation.tooltip_data=切换到数据视图 -ie.manual.entry.data_operation.tooltip_pol=切换到POL实施 -ie.manual.entry.data_operation.comment.import=导入数据操作 -ie.manual.entry.data_operation.comment.import_more=或者 -ie.manual.entry.data_operation.comment.example=使用示例 - -ie.manual.entry.data_variable.allowed_value=允许的值: -ie.manual.entry.data_variable.allowed_values=允许的值: -ie.manual.entry.data_variable.required_variables=必需的变量: - -#manual multiblock forming block position text -ie.manual.entry.multiblock_forming= %1$s 可以通过使用 %2$s 在 %3$s %4$s -ie.manual.entry.multiblock_forming_short=它 可以通过使用 %2$s 在 %3$s %4$s -#y axis -ie.manual.entry.multiblock_forming.up=上方 -ie.manual.entry.multiblock_forming.middle=中间 -ie.manual.entry.multiblock_forming.down=下方 -#z axis -ie.manual.entry.multiblock_forming.left=左侧 -ie.manual.entry.multiblock_forming.center=中间 -ie.manual.entry.multiblock_forming.right=右侧 -#x axis -ie.manual.entry.multiblock_forming.front=前方 -ie.manual.entry.multiblock_forming.back=后方 - -ie.manual.entry.immersiveposts.posts_brass=黄铜





    装饰品 -ie.manual.entry.immersiveposts.posts_tungsten=钨





    硬汉 -ie.manual.entry.immersiveposts.posts_zinc=锌





    脆弱 -ie.manual.entry.immersiveposts.posts_platinum=铂





    [The World] -ie.manual.entry.immersiveposts.posts_duraluminium=硬化铝合金





    空心的 - -#Data and Electronics - -ie.manual.entry.def_value=一般值 -ie.manual.entry.min_value=最小值 -ie.manual.entry.max_value=最大值 -ie.manual.entry.min_index=最低指数 -ie.manual.entry.max_index=最高指数 -ie.manual.entry.empty=空 -ie.manual.entry.accepted_values=可接受的值 -ie.manual.entry.max_length=最大长度 -ie.manual.entry.tf=True/False -ie.manual.entry.false=False -ie.manual.entry.true=True - -ie.manual.entry.callback_returns=Returns: - -#Bullet cores & components -ie.manual.entry.bullet_cores.name=弹芯材料 -ie.manual.entry.bullet_cores.subtext=我们未能击穿敌方装甲! - -ie.manual.entry.bullet_core.core_brass=黄铜弹芯 -ie.manual.entry.bullet_core.core_brass.lore=蒸汽朋克 -ie.manual.entry.bullet_core.core_brass.desc=黄铜是一种穿透能力较差的重金属,但它大大增加了装药的效果. - -ie.manual.entry.bullet_core.core_copper=铜制弹芯 -ie.manual.entry.bullet_core.core_copper.lore=每一分钱都很重要 -ie.manual.entry.bullet_core.core_copper.desc=铜是一种便宜的子弹材料,它的穿透能力不如黄铜,但有其成分效果. - -ie.manual.entry.bullet_core.core_lead=铅质弹芯 -ie.manual.entry.bullet_core.core_lead.lore=又丑又好用 -ie.manual.entry.bullet_core.core_lead.desc=铅是制造高伤害,中等穿透力的廉价子弹的好材料. - -ie.manual.entry.bullet_core.core_iron=铁质弹芯 -ie.manual.entry.bullet_core.core_iron.lore=中产阶级 -ie.manual.entry.bullet_core.core_iron.desc=铁是早期子弹的好材料,它具有高于平均水平的穿透力和射程,但组件效果和伤害较弱。 - -ie.manual.entry.bullet_core.core_steel=钢质弹芯 -ie.manual.entry.bullet_core.core_steel.lore=全金属被甲! -ie.manual.entry.bullet_core.core_steel.desc=使用钢是提高射弹穿透能力的一种不昂贵的方法,唯一的缺点是装药效果略有降低. - -ie.manual.entry.bullet_core.core_tungsten=钨质弹芯 -ie.manual.entry.bullet_core.core_tungsten.lore=复合穿甲弹一发装填! -ie.manual.entry.bullet_core.core_tungsten.desc=钨比钢更擅长穿透物体,但它会降低装药的效果. - -ie.manual.entry.bullet_core.core_uranium=铀质弹芯 -ie.manual.entry.bullet_core.core_uranium.lore=弹药"贫乏"是什么意思? -ie.manual.entry.bullet_core.core_uranium.desc=低重量和高硬度使铀成为一种很好的穿甲材料而不会失去携带爆炸材料的能力.不错,但价格昂贵. - -ie.manual.entry.bullet_core.core_rubber=橡胶弹芯 -ie.manual.entry.bullet_core.core_rubber.lore=震人心扉! -ie.manual.entry.bullet_core.core_rubber.desc=橡胶弹芯比金属弹芯致命性低,但具有更强的击退力,并且可以使目标晕眩. - -ie.manual.entry.bullet_components.name=战斗部装药 -ie.manual.entry.bullet_components.subtext=装填尾翼稳定脱壳高速高爆硬芯穿甲弹! -ie.manual.entry.bullet_components.dmg_mod=伤害: %sx -ie.manual.entry.bullet_components.pen_mod=穿透力: %s vBH -ie.manual.entry.bullet_components.blast_mod=爆炸半径: %sx -ie.manual.entry.bullet_components.density=密度: %s -ie.manual.entry.bullet_components.type=类型: %s - -#A quote from World in Conflict -ie.manual.entry.bullet_component.firework=烟花 -ie.manual.entry.bullet_component.firework.lore=现在,解放天空 -ie.manual.entry.bullet_component.firework.desc=烟花虽然以其美丽的外表而闻名,亦可以用来压制和致盲敌人. - -#Quote from Company of Heroes/Market Garden campaign -ie.manual.entry.bullet_component.tracer_powder=示踪剂 -ie.manual.entry.bullet_component.tracer_powder.lore=天空布满了示踪剂! -ie.manual.entry.bullet_component.tracer_powder.desc=示踪剂可以显示子弹的飞行轨迹,亦可用作装饰或校正射击角度. - -#Reference to Codename Panzers: Cold War -ie.manual.entry.bullet_component.flare_powder=闪光粉 -ie.manual.entry.bullet_component.flare_powder.lore=光耀天地! -ie.manual.entry.bullet_component.flare_powder.desc=装入闪光粉的照明弹可用于照明或标记位置,这可用于指挥远程火力投送. - -#Reference to the book "Thus Spoke Zarathustra" -ie.manual.entry.bullet_component.propaganda=宣传弹 -ie.manual.entry.bullet_component.propaganda.lore=顺从的人将会摒弃自己的内心 -ie.manual.entry.bullet_component.propaganda.desc=宣传弹可以用来向你的敌人灌输恐惧,如果他们会阅读的话. - -#Fallout reference -ie.manual.entry.bullet_component.nuke=核弹 -ie.manual.entry.bullet_component.nuke.lore=敢教日月换新天. -ie.manual.entry.bullet_component.nuke.desc=核爆炸物是人类已知的最强大,最具破坏性的爆炸物.只有厚厚的钢筋混凝土层才能抵御其威力.它引起的热量会融化周围的敌人,即使他们能在核热火球中生存也会很快死于辐射. - -#Reference to a song -ie.manual.entry.bullet_component.tnt=三硝基甲苯 -ie.manual.entry.bullet_component.tnt.lore=多加点! -ie.manual.entry.bullet_component.tnt.desc=三硝基甲苯(TNT)是一种威力一般的爆炸材料.因为它易于生产,所以是机枪子弹和手榴弹装药的好选择. - -#CoH2 Reference -ie.manual.entry.bullet_component.rdx=黑索金 -ie.manual.entry.bullet_component.rdx.lore=有得必有失 -ie.manual.entry.bullet_component.rdx.desc=RDX,又名 §shexogen§r 或环三亚甲基三硝胺,是一种强大的高能爆炸物.它的威力是TNT的两倍,甚至可以摧毁最坚固的阵地. - -#There are many variants of HMX's full name, one of them is Her Majesty's Explosive -ie.manual.entry.bullet_component.hmx=奥克托金 -ie.manual.entry.bullet_component.hmx.lore=炸药之母 -ie.manual.entry.bullet_component.hmx.desc=奥克托金,又名HMX或环四亚甲基四硝胺,是最强大的常规炸药之一,它的威力是TNT的三倍,能够突破任何防御工事. - -#Reference to a song -ie.manual.entry.bullet_component.white_phosphorus=白磷 -ie.manual.entry.bullet_component.white_phosphorus.lore=钢铁在燃烧! -ie.manual.entry.bullet_component.white_phosphorus.desc=白磷是大多数燃烧弹的主要成分.它的高温使周围的敌人更加易燃,而燃烧的高温碎片会点燃周围的一切. - -#A reference to struggle between Tesla and Edison -#similar to how the Finns made a cocktail for Molotov (soviet foreign affairs minister) during the Winter War, a tesla grenade would be a nice one for Edison -ie.manual.entry.bullet_component.tesla=电荷发射器 -ie.manual.entry.bullet_component.tesla.lore=爱迪生的馈赠 -ie.manual.entry.bullet_component.tesla.desc=电荷发射器会产生一个干扰电流的场.它们可用于破坏工业设备,阵地和破坏能源生产. - -## Shrapnels -ie.manual.entry.bullet_component.shrapnel_aluminum=铝质弹片 -ie.manual.entry.bullet_component.shrapnel_aluminum.lore=Amelinium, one does not simply paint it -ie.manual.entry.bullet_component.shrapnel_aluminum.desc=铝不是制造弹片的最佳材料,但它足够便宜可以在战斗中大量使用. - -ie.manual.entry.bullet_component.shrapnel_zinc=锌质弹片 -ie.manual.entry.bullet_component.shrapnel_zinc.lore= -ie.manual.entry.bullet_component.shrapnel_zinc.desc=锌不是一种好的弹片材料,但当资源短缺时任何东西都可以塞进炮弹里. - -#Reference to Terraria's coin gun -ie.manual.entry.bullet_component.shrapnel_copper=铜质弹片 -ie.manual.entry.bullet_component.shrapnel_copper.lore=往弹药里塞点硬币 -ie.manual.entry.bullet_component.shrapnel_copper.desc=虽然向敌人扔铜不会贿赂他们,但几枪之后可能会让他们死亡. - -#Reference to JoJo, yes even in the II there has to be one -ie.manual.entry.bullet_component.shrapnel_platinum=铂质弹片 -ie.manual.entry.bullet_component.shrapnel_platinum.lore=弹片使者? -ie.manual.entry.bullet_component.shrapnel_platinum.desc=会使你穷困潦倒,不是做弹片的好材料. - -#Murica' fuck yeah -ie.manual.entry.bullet_component.shrapnel_gold=金质弹片 -ie.manual.entry.bullet_component.shrapnel_gold.lore=谁还会管纳税人的意见? -ie.manual.entry.bullet_component.shrapnel_gold.desc=没错,浪费金钱的好方法——战争.虽然子弹有点贵,但它们似乎对对手没有太大影响. - -ie.manual.entry.bullet_component.shrapnel_nickel=镍质弹片 -ie.manual.entry.bullet_component.shrapnel_nickel.lore= -ie.manual.entry.bullet_component.shrapnel_nickel.desc=镍是弹片的糟糕选择,它不会造成太大的伤害,但在困难时期它可以挽救局面. - -#Reference to the Netflix's Witcher series -ie.manual.entry.bullet_component.shrapnel_silver=银质弹片 -ie.manual.entry.bullet_component.shrapnel_silver.lore=给你的枪手一个硬币 -ie.manual.entry.bullet_component.shrapnel_silver.desc=银弹片是对抗亡灵生物的好选择,弹片对他们造成更大的伤害并使他们减速. - -ie.manual.entry.bullet_component.shrapnel_electrum=琥珀金弹片 -ie.manual.entry.bullet_component.shrapnel_electrum.lore=磁暴步兵准备就绪! -ie.manual.entry.bullet_component.shrapnel_electrum.desc=琥珀金擅长导电,但弹片本身不会造成太大伤害,被击中的敌人会受到能量武器(如特斯拉线圈)的更多伤害. - -#Reference to a post-ww2 poster for inter-country help in Western Europe -ie.manual.entry.bullet_component.shrapnel_constantan=康铜弹片 -ie.manual.entry.bullet_component.shrapnel_constantan.lore=
    Whatever the weather, we kill enemies together. -ie.manual.entry.bullet_component.shrapnel_constantan.desc=康铜以其导热性而闻名,被击中的敌人在一段时间内容易受到火焰伤害. - -#Reference to words by Otto von Bismarck -ie.manual.entry.bullet_component.shrapnel_iron=铁质弹片 -ie.manual.entry.bullet_component.shrapnel_iron.lore=铁血政治! -ie.manual.entry.bullet_component.shrapnel_iron.desc=铁是弹片的好选择,它很容易穿透穿着轻型盔甲的敌人. - -ie.manual.entry.bullet_component.shrapnel_lead=铅质弹片 -ie.manual.entry.bullet_component.shrapnel_lead.lore=铅如雨下 -ie.manual.entry.bullet_component.shrapnel_lead.desc=铅是一种很好的弹片材料,它很重,能对没有装甲的敌人造成很高的伤害. - -#Japanese "hagane" means steel, but the literal translation is "full metal", Hagane no Renkinjutsushi -ie.manual.entry.bullet_component.shrapnel_steel=钢质弹片 -ie.manual.entry.bullet_component.shrapnel_steel.lore=沐浴荣誉的钢铁 -ie.manual.entry.bullet_component.shrapnel_steel.desc=钢是一种优良的弹片材料,良好的伤害,散射和速度使其对所有对手都有效. - -ie.manual.entry.bullet_component.shrapnel_brass=黄铜弹片 -ie.manual.entry.bullet_component.shrapnel_brass.lore=装饰设计 -ie.manual.entry.bullet_component.shrapnel_brass.desc=黄铜是制造弹片的糟糕选择,尽管它的高重量使它比其他弱金属造成更大的伤害. - -#A reference to Bear989sr. - a gregtech player, I just love when he says the word "steel", also some nice GT tutorials(译者注:夹带私货致歉) -ie.manual.entry.bullet_component.shrapnel_tungsten=钨质弹片 -ie.manual.entry.bullet_component.shrapnel_tungsten.lore=PLA直呼内行 -ie.manual.entry.bullet_component.shrapnel_tungsten.desc=钨是一种很好的弹片材料,它的高伤害可以将敌人撕成碎片. - -#Reference to Kuruma saying IEn's thorium railgun rods are the strongest railgun ammo -ie.manual.entry.bullet_component.shrapnel_thorium=钍质弹片 -ie.manual.entry.bullet_component.shrapnel_thorium.lore=我们要做手榴弹,不是燃料棒! -ie.manual.entry.bullet_component.shrapnel_thorium.desc=钍是一种很好但昂贵的弹片材料,具有很高的伤害和穿透值. - -ie.manual.entry.bullet_component.shrapnel_HOPGraphite=HOP石墨弹片 -ie.manual.entry.bullet_component.shrapnel_HOPGraphite.lore= -ie.manual.entry.bullet_component.shrapnel_HOPGraphite.desc=石墨是一种非常好的弹片材料,其低重量和高穿透能力使其在战斗中非常有用. - -ie.manual.entry.bullet_component.shrapnel_uranium=铀质弹片 -ie.manual.entry.bullet_component.shrapnel_uranium.lore=放-射-性 -ie.manual.entry.bullet_component.shrapnel_uranium.desc=铀是制造弹片的最佳材料之一,散射的碎片穿透装甲层轻而易举,可以对任何目标造成高伤害. - -ie.manual.entry.bullet_component.shrapnel_wood=锯末 -ie.manual.entry.bullet_component.shrapnel_wood.lore=环保! -ie.manual.entry.bullet_component.shrapnel_wood.desc=可能不会造成太大伤害,但会留下清新的松木香味! - -#Death Messages -death.attack.iiBullet=%1$s 被 %2$s 射杀 -death.attack.iiBulletNoShooter=%1$被射杀 -death.attack.iiBulletHeadShot=%1$s 被 %2$s 脑洞大开 -death.attack.iiBulletHeadShotNoShooter=%1$s 被脑洞大开 -death.attack.iiShrapnel=%1$s 被 %2$s 的弹片撕碎 -death.attack.iiShrapnelNoShooter=%1$s 被弹片撕碎 -death.attack.iiSawmill=%1$s 被锯成了上等肥人片 -death.attack.iiPrintingPress=%1$s 被辊子挤爆浆了 -death.attack.iiRadiation=%1$s 从内部融化了 -death.attack.iiNuclearHeat=%1$s 看到了两个太阳 -death.attack.iiVehicle=%1$s 被 %2$s 碾过 -death.attack.iiVehiclenoRider=%1$s 被碾过 -death.attack.iiVehicleSuicide=%1$s 决定从移动的车上跳下 - -#Additional stuff for the Config Panel -ii.config.Graphics=画质 -ii.config.Ores=矿物 -ii.config.Machines=机器 -ii.config.MechanicalDevices=机械装置 -ii.config.Weapons=武器 -ii.config.Wires=线缆 -ii.config.Tools=工具 -ii.config.Vehicles=载具 -ii.config.EffectCrates=效果箱 - -#Weapon Configs -ii.config.Ammunition=子弹 -ii.config.Emplacement_Weapons=武器站武器 -ii.config.Grenade=手雷 -ii.config.Mines=地雷 -ii.config.Light_Engineer_Armor=工程师轻型装甲 - -#GUI Labels -ii.gui.editor.editor_style=Visual/POL Editor - -ii.gui.task_editor.jobs=工作 -ii.gui.task_editor.jobs.tooltip=工作是可以无限重复的任务. -ii.gui.task_editor.requests=请求 -ii.gui.task_editor.requests.tooltip=请求是分配任务,在传输一定量的资源后会从内存中丢弃. - -ii.gui.inserter.task_editor=任务编辑器 -ii.gui.inserter.type=类型: -ii.gui.inserter.input=输入: -ii.gui.inserter.input.facing.tooltip=机械臂应该朝哪个方向伸展. -ii.gui.inserter.input.distance.tooltip=机械臂应该伸展多少格. -ii.gui.inserter.output=输出: -ii.gui.inserter.output.facing.tooltip=机械臂应该向哪个方向伸展. -ii.gui.inserter.output.distance.tooltip=机械臂应该伸展多少格. -ii.gui.inserter.items_per_step=数量/转: -ii.gui.inserter.items_per_step.tooltip=每转动一次机械臂取入和插入的数量. - -ii.gui.inserter.tasks.item=物品 -ii.gui.inserter.tasks.place_block=放置方块 -ii.gui.inserter.tasks.from_minecart=从矿车 -ii.gui.inserter.tasks.into_minecart=到矿车 -ii.gui.inserter.tasks.fluid=流体 -ii.gui.inserter.tasks.fluid_milk_cow=奶牛 -ii.gui.inserter.tasks.fluid_latex_collector=收集乳胶 - -ii.gui.packer.task=转移: -ii.gui.packer.task.item=物品 -ii.gui.packer.task.item.out=打包 -ii.gui.packer.task.item.in=拆包 -ii.gui.packer.task.fluid=液体 -ii.gui.packer.task.fluid.out=填入 -ii.gui.packer.task.fluid.in=取出 -ii.gui.packer.task.energy=能量 -ii.gui.packer.task.energy.out=充电 -ii.gui.packer.task.energy.in=放电 - -ii.gui.packer.direction=从 -ii.gui.packer.direction.pack=打包器到容器 -ii.gui.packer.direction.unpack=容器到打包器 - -ii.gui.packer.item.input=输入 -ii.gui.packer.item.input.tooltip=由打包器放入容器的物品 -ii.gui.packer.item.output=输出 -ii.gui.packer.item.output.tooltip=由打包器从容器取出的物品 - -ii.gui.packer.mode=数量 -ii.gui.packer.mode.amount=单位 -ii.gui.packer.mode.slot=槽位 -ii.gui.packer.mode.all_possible=所有可能的 -ii.gui.packer.mode.at_most_container=容器中最多的 -ii.gui.packer.mode.at_least_packer=包装机中最少的 -ii.gui.packer.repeat=重复直到不可能 -ii.gui.packer.expires=并在此条件之后过期于 - -ii.gui.packer.labeler.header=将标签贴在容器上 -ii.gui.packer.labeler.serial_start=分批,开始于 -ii.gui.packer.labeler.serial_start.tooltip=如果选中,容器的物流标签(和名称)将包括一个从指定号码开始的递增批次号 - -ii.gui.packer.picker.container=容器 -ii.gui.packer.picker.container.tooltip=筛选此任务允许使用的容器类型 -ii.gui.packer.picker.stack=资源 -ii.gui.packer.picker.stack.tooltip=用于正在操作的资源的筛选器. -ii.gui.packer.picker.logitag=物流标签 -ii.gui.packer.picker.logitag.tooltip=给容器的物流标签. - -ii.gui.itemstack_editor.count=数量: -ii.gui.itemstack_editor.count.tooltip=堆叠中的物品数量 -ii.gui.itemstack_editor.damage=损坏: -ii.gui.itemstack_editor.damage.tooltip=物品的损坏值(留空表示通配符) -ii.gui.itemstack_editor.nbt=NBT -ii.gui.itemstack_editor.nbt.item.tooltip=激活时,该物品将根据其NBT数据进行匹配 -ii.gui.itemstack_editor.nbt.fluid.tooltip=激活时,该流体将根据其NBT数据进行匹配 -ii.gui.itemstack_editor.oredict=矿物词典 -ii.gui.itemstack_editor.oredict.tooltip=激活时,该物品将根据其矿物词典数据进行匹配 -ii.gui.itemstack_editor.energy=IF -ii.gui.itemstack_editor.energy.tooltip=IF能量 - -ii.gui.data_editor.logistics_tag.name=名称 -ii.gui.data_editor.logistics_tag.name.tooltip=设置标签名称. -ii.gui.data_editor.logistics_tag.description=描述 -ii.gui.data_editor.logistics_tag.description.tooltip=设置标签描述. -ii.gui.data_editor.logistics_tag.owner=所有者 -ii.gui.data_editor.logistics_tag.owner.tooltip=设置标签所有者. -ii.gui.data_editor.logistics_tag.origin=源 -ii.gui.data_editor.logistics_tag.origin.tooltip=设置标签源. -ii.gui.data_editor.logistics_tag.destination=目的地 -ii.gui.data_editor.logistics_tag.destination.tooltip=设置标签目的地. -ii.gui.data_editor.logistics_tag.color=颜色 - -ii.gui.data_input_machine.storage=打孔纸带存储 -ii.gui.data_input_machine.memory=内置存储 -ii.gui.data_input_machine.memory.switch=切换 -ii.gui.data_input_machine.memory.switch.tooltip=切换当前内存槽 - -ii.gui.arithmetic_logic_machine.storage=电路存储 - -ii.gui.packer.tasks=任务 -ii.gui.packer.labeling=标签规则 - -ii.gui.flagpole.map=地图 -ii.gui.flagpole.faction=派系管理 - -ii.gui.radar.map=雷达显示 -ii.gui.radar.configuration=配置 -ii.gui.radar.targets=目标 - -ii.gui.emplacement.platform_inventory=平台库存 -ii.gui.emplacement.base_inventory=基本库存 -ii.gui.emplacement.no_weapon=未安装武器. - -ii.gui.emplacement.config.reacts_redstone=红石控制 -ii.gui.emplacement.config.reacts_redstone.tooltip=启用时,只有在红石供能时,武器才会出现. -ii.gui.emplacement.config.reacts_data=数据控制 -ii.gui.emplacement.config.reacts_data.tooltip=当关闭时,武器站将不会对数据做出反应. -ii.gui.emplacement.config.hide_health=隐藏在血量低于: -ii.gui.emplacement.config.hide_health.tooltip=低于此值时,平台会隐藏以进行维修. -ii.gui.emplacement.config.resurface_health=维修直到生命值高于: -ii.gui.emplacement.config.resurface_health.tooltip=在维修到高于此值时,武器站才能升到地面. - -ii.gui.emplacement.config.vision_range=视距: %s b -ii.gui.emplacement.config.attack_range=攻击距离: %s b - -ii.gui.emplacement.fire_missions.editor=射击任务 -ii.gui.emplacement.fire_missions.type=类型 -ii.gui.emplacement.fire_missions.type.position=坐标 -ii.gui.emplacement.fire_missions.type.entity=实体 -ii.gui.emplacement.fire_missions.position=目标坐标 -ii.gui.emplacement.fire_missions.entity_id=实体ID -ii.gui.emplacement.fire_missions.finite_shots=限制射击 -ii.gui.emplacement.fire_missions.shots=射击s -ii.gui.emplacement.fire_missions.shots_left=%s 次射击 -ii.gui.emplacement.fire_missions.until_done=直到完成 - -ii.gui.emplacement.selector_preset=选择器预设 -ii.gui.emplacement.filter=过滤器 -ii.gui.emplacement.task_enabled=已启用 -ii.gui.emplacement.task_negation=已禁用 - -ii.gui.emplacement.target.mobs=怪物 -ii.gui.emplacement.target.animals=动物 -ii.gui.emplacement.target.players=玩家 -ii.gui.emplacement.target.npcs=NPC -ii.gui.emplacement.target.vehicles=载具 -ii.gui.emplacement.target.shells=炮弹 -ii.gui.emplacement.target.team=队伍 -ii.gui.emplacement.target.name=名称 - -ii.gui.map_display.color_mapper.terrain=地形 -ii.gui.map_display.color_mapper.grayscale=灰度 -ii.gui.map_display.color_mapper.topographic=地形 -ii.gui.map_display.color_mapper.light=灯光 -ii.gui.map_display.color_mapper.factions=派系 -ii.gui.map_display.color_mapper.alliances=盟友 - -ii.gui.map_display.marker.flagpoles=旗杆 -ii.gui.map_display.marker.weapons=武器 -ii.gui.map_display.marker.logistics=物流 -ii.gui.map_display.marker.intelligence=情报 -ii.gui.map_display.marker.wire_networks=线缆网络 - -ii.gui.map_display.marker.items=物品 -ii.gui.map_display.marker.players=玩家 -ii.gui.map_display.marker.mobs=怪物 -ii.gui.map_display.marker.animals=动物 -ii.gui.map_display.marker.aircraft=飞行器 -ii.gui.map_display.marker.vehicles=载具 -ii.gui.map_display.marker.missiles=导弹 -ii.gui.map_display.marker.artillery=重炮 -ii.gui.map_display.marker.bullets=弹药 - -ii.gui.redstone_data_interface.from.redstone=从红石 -ii.gui.redstone_data_interface.from.redstone.tooltip=指定哪种红石信号颜色将被转换为数据变量 -ii.gui.redstone_data_interface.from.data=从变量 -ii.gui.redstone_data_interface.from.data.tooltip=指定其值将被转换为红石信号的数据变量 -ii.gui.redstone_data_interface.to.data=到变量 -ii.gui.redstone_data_interface.to.data.tooltip=指定输出数据变量 -ii.gui.redstone_data_interface.to.redstone=到信号 -ii.gui.redstone_data_interface.to.redstone.tooltip=指定接口输出的红石信号的颜色 -ii.gui.redstone_data_interface.mode=模式 -ii.gui.redstone_data_interface.mode.tooltip=指定转换模式,这决定了红石信号强度如何转换为数据变量,反之亦然. -ii.gui.redstone_data_interface.mode.boolean=布尔值 -ii.gui.redstone_data_interface.mode.integer_15=整数 0-15 -ii.gui.redstone_data_interface.mode.integer_255=整数 0-255 -ii.gui.redstone_data_interface.mode.integer_100=整数 0-100 -ii.gui.redstone_data_interface.mode.float=浮点数 0-1 -ii.gui.redstone_data_interface.mode.string=字符串 - -ii.gui.projectile_workshop.component_info=组件信息 -ii.gui.projectile_workshop.component.role=规则: %s -ii.gui.projectile_workshop.component.density=密度: %s -ii.gui.projectile_workshop.component.slots_taken=已占用的插槽: %s -ii.gui.projectile_workshop.entry.core=弹芯 -ii.gui.projectile_workshop.entry.type=类型 -ii.gui.projectile_workshop.tooltip.core_type=弹芯核心 -ii.gui.projectile_workshop.tooltip.ammunition_type=弹药种类 -ii.gui.projectile_workshop.cost=总计: -ii.gui.projectile_workshop.invalid_cost=总计: 67891 P数 -ii.gui.projectile_workshop.material_preview=材质预览 -ii.gui.projectile_workshop.section.core=弹芯 -ii.gui.projectile_workshop.section.ballistics=弹道 -ii.gui.projectile_workshop.tooltip.component_slots=组件插槽 -ii.gui.projectile_workshop.tooltip.component_effect_shape=组件效果形状 -ii.gui.projectile_workshop.tooltip.component_efficiency=组件效率修正 -ii.gui.projectile_workshop.tooltip.component_efficiency.line1=确定效力. -ii.gui.projectile_workshop.tooltip.component_efficiency.line2=负责爆炸力、化学气体浓度. -ii.gui.projectile_workshop.tooltip.component_size=组件尺寸倍增器 -ii.gui.projectile_workshop.tooltip.component_size.line1=确定组件体积,负责爆炸半径,气体扩散范围倍增器. -ii.gui.projectile_workshop.tooltip.core_mass=弹芯重量 -ii.gui.projectile_workshop.tooltip.damage_dealt=造成的伤害 -ii.gui.projectile_workshop.tooltip.velocity=速度 -ii.gui.projectile_workshop.tooltip.available_fuzes=可用引信 -ii.gui.projectile_workshop.tooltip.penetration_hardness=穿透硬度 -ii.gui.projectile_workshop.tooltip.flat_trajectory_range=平射程 -ii.gui.projectile_workshop.tooltip.max_artillery_range=最大火炮奢侈 -ii.gui.projectile_workshop.unit.blocks=%s 块 -ii.gui.projectile_workshop.unit.blocks_per_tick=%s 块/时减 -ii.gui.projectile_workshop.value.penetration_hardness=%s 块 %s -ii.gui.projectile_workshop.unit.multiplier=%sx - -ii.gui.ammunition_assembler.fuse_config.timed=时间: -ii.gui.ammunition_assembler.fuse_config.timed.tooltip=引信触发时间 (刻) -ii.gui.ammunition_assembler.fuse_config.proximity=距离: -ii.gui.ammunition_assembler.fuse_config.proximity.tooltip=引信触发距离 (块) - -ii.gui.data_router.into=进入的侧面: %s -ii.gui.data_router.rule_editor=数据路由规则 -ii.gui.data_router.rule_properties=规则属性 -ii.gui.data_router.routing=路由中 -ii.gui.data_router.packet_filters=数据包过滤器 -ii.gui.data_router.incoming=输入: -ii.gui.data_router.incoming.tooltip=此规则适用的入站数据包方向. -ii.gui.data_router.outgoing=输出: -ii.gui.data_router.outgoing.tooltip=在此规则下,出站数据包将被发送的方向. -ii.gui.data_router.action=Action: -ii.gui.data_router.action.tooltip=确定匹配此规则的数据包将发生的情况. -ii.gui.data_router.filter.color=颜色 -ii.gui.data_router.filter.address=地址 -ii.gui.data_router.required_variables=必填变量 -ii.gui.data_router.filter.value=匹配值 -ii.gui.data_router.remove_control_variable=移除控制变量 -ii.gui.data_router.remove_control_variable.tooltip=启用后,控制变量将在发送的数据包中被省略. -ii.gui.data_router.action.allow=允许 -ii.gui.data_router.action.deny=拒绝 - -ii.gui.data_merger.rule_properties=合并规则 -ii.gui.data_merger.inputs=输入 -ii.gui.data_merger.override_policy=覆盖策略 -ii.gui.data_merger.variable=变量 -ii.gui.data_merger.accept_left=接受左转 -ii.gui.data_merger.accept_left.tooltip=发送到设备左侧的数据包将被接收. -ii.gui.data_merger.accept_right=接受右转 -ii.gui.data_merger.accept_right.tooltip=发送到设备右侧的数据包将被接收. -ii.gui.data_merger.trigger_forwarding=标记为发送 -ii.gui.data_merger.trigger_forwarding.tooltip=当此变量出现在数据包中时,机器将发送合并的数据. -ii.gui.data_merger.usage_limit=剩余次数: -ii.gui.data_merger.usage_limit.tooltip=空的意思是这条规则是重复的任务,一个数字表示这是一个会过期的请求. -ii.gui.data_merger.right_overrides_cached=权限覆盖缓存 -ii.gui.data_merger.right_overrides_cached.tooltip=当双方缓存都包含此变量时,右侧缓存的值占优. -ii.gui.data_merger.right_overrides_value=权限覆盖输出 -ii.gui.data_merger.right_overrides_value.tooltip=启用后,选定的缓存值可能会替换已存在于发送数据包中的值. -ii.gui.data_merger.left=左 -ii.gui.data_merger.right=右 -ii.gui.data_merger.send=发送 - - -#GUI HelpBoxes -ii.gui_help.data_input_machine.programming=这些插槽允许将穿孔纸读取到 DIM 的内存中,或将其内容写入空的穿孔纸中. -ii.gui_help.data_input_machine.storage=这些插槽可用于存放空白或已编程的打孔纸带,以便使用. -ii.gui_help.data_input_machine.variables=此列表显示存储在机器内的数据包的变量. - -#GUI Actions -ii.gui.action.copy=复制 -ii.gui.action.paste=粘贴 -ii.gui.action.cut=切 -ii.gui.action.undo=撤销 -ii.gui.action.redo=重做 -ii.gui.action.select_all=选择全部 -ii.gui.action.jei_recipe=展示配方 -ii.gui.action.jei_uses=展示用途 -ii.gui.action.jei_bookmark=书签 - -#GUI Bottom Buttons -ii.gui.button.apply=应用 -ii.gui.button.revert=恢复 -ii.gui.button.cancel=取消 - -#GUI Tooltips -ii.gui_tooltip.button.add=添加 -ii.gui_tooltip.button.remove=移除 -ii.gui_tooltip.button.edit=编辑 -ii.gui_tooltip.button.duplicate=复制 -ii.gui_tooltip.button.clear=清楚 - -#GUI Widgets -ii.gui_tooltip.widget.style.show=显示样式自定义 -ii.gui_tooltip.widget.style.hide=隐藏样式自定义 -ii.gui_tooltip.widget.style=自定义 -ii.gui_tooltip.widget.style.desc=这个多方快结构允许自定义颜色与样式. -ii.gui_tooltip.widget.style.style=样式 -ii.gui_tooltip.widget.style.color=颜色 -ii.gui_tooltip.widget.ownership.show=显示所有权数据 -ii.gui_tooltip.widget.ownership.hide=隐藏所有权数据 -ii.gui_tooltip.widget.ownership=所有权 -ii.gui_tooltip.widget.manual.show=显示侧边手册 -ii.gui_tooltip.widget.manual.hide=隐藏侧边手册 -ii.gui_tooltip.widget.manual.page=在工程师手册中打开 -ii.gui_tooltip.widget.manual=工程师手册 - -ii.gui_tooltip.energy.stored=Energy Stored: %s/%s IF -ii.gui_tooltip.energy.input=Energy Consumed: %s IF/t -ii.gui_tooltip.energy.required=Energy Required: %s IH/t -ii.gui_tooltip.energy.output=Energy Output: %s IF/t - -ii.gui_tooltip.heat.stored=Heat %s/%s IH -ii.gui_tooltip.heat.input=Heat Consumed: %s IH/t -ii.gui_tooltip.heat.required=Heat Required: %s IH /t -ii.gui_tooltip.heat.output=Heat Output: %s IH/t - -ii.gui_tooltip.pressure.stored=Pressure: %s/%s IP -ii.gui_tooltip.pressure.input=Pressure Intake: %s IP -ii.gui_tooltip.pressure.required=Pressure Required: %s IP /t -ii.gui_tooltip.pressure.output=Pressure Output: %s IP - -ii.gui_tooltip.mech_torque.message.basic=Input: 速度 %s D/t | 扭矩 %s IT. -ii.gui_tooltip.mech_torque.message.advanced=Input: 速度 %s D/t | 扭矩 %s IT. 输出: Speed %s D/t | 扭矩 %s IT. -ii.gui_tooltip.mech_torque.stored=Torque: %s/%s IT -ii.gui_tooltip.mech_torque.input=Torque Input: %s IT -ii.gui_tooltip.mech_torque.required=Torque Required: %s IT/t -ii.gui_tooltip.mech_torque.output=Torque Output: %s IT - -ii.gui_tooltip.mech_speed.stored=Speed: %s/%s D/t -ii.gui_tooltip.mech_speed.input=Speed Input: %s D/t -ii.gui_tooltip.mech_speed.required=Speed Required: %s D/t -ii.gui_tooltip.mech_speed.output=Speed Output: %s D/t - -ii.gui_tooltip.fluid.stored=%s - %s mB -ii.gui_tooltip.fluid.input=%s Intake: %s mB -ii.gui_tooltip.fluid.output=%s Output: %s mB - -ii.gui_tooltip.time.stored=Time Remaining: %s/%s t -ii.gui_tooltip.time.required=Time Required: %s t - -ii.gui_tooltip.structural_integrity=Structural Integrity: %s/%s 生命值 -ii.gui_tooltip.structural_integrity.repair=Repair Threshold: 低于 %s 生命值 -ii.gui_tooltip.structural_integrity.repair.auto_tooltip=如果结构低于此阈值,它将自动修复自身. -ii.gui_tooltip.structural_integrity.repair.manual_tooltip=如果结构低于此阈值,将需要进行修理. - -ii.gui_tooltip.armor_integrity=Armor: %s/%s 生命值 -ii.gui_tooltip.reactive_armor_integrity=反应装甲: %s/%s 生命值 - -ii.gui_tooltip.speed=速度: %s -ii.gui_tooltip.progress=进度: %s % -ii.gui_tooltip.fuel=燃油: %s/%s mB -ii.gui_tooltip.soil_fertility=土壤肥力: %s % - -# Nether Backport Compat -item.immersiveintelligence.bullet.component.core_netherite.name=Netherite -ie.manual.entry.bullet_core.core_netherite=Netherite Core -ie.manual.entry.bullet_core.core_netherite.lore=Nether-Forged -ie.manual.entry.bullet_core.core_netherite.desc=Ancient debris is what remains of the mining activity of the piglins, who extracted all the original netherite ore. Currently they are a product of an industrialized fallen empire and in the past they were a united front. - -item.immersiveintelligence.bullet.component.nether_fire.name=Nether Fire -ie.manual.entry.bullet_component.nether_fire=Nether Fire -ie.manual.entry.bullet_component.nether_fire.lore=This "prison"... to contain ME? -ie.manual.entry.bullet_component.nether_fire.desc=A fire of infernal origins, it is a permanent, non-spreading fire that deals higher damage than normal fire and keeps on burning when it should not. - -# Deeper Depths Compat -item.immersiveintelligence.bullet.component.windcharge.name=Wind Charge -ie.manual.entry.bullet_component.windcharge=Wind Charge -ie.manual.entry.bullet_component.windcharge.lore=How? -ie.manual.entry.bullet_component.windcharge.desc=Condensed wind obtained from Breeze, wind charges knock targets back and apply slowness and suppression in small radius. Due to properties of the charge, it remains on the same level of potency regardless of the shell size. - -# Thaumcraft Compat -item.immersiveintelligence.bullet.component.primordial_pearl.name=Primordial Pearl -ie.manual.entry.bullet_component.primordial_pearl=Primordial Pearl -ie.manual.entry.bullet_component.primordial_pearl.lore=Magical Oppenheimer -ie.manual.entry.bullet_component.primordial_pearl.desc=A potent artifact containing vast magical power and nearly unlimited potential that is beyond the known magical and physical laws. Despite its small size, rules of physics dictate that compression of such matter by integrated detonator explosive can only result in unparraleled levels of destruction from sheer amount of energy unleashed at once. - -item.immersiveintelligence.bullet.component.alumentum.name=Alumentum -ie.manual.entry.bullet_component.alumentum=Alumentum -ie.manual.entry.bullet_component.alumentum.lore=Alchemist's explosives -ie.manual.entry.bullet_component.alumentum.desc=A very volatile fiery substance, Alumentum is smaller in radius compared to TNT, but contains more concentrated power. Being in explosive container allows to focus its explosive power, making it more destructive than otherwise hand-thrown Alumentum. - -item.immersiveintelligence.bullet.component.bottled_taint.name=Bottled Taint -ie.manual.entry.bullet_component.bottled_taint=Bottled Taint -ie.manual.entry.bullet_component.bottled_taint.lore=Ruinous power -ie.manual.entry.bullet_component.bottled_taint.desc=Moving the contents of the bottle into a shell allows to deliver the corruptive Taint at much longer distances than it is possible to throw the bottle manually. Spread forth magical corruption, now at long distances! - -ie.manual.entry.bullet_core.core_core_thaumium=Thaumium -ie.manual.entry.bullet_core.core_thaumium=Thaumium Core -ie.manual.entry.bullet_core.ore_thaumium.lore=Thaumaturgicallymtallurgic -ie.manual.entry.bullet_core.core_thaumium.desc=A result of infusing iron with raw magical energy. Harder and better than base iron, it is a good candidate for massproduced shells, provided you can make alchemical mettalurgy supply keep up with the industrial demands. - -ie.manual.entry.bullet_core.core_core_core_voidmetal=Void Metal -ie.manual.entry.bullet_core.core_voidmetal=Void Metal Core -ie.manual.entry.bullet_core.core_voidmetal.lore=Thaumaturgicallymtallurgic -ie.manual.entry.bullet_core.core_voidmetal.desc=Disturbingly slick and warm to the touch, easy to work like gold, becoming as hard as tungsten and harder when struck - Void Metal is an excellent choice for bullets. However, properties of the metal make it somewhat difficult for conventional explosives to detonate with proper force. Furthermore, you cannot retrieve this metal core despite its regenerative properties, as it becomes unuseable after hitting the target. - -# Thaumic Augmentation Compat -item.immersiveintelligence.bullet.component.impetus.name=Impetus -ie.manual.entry.bullet_component.impetus=Impetus -ie.manual.entry.bullet_component.impetus.lore=Rift power in a can -ie.manual.entry.bullet_component.impetus.desc=Dangerous byproduct of Flux Rifts, and not fully understood material or phenomena, full range of usages for Impetus is shrouded in mystery. However, "infusing" the shell with the Impetus energy very significantly magnifies and supercharges its lethality. + +#Items +itemGroup.immersiveintelligence=沉浸智能 +itemGroup.ii.resources=资源 +itemGroup.ii.tools=工具与生产 +itemGroup.ii.electronics=数据与电子技术 +itemGroup.ii.logistics=物流 +itemGroup.ii.warfare=战争 +itemGroup.ii.intelligence=情报 +itemGroup.ii.rotary=旋转能 + +item.immersiveintelligence.material.basic_circuit_board_raw.name=未加工基础电路板 +item.immersiveintelligence.material.basic_circuit_board_etched.name=蚀刻基础电路板 +item.immersiveintelligence.material.basic_electronic_element.name=基础电子元件 +item.immersiveintelligence.material.circuit_template.name=电路模板 + +item.immersiveintelligence.material.advanced_circuit_board_raw.name=未加工高级电路板 +item.immersiveintelligence.material.advanced_circuit_board_etched.name=蚀刻高级电路板 +item.immersiveintelligence.material.advanced_circuit_board.name=高级电路板 +item.immersiveintelligence.material.advanced_electronic_element.name=高级电子元件 + +item.immersiveintelligence.material.cryptographic_circuit_board.name=密码学电路板 + +item.immersiveintelligence.material.processor_circuit_board_raw.name=未加工处理器电路板 +item.immersiveintelligence.material.processor_circuit_board_etched.name=蚀刻处理器电路板 +item.immersiveintelligence.material.processor_circuit_board.name=处理器电路板 +item.immersiveintelligence.material.processor_electronic_element.name=处理器 +item.immersiveintelligence.material.transistor.name=晶体管 + +item.immersiveintelligence.material.compact_electric_engine.name=紧凑型电力发动机 +item.immersiveintelligence.material.compact_electric_engine_advanced.name=高级电力发动机 +item.immersiveintelligence.material.carbon_brush.name=碳刷 +item.immersiveintelligence.material.glass_fibre_cable.name=玻璃纤维线缆 +item.immersiveintelligence.material.sandbag.name=沙袋 + +item.immersiveengineering.material.gunpart_barrel.name=钢制枪管 +item.immersiveintelligence.material.iron_gun_barrel.name=铁质枪管 +item.immersiveintelligence.material.tungsten_gun_barrel.name=精密枪管 +item.immersiveintelligence.material.gun_stock.name=木制枪托 +item.immersiveintelligence.material.gun_casing.name=木制护木 + +item.immersiveengineering.material.gunpart_hammer.name=转轮手枪击锤 +item.immersiveengineering.material.gunpart_drum.name=转轮手枪弹巢 +item.immersiveintelligence.material.firing_mechanism.name=栓动枪机 +item.immersiveintelligence.material.advanced_firing_mechanism.name=自动枪机 + +item.immersiveintelligence.material.advanced_electron_tube.name=高级真空管 + +item.immersiveintelligence.material.antenna.name=天线 +item.immersiveintelligence.material.high_frequency_antenna.name=高频天线 +item.immersiveintelligence.material.camera.name=摄像机 +item.immersiveintelligence.material.improved_camera.name=改进摄像机 +item.immersiveintelligence.material.targeting_device.name=瞄准装置 +item.immersiveintelligence.material.high_precision_targeting_device.name=精密瞄准装置 +item.immersiveintelligence.material.lens.name=镜头 +item.immersiveintelligence.material.infrared_lens.name=红外镜头 + +item.immersiveintelligence.material.punchtape_empty.name=空白打孔纸带 +item.immersiveintelligence.punchtape.name=打孔纸带 + +item.immersiveintelligence.binoculars.binoculars.name=双筒望远镜 +item.immersiveintelligence.binoculars.infrared_binoculars.name=红外双筒望远镜 + +item.immersiveintelligence.assembly_scheme.name=装配方案 + +item.immersiveintelligence.press_mold.howitzer.name=金属冲压模具:榴弹炮弹壳 +item.immersiveintelligence.press_mold.medium_howitzer.name=金属冲压模具:中型火炮弹壳 +item.immersiveintelligence.press_mold.light_howitzer.name=金属冲压模具:轻型火炮弹壳 +item.immersiveintelligence.press_mold.mortar.name=金属冲压模具:迫击炮弹壳 +item.immersiveintelligence.press_mold.light_gun.name=金属冲压模具:轻型炮弹壳 +item.immersiveintelligence.press_mold.autocannon.name=金属冲压模具:机炮弹壳 +item.immersiveintelligence.press_mold.shotgun.name=金属冲压模具:霰弹枪弹壳 +item.immersiveintelligence.press_mold.machinegun.name=金属冲压模具:机枪弹壳 +item.immersiveintelligence.press_mold.assault_rifle.name=金属冲压模具:突击步枪弹壳 +item.immersiveintelligence.press_mold.submachinegun.name=金属冲压模具:冲锋枪弹壳 +item.immersiveintelligence.press_mold.naval_mine.name=金属冲压模具:水雷壳体 +item.immersiveintelligence.press_mold.tripmine.name=金属冲压模具:绊雷壳体 +item.immersiveintelligence.press_mold.tellermine.name=金属冲压模具:地雷壳体 + +item.immersiveintelligence.vulcanizer_mold.belt.name=硫化机模具:皮带 +item.immersiveintelligence.vulcanizer_mold.tire.name=硫化机模具:轮胎 + +item.immersiveintelligence.material_ingot.platinum.name=铂锭 +item.immersiveintelligence.material_ingot.zinc.name=锌锭 +item.immersiveintelligence.material_ingot.tungsten.name=钨锭 +item.immersiveintelligence.material_ingot.brass.name=黄铜锭 +item.immersiveintelligence.material_ingot.advanced_electronic_alloy.name=高级电子合金锭 +item.immersiveintelligence.material_ingot.silicon.name=硅粉 +item.immersiveintelligence.material_ingot.magnet.name=磁铁 +item.immersiveintelligence.material_ingot.duraluminium.name=硬铝合金锭 + +item.immersiveintelligence.material_rod.brass.name=黄铜棒 +item.immersiveintelligence.material_rod.tungsten.name=钨棒 +item.immersiveintelligence.material_rod.zinc.name=锌棒 +item.immersiveintelligence.material_rod.platinum.name=铂棒 +item.immersiveintelligence.material_rod.duraluminium.name=硬铝合金棒 + +item.immersiveintelligence.material_dust.platinum.name=铂粉 +item.immersiveintelligence.material_dust.zinc.name=锌粉 +item.immersiveintelligence.material_dust.tungsten.name=钨粉 +item.immersiveintelligence.material_dust.brass.name=黄铜粉 +item.immersiveintelligence.material_dust.advanced_electronic_alloy.name=高级电子合金粉 +item.immersiveintelligence.material_dust.silicon.name=硅粉 +item.immersiveintelligence.material_dust.fluorite.name=氟石粉 +item.immersiveintelligence.material_dust.quartz.name=石英粉 +item.immersiveintelligence.material_dust.quartz_dirty.name=不洁石英粉 +item.immersiveintelligence.material_dust.phosphorus.name=磷粉 +item.immersiveintelligence.material_dust.duraluminium.name=硬铝合金粉 + +item.immersiveintelligence.material_plate.platinum.name=铂板 +item.immersiveintelligence.material_plate.zinc.name=锌板 +item.immersiveintelligence.material_plate.tungsten.name=钨板 +item.immersiveintelligence.material_plate.brass.name=黄铜板 +item.immersiveintelligence.material_plate.advanced_electronic_alloy.name=高级电子合金板 +item.immersiveintelligence.material_plate.silicon.name=硅晶圆 +item.immersiveintelligence.material_plate.rubber_raw.name=天然橡胶片 +item.immersiveintelligence.material_plate.duraluminium.name=硬铝合金板 + +item.immersiveintelligence.material_nugget.platinum.name=铂粒 +item.immersiveintelligence.material_nugget.zinc.name=锌粒 +item.immersiveintelligence.material_nugget.tungsten.name=钨粒 +item.immersiveintelligence.material_nugget.brass.name=黄铜粒 +item.immersiveintelligence.material_nugget.advanced_electronic_alloy.name=高级电子合金粒 +item.immersiveintelligence.material_nugget.silicon.name=硅片 +item.immersiveintelligence.material_nugget.duraluminium.name=硬铝合金粒 +item.immersiveintelligence.material_nugget.rubber.name=橡胶粒 + +item.immersiveintelligence.material_wire.tungsten.name=钨质线缆 +item.immersiveintelligence.material_wire.brass.name=黄铜线缆 + +item.immersiveintelligence.material_gem.fluorite.name=下界氟石 +#Based on real-life mineral glauconite, though the word phosphorus is easier to remember +item.immersiveintelligence.material_gem.phosphorus.name=下界磷石 + +item.immersiveintelligence.material_boule.silicon.name=单晶硅 + +item.immersiveintelligence.material_spring.brass.name=黄铜弹簧 +item.immersiveintelligence.material_spring.iron.name=铁质弹簧 +item.immersiveintelligence.material_spring.steel.name=钢质弹簧 + +item.immersiveintelligence.material.dust_rdx.name=黑索金粉 +item.immersiveintelligence.material.dust_hmx.name=奥克托金粉 +item.immersiveintelligence.material.white_phosphorus.name=白磷 + +item.immersiveintelligence.material.bullet_core_steel.name=钢质弹芯 +item.immersiveintelligence.material.bullet_core_brass.name=黄铜弹芯 +item.immersiveintelligence.material.bullet_core_uranium.name=铀质弹芯 +item.immersiveintelligence.material.bullet_core_lead.name=铅质弹芯 +item.immersiveintelligence.material.bullet_core_tungsten.name=钨质弹芯 + +item.immersiveintelligence.material.dust_salt.name=盐粉 +item.immersiveintelligence.material.dust_wood.name=锯末 +item.immersiveintelligence.material.pulp_wood.name=木浆 +item.immersiveintelligence.material.pulp_wood_treated.name=处理过的木浆 +item.immersiveintelligence.material.dust_hexamine.name=乌洛托品粉 +item.immersiveintelligence.material.dust_formaldehyde.name=甲醛粉 +item.immersiveintelligence.material.rubber_compound.name=硫化混合橡胶 + +item.immersiveintelligence.material.artificial_leather.name=人造革 +item.immersiveintelligence.material.natural_rubber.name=天然橡胶 +item.immersiveintelligence.material.rubber_belt.name=橡胶带 +item.immersiveintelligence.material.rubber_tire.name=橡胶轮胎 + +item.immersiveintelligence.circuit_functional.arithmetic.name=运算电路 +item.immersiveintelligence.circuit_functional.advanced_arithmetic.name=高级运算电路 +item.immersiveintelligence.circuit_functional.logic.name=逻辑电路 +item.immersiveintelligence.circuit_functional.comparator.name=比较电路 +item.immersiveintelligence.circuit_functional.advanced_logic.name=高级逻辑电路 +item.immersiveintelligence.circuit_functional.text.name=文本处理电路 +item.immersiveintelligence.circuit_functional.itemstack.name=物品堆栈处理电路 +item.immersiveintelligence.circuit_functional.array.name=阵列运算电路 +item.immersiveintelligence.circuit_functional.entity.name=实体处理电路 +item.immersiveintelligence.circuit_functional.document.name=文档处理电路 +item.immersiveintelligence.circuit_functional.type_conversion.name=类型转换电路 +item.immersiveintelligence.circuit_functional.fluidstack.name=流体堆栈处理电路 +item.immersiveintelligence.circuit_functional.map.name=地图处理电路 +item.immersiveintelligence.circuit_functional.vector_arithmetic.name=矢量运算电路 +item.immersiveintelligence.circuit_functional.cryptographer.name=密码电路 + + +item.immersiveintelligence.minecart.wooden_crate.name=木质储物箱矿车 +item.immersiveintelligence.minecart.reinforced_crate.name=强化木质储物箱矿车 +item.immersiveintelligence.minecart.steel_crate.name=钢质储物箱矿车 +item.immersiveintelligence.minecart.wooden_barrel.name=木桶矿车 +item.immersiveintelligence.minecart.metal_barrel.name=金属桶矿车 +item.immersiveintelligence.minecart.capacitor_lv.name=低压电容器矿车 +item.immersiveintelligence.minecart.capacitor_mv.name=中压电容器矿车 +item.immersiveintelligence.minecart.capacitor_hv.name=高压电容器矿车 +item.immersiveintelligence.minecart.capacitor_creative.name=创造电容器矿车 +#Immersive Technology Compat +item.immersiveintelligence.minecart.crate_creative.name=创造储存箱矿车 +item.immersiveintelligence.minecart.barrel_creative.name=创造储存桶矿车 +item.immersiveintelligence.minecart.steel_barrel.name=钢桶矿车 +item.immersiveintelligence.minecart.open_barrel.name=开放式金属桶矿车 + +item.immersiveintelligence.light_engineer_armor_helmet.name=工程师轻型头盔 +item.immersiveintelligence.light_engineer_armor_chestplate.name=工程师轻型胸甲 +item.immersiveintelligence.light_engineer_armor_leggings.name=工程师轻型护腿 +item.immersiveintelligence.light_engineer_armor_boots.name=工程师轻型靴子 +item.immersiveintelligence.advanced_powerpack.name=先进电容器背包 + +item.immersiveintelligence.lighter.name=工程师打火机 +item.immersiveintelligence.measuring_cup.name=工程师量杯 +item.immersiveintelligence.electric_hammer.name=工程师电动锤 +item.immersiveintelligence.electric_wirecutter.name=工程师电动钳 +item.immersiveintelligence.electric_multitool.name=工程师电动多功能工具 +item.immersiveintelligence.radio_configurator.basic.name=基础无线电调谐器 +item.immersiveintelligence.radio_configurator.advanced.name=先进无线电调谐器 +item.immersiveintelligence.trench_shovel.name=堑壕铲 +item.immersiveintelligence.tripod_periscope.name=三脚架潜望镜 +item.immersiveintelligence.mine_detector.name=地雷探测器 +item.immersiveintelligence.mortar.name=迫击炮 +item.immersiveintelligence.machinegun.name=机枪 +item.immersiveintelligence.assault_rifle.name=突击步枪 +item.immersiveintelligence.submachinegun.name=冲锋枪 +item.immersiveintelligence.autorevolver.name=自动转轮手枪 +item.immersiveintelligence.rifle.name=步枪 +item.immersiveintelligence.rifle_handmade.name=手工步枪 + +#Drillheads +item.immersiveintelligence.drillhead.tungsten.name=钨质钻头 +item.immersiveintelligence.drillhead.iron_diamond_tip.name=镶钻铁质钻头 +item.immersiveintelligence.drillhead.steel_diamond_tip.name=镶钻钢质钻头 +item.immersiveintelligence.drillhead.tungsten_diamond_tip.name=镶钻钨质钻头 + +item.immersiveintelligence.weapon_upgrade.water_cooling.name=水冷枪管 +item.immersiveintelligence.weapon_upgrade.heavy_barrel.name=重型枪管 +item.immersiveintelligence.weapon_upgrade.second_magazine.name=副弹匣 +item.immersiveintelligence.weapon_upgrade.belt_fed_loader.name=弹链供弹系统 +item.immersiveintelligence.weapon_upgrade.precise_bipod.name=精密双脚架 +item.immersiveintelligence.weapon_upgrade.hasty_bipod.name=临时双脚架 +item.immersiveintelligence.weapon_upgrade.scope.name=瞄准镜 +item.immersiveintelligence.weapon_upgrade.infrared_scope.name=红外瞄准镜 +item.immersiveintelligence.weapon_upgrade.shield.name=机枪盾 +item.immersiveintelligence.weapon_upgrade.tripod.name=三脚架 + +item.immersiveintelligence.weapon_upgrade.sturdy_barrel.name=强化枪管 +item.immersiveintelligence.weapon_upgrade.suppressor.name=消音器 +item.immersiveintelligence.weapon_upgrade.bottom_loading.name=下置装弹器 +item.immersiveintelligence.weapon_upgrade.folding_stock.name=折叠式枪托 + +item.immersiveintelligence.weapon_upgrade.heavy_springbox.name=重型弹簧匣 + +item.immersiveintelligence.weapon_upgrade.radio_marker.name=无线电信标 +item.immersiveintelligence.weapon_upgrade.rifle_grenade_launcher.name=枪榴弹发射器 +item.immersiveintelligence.weapon_upgrade.stereoscopic_rangefinder.name=立体测距仪 +item.immersiveintelligence.weapon_upgrade.gyroscopic_stabilizer.name=陀螺仪稳定器 +item.immersiveintelligence.weapon_upgrade.electric_firing_motor.name=火控电机 +item.immersiveintelligence.weapon_upgrade.railgun_assisted_chamber.name=磁轨炮伺服腔 + +item.immersiveintelligence.weapon_upgrade.semi_automatic.name=半自动枪机 +item.immersiveintelligence.weapon_upgrade.extended_barrel.name=加长枪管 + +item.immersiveintelligence.armor_upgrade.gasmask.name=防毒面具 +item.immersiveintelligence.armor_upgrade.infiltrator_gear.name=渗透者面罩 +item.immersiveintelligence.armor_upgrade.technician_gear.name=技师面罩 +item.immersiveintelligence.armor_upgrade.engineer_gear.name=工程师面罩 +item.immersiveintelligence.armor_upgrade.steel_armor_plates.name=钢质装甲板 +item.immersiveintelligence.armor_upgrade.composite_armor_plates.name=复合装甲板 +item.immersiveintelligence.armor_upgrade.hazmat_coating.name=防化覆层 +item.immersiveintelligence.armor_upgrade.heat_resistant_coating.name=耐热覆层 +item.immersiveintelligence.armor_upgrade.anti_static_mesh.name=绝缘伪装层 +item.immersiveintelligence.armor_upgrade.camouflage_mesh.name=伪装层 +item.immersiveintelligence.armor_upgrade.infrared_absorbing_mesh.name=红外伪装层 +item.immersiveintelligence.armor_upgrade.scuba_tank.name=压缩气罐 +item.immersiveintelligence.armor_upgrade.helipack.name=浮空背包 +item.immersiveintelligence.armor_upgrade.exoskeleton.name=外骨骼 +item.immersiveintelligence.armor_upgrade.boot_reinforcement.name=靴子加强件 +item.immersiveintelligence.armor_upgrade.snow_rackets.name=雪拍 +item.immersiveintelligence.armor_upgrade.flippers.name=脚蹼 +item.immersiveintelligence.armor_upgrade.internal_springs.name=内置弹簧 + +item.immersiveintelligence.tracer_powder.tracer_powder.name=示踪剂 +item.immersiveintelligence.tracer_powder.flare_powder.name=闪光粉 + +item.immersiveintelligence.skycrate_mount.mechanical.name=索道载架 +item.immersiveintelligence.skycrate_mount.electric.name=电动索道载架 + +desc.immersiveintelligence.electric_hammer=旋转方块,切换机器部件,形成多方块结构. +desc.immersiveintelligence.electric_wirecutter=切割线缆与电机皮带,类似于剪刀. +desc.immersiveintelligence.trench_shovel=更快地埋设地雷,强化方块. +desc.immersiveintelligence.wrench=向兼容的机器中安装升级. +desc.immersiveintelligence.tachometer=测量旋转装置的转速与扭矩. +desc.immersiveintelligence.binoculars=使你看得更远. +desc.immersiveintelligence.casing_pouch=储存用过的弹壳与空弹匣. + +desc.immersiveintelligence.toolupgrade.item.revolver=转轮手枪 +desc.immersiveintelligence.toolupgrade.item.railgun=磁轨炮 +desc.immersiveintelligence.toolupgrade.item.machinegun=机枪 +desc.immersiveintelligence.toolupgrade.item.submachinegun=冲锋枪 +desc.immersiveintelligence.toolupgrade.item.mortar=迫击炮 +desc.immersiveintelligence.toolupgrade.item.assault_rifle=突击步枪 +desc.immersiveintelligence.toolupgrade.item.autorevolver=自动转轮手枪 +desc.immersiveintelligence.toolupgrade.item.rifle=步枪 + +desc.immersiveintelligence.filled_casing=填满火药 +desc.immersiveintelligence.explosives_programmed=以数据包编程 + +desc.immersiveintelligence.toolupgrade.item.light_engineer_helmet=工程师轻型头盔 +desc.immersiveintelligence.toolupgrade.item.light_engineer_chestplate=工程师轻型胸甲 +desc.immersiveintelligence.toolupgrade.item.light_engineer_leggings=工程师轻型护腿 +desc.immersiveintelligence.toolupgrade.item.light_engineer_boots=工程师轻型靴子 + +desc.immersiveintelligence.toolupgrade.water_cooling=使用水冷却机枪,增加机枪能承受的最大热量. +desc.immersiveintelligence.toolupgrade.heavy_barrel=显著提高射速,会导致更高的后坐力和更快的过热速度. +desc.immersiveintelligence.toolupgrade.second_magazine=允许同时使用两个弹匣中的弹药,需要单独重新装填. +desc.immersiveintelligence.toolupgrade.belt_fed_loader=允许使用玩家下方弹药箱中的弹药,增加部署时间. +desc.immersiveintelligence.toolupgrade.precise_bipod=增加部署时间,减小后坐力. +desc.immersiveintelligence.toolupgrade.hasty_bipod=减少部署时间,增加后坐力 +desc.immersiveintelligence.toolupgrade.scope=提供远距离瞄准视野. +desc.immersiveintelligence.toolupgrade.infrared_scope=提供清晰的夜间视野,需要电源,例如电容器背包. +desc.immersiveintelligence.toolupgrade.shield=抵挡投射物并保护射手免受近战伤害,增加部署时间. +desc.immersiveintelligence.toolupgrade.tripod=几乎去除后坐力,增大瞄准角度并增加部署时间. + +desc.immersiveintelligence.toolupgrade.sturdy_barrel=增加弹速与穿透力,降低射速. +desc.immersiveintelligence.toolupgrade.suppressor=降低枪响,以便进行快速且隐蔽的行动. +desc.immersiveintelligence.toolupgrade.bottom_loading=更换握把使枪变为由下方装弹并兼容弹鼓. +desc.immersiveintelligence.toolupgrade.folding_stock=增加装填速度与瞄准速度,降低移动时的精准度. + +desc.immersiveintelligence.toolupgrade.heavy_springbox=增加弹速与穿透力,降低射速. + +desc.immersiveintelligence.toolupgrade.rifle_grenade_launcher=允许发射磁轨炮榴弹,但射程远低于磁轨炮. +desc.immersiveintelligence.toolupgrade.stereoscopic_rangefinder=显示与目标的距离,配合无线电信标可以通过数据发送敌人的位置. +desc.immersiveintelligence.toolupgrade.gyroscopic_stabilizer=在射击后自动稳定枪械,降低所有开火模式的后坐力,需要电力. +desc.immersiveintelligence.toolupgrade.electric_firing_motor=在全自动开火模式下增加射速,需要电力. +desc.immersiveintelligence.toolupgrade.railgun_assisted_chamber=在手动射击模式下增加弹速,需要电力. + +desc.immersiveintelligence.toolupgrade.semi_automatic=允许通过弹匣装填,增加射速. +desc.immersiveintelligence.toolupgrade.extended_barrel=在手动射击模式下增加弹速,降低射速. + +desc.immersiveintelligence.toolupgrade.gasmask=保护使用者免受有害气体伤害. + +desc.immersiveintelligence.toolupgrade.infiltrator_gear=提供夜视与变焦视野,使用需要电力. +desc.immersiveintelligence.toolupgrade.technician_gear=显示通常需要手持工程师锤,扳手或电表才能显示的信息,使用需要电力. +desc.immersiveintelligence.toolupgrade.engineer_gear=将渗透者面罩与技师面罩的功能结合,但能源消耗也增大了. +desc.immersiveintelligence.toolupgrade.steel_armor_plates=略微增加装甲厚度,可以反弹箭和其他轻型投射物,每件装甲最多可安装3个. +desc.immersiveintelligence.toolupgrade.composite_armor_plates=显著增加装甲厚度,当敌人近战武器不能穿透装甲时,可以反弹投射物与近战伤害.每件装甲最多可安装3个. +desc.immersiveintelligence.toolupgrade.hazmat_coating=使装甲可以防御辐射与腐蚀性物质. +desc.immersiveintelligence.toolupgrade.heat_resistant_coating=配合靴子加强件使用可以在高温流体中游泳. +desc.immersiveintelligence.toolupgrade.anti_static_mesh=使穿戴者免疫电击且无法被特斯拉线圈瞄准,但对水下的电流非常敏感. +desc.immersiveintelligence.toolupgrade.camouflage_mesh=使穿戴者在靠近树叶时隐形,但对火极其敏感. +desc.immersiveintelligence.toolupgrade.infrared_absorbing_mesh=使穿戴者对红外设备隐形,但对EMP极其敏感. +desc.immersiveintelligence.toolupgrade.scuba_tank=配合防毒面具可在装满氧气后在水下呼吸. +desc.immersiveintelligence.toolupgrade.helipack=允许缓慢且稳定的飞行,消耗汽油. +desc.immersiveintelligence.toolupgrade.exoskeleton=允许更快的奔跑,使用时消耗电力. +desc.immersiveintelligence.toolupgrade.boot_reinforcement=使穿戴者免疫火焰伤害,配合耐热覆层使用可以在高温流体中游泳. +desc.immersiveintelligence.toolupgrade.snow_rackets=增加在雪地的移动速度与在冰上的稳定性. +desc.immersiveintelligence.toolupgrade.flippers=增加在水下的移动速度. +desc.immersiveintelligence.toolupgrade.internal_springs=使穿戴者免疫摔落伤害,并使脚步静音. + +item.immersiveintelligence.data_wire.name=数据线圈 + +item.immersiveintelligence.trip_wire.name=绊线线圈 + +item.immersiveintelligence.small_wirecoil.data.name=小型数据线圈 +item.immersiveintelligence.small_wirecoil.redstone.name=小型红石线圈 +desc.immersiveintelligence.small_wirecoil=用于精密电子设备的链接,如安装的电路. + +item.immersiveintelligence.printed_page.blank.name=空白页 +item.immersiveintelligence.printed_page.text.name=打印的文本 +item.immersiveintelligence.printed_page.code.name=打印的代码 +item.immersiveintelligence.printed_page.blueprint.name=打印的装配方案 +item.immersiveintelligence.printed_page.bound_pages.name=装订页 +item.immersiveintelligence.printed_page.newspaper.name=报纸 +item.immersiveintelligence.printed_page.book.name=书册 +item.immersiveintelligence.printed_page.letter.name=信 +item.immersiveintelligence.printed_page.letter_opened.name=打开的信 + +item.immersiveintelligence.logistic_tag.name=物流清单 + +item.immersiveintelligence.precission_tool.buzzsaw.name=精密圆锯 +item.immersiveintelligence.precission_tool.drill.name=精密钻头 +item.immersiveintelligence.precission_tool.inserter.name=精密插件机 +item.immersiveintelligence.precission_tool.solderer.name=精密焊锡机 +item.immersiveintelligence.precission_tool.welder.name=精密焊接机 +item.immersiveintelligence.precission_tool.hammer.name=精密锤 + +item.immersiveintelligence.sawblade.iron.name=铁质锯片 +item.immersiveintelligence.sawblade.steel.name=钢质锯片 +item.immersiveintelligence.sawblade.tungsten.name=钨质锯片 + +#bCal - Block-Caliber (1/16 Block = 1 bCal) +#Casings +item.immersiveintelligence.ammo_casing.artillery_8bcal.name=榴弹炮弹壳 +item.immersiveintelligence.artillery_8bCal.core.name=榴弹炮弹战斗部 +item.immersiveintelligence.artillery_8bCal.bullet.name=榴弹炮弹 + +item.immersiveintelligence.ammo_casing.medium_artillery_6bcal.name=中型火炮弹壳 +item.immersiveintelligence.artillery_6bcal_long.core.name=中型炮弹战斗部 +item.immersiveintelligence.artillery_6bcal_long.bullet.name=中型炮弹 + +item.immersiveintelligence.ammo_casing.light_artillery_6bcal.name=轻型火炮弹壳 +item.immersiveintelligence.artillery_6bcal.core.name=轻型火炮弹战斗部 +item.immersiveintelligence.artillery_6bcal.bullet.name=轻型火炮弹 + +item.immersiveintelligence.ammo_casing.light_gun_4bcal.name=轻型枪弹弹壳 +item.immersiveintelligence.gun_4bcal.core.name=轻型枪弹战斗部 +item.immersiveintelligence.gun_4bcal.bullet.name=轻型枪弹 + +item.immersiveintelligence.ammo_casing.rocket_6bcal.name=火箭外壳 +item.immersiveintelligence.rocket_6bcal.core.name=火箭战斗部 +item.immersiveintelligence.rocket_6bcal.bullet.name=火箭 + +item.immersiveintelligence.ammo_casing.heavy_rocket_10bcal.name=重型火箭外壳 +item.immersiveintelligence.rocket_10bcal.core.name=重型火箭战斗部 +item.immersiveintelligence.rocket_10bcal.bullet.name=重型火箭 + +item.immersiveintelligence.ammo_casing.guided_missile_6bcal.name=线导导弹外壳 +item.immersiveintelligence.missile_guided_6bcal.core.name=线导导弹战斗部 +item.immersiveintelligence.missile_guided_6bcal.bullet.name=线导导弹 + +item.immersiveintelligence.ammo_casing.mortar_6bcal.name=迫击炮弹壳 +item.immersiveintelligence.mortar_6bcal.core.name=迫击炮弹战斗部 +item.immersiveintelligence.mortar_6bcal.bullet.name=迫击炮弹 + +item.immersiveintelligence.ammo_casing.mg_2bcal.name=机枪弹壳 +item.immersiveintelligence.mg_2bcal.core.name=机枪弹头 +item.immersiveintelligence.mg_2bcal.bullet.name=机枪弹 + +item.immersiveintelligence.ammo_casing.stg_1bcal.name=突击步枪弹壳 +item.immersiveintelligence.stg_1bcal.core.name=突击步枪弹头 +item.immersiveintelligence.stg_1bcal.bullet.name=突击步枪弹 + +item.immersiveintelligence.ammo_casing.smg_1bcal.name=冲锋枪弹壳 +item.immersiveintelligence.smg_1bcal.core.name=冲锋枪弹头 +item.immersiveintelligence.smg_1bcal.bullet.name=冲锋枪弹 + +item.immersiveintelligence.revolver_1bcal.core.name=转轮手枪弹壳 +item.immersiveintelligence.revolver_1bcal.bullet.name=转轮手枪弹 + +item.immersiveintelligence.ammo_casing.autocannon_3bcal.name=机炮弹壳 +item.immersiveintelligence.autocannon_3bcal.core.name=机炮弹战斗部 +item.immersiveintelligence.autocannon_3bcal.bullet.name=机炮弹 + +item.immersiveintelligence.grenade_5bcal.core.name=手榴弹战斗部 +item.immersiveintelligence.grenade_5bcal.bullet.name=手榴弹 + +item.immersiveengineering.bullet.empty_casing.name=转轮手枪弹壳 +item.immersiveengineering.mold.bullet_casing.name=金属冲压模板: 转轮手枪弹壳 +item.immersiveintelligence.railgun_grenade_4bcal.core.name=磁轨炮榴弹战斗部 +item.immersiveintelligence.railgun_grenade_4bcal.bullet.name=磁轨炮榴弹 + +#Components + +item.immersiveintelligence.bullet.component.tnt.name=三硝基甲苯 +item.immersiveintelligence.bullet.component.rdx.name=黑索金 +item.immersiveintelligence.bullet.component.hmx.name=奥克托金 +item.immersiveintelligence.bullet.component.white_phosphorus.name=白磷 +item.immersiveintelligence.bullet.component.firework.name=烟火 +item.immersiveintelligence.bullet.component.tesla.name=电荷发射器 +item.immersiveintelligence.bullet.component.tracer_powder.name=示踪剂 +item.immersiveintelligence.bullet.component.flare_powder.name=闪光粉 +item.immersiveintelligence.bullet.component.propaganda.name=宣传弹 +#shh! it's a secret! +item.immersiveintelligence.bullet.component.fish.name=鱼弹(?) +item.immersiveintelligence.bullet.component.nuke.name=核战斗部 + +#Cores + +item.immersiveintelligence.bullet.component.core_steel.name=钢制弹芯 +item.immersiveintelligence.bullet.component.core_brass.name=黄铜弹芯 +item.immersiveintelligence.bullet.component.core_copper.name=铜质弹芯 +item.immersiveintelligence.bullet.component.core_iron.name=铁质弹芯 +item.immersiveintelligence.bullet.component.core_tungsten.name=钨质弹芯 +item.immersiveintelligence.bullet.component.core_lead.name=铅质弹芯 +item.immersiveintelligence.bullet.component.core_uranium.name=铀质弹芯 +item.immersiveintelligence.bullet.component.core_pabilium.name=P大神钢弹芯 +item.immersiveintelligence.bullet.component.core_rubber.name=橡胶弹芯 + +item.immersiveintelligence.bullet_magazine.machinegun.name=机枪弹匣 +item.immersiveintelligence.bullet_magazine.submachinegun.name=冲锋枪弹匣 +item.immersiveintelligence.bullet_magazine.submachinegun_drum.name=机枪弹鼓 +item.immersiveintelligence.bullet_magazine.automatic_revolver.name=自动转轮手枪弹匣 +item.immersiveintelligence.bullet_magazine.assault_rifle.name=突击步枪弹匣 +item.immersiveintelligence.bullet_magazine.autocannon.name=机炮弹匣 +item.immersiveintelligence.bullet_magazine.cpds_drum.name=CPDS弹鼓 +item.immersiveintelligence.bullet_magazine.rifle.name=步枪弹匣 + +item.immersiveintelligence.casing_pouch.name=废弃包装袋 + +item.immersiveintelligence.motor_gear.copper.name=铜质齿轮 +item.immersiveintelligence.motor_gear.brass.name=黄铜齿轮 +item.immersiveintelligence.motor_gear.iron.name=铁质齿轮 +item.immersiveintelligence.motor_gear.steel.name=钢质齿轮 +item.immersiveintelligence.motor_gear.tungsten.name=钨质齿轮 + +item.immersiveintelligence.motor_belt.cloth.name=布质传动带 +item.immersiveintelligence.motor_belt.steel.name=钢质传动带 +item.immersiveintelligence.motor_belt.rubber.name=橡胶皮带 + +item.immersiveintelligence.wrench.name=工程师扳手 +item.immersiveintelligence.electric_wrench.name=工程师电扳手 + +item.immersiveintelligence.tachometer.name=工程师转速计 +item.immersiveintelligence.torque_meter.name=工程师扭矩计 + +#Blocks + +tile.immersiveintelligence.ore.platinum.name=铂矿石 +tile.immersiveintelligence.sheetmetal.platinum.name=铂板块 +tile.immersiveintelligence.storage.platinum.name=铂块 +tile.immersiveintelligence.sheetmetal_slab.platinum.name=铂板台阶 +tile.immersiveintelligence.storage_slab.platinum.name=铂台阶 + +tile.immersiveintelligence.ore.zinc.name=锌矿石 +tile.immersiveintelligence.sheetmetal.zinc.name=锌板块 +tile.immersiveintelligence.storage.zinc.name=锌块 +tile.immersiveintelligence.sheetmetal_slab.zinc.name=锌板台阶 +tile.immersiveintelligence.storage_slab.zinc.name=锌台阶 + +tile.immersiveintelligence.ore.tungsten.name=钨矿石 +tile.immersiveintelligence.sheetmetal.tungsten.name=钨板块 +tile.immersiveintelligence.storage.tungsten.name=钨块 +tile.immersiveintelligence.sheetmetal_slab.tungsten.name=钨板台阶 +tile.immersiveintelligence.storage_slab.tungsten.name=钨台阶 + +tile.immersiveintelligence.ore.salt.name=盐矿石 + +tile.immersiveintelligence.ore.fluorite.name=下界氟石矿 +tile.immersiveintelligence.ore.phosphorus.name=下界磷石矿 + +tile.immersiveintelligence.sheetmetal.brass.name=黄铜板块 +tile.immersiveintelligence.storage.brass.name=黄铜块 +tile.immersiveintelligence.sheetmetal_slab.brass.name=黄铜板台阶 +tile.immersiveintelligence.storage_slab.brass.name=黄铜台阶 + +tile.immersiveintelligence.sheetmetal.duraluminium.name=硬铝合金板块 +tile.immersiveintelligence.storage.duraluminium.name=硬铝合金块 +tile.immersiveintelligence.sheetmetal_slab.duraluminium.name=硬铝合金板台阶 +tile.immersiveintelligence.storage_slab.duraluminium.name=硬铝合金台阶 + +tile.immersiveintelligence.fence_brass.name=黄铜栅栏 +tile.immersiveintelligence.fence_tungsten.name=钨栅栏 +tile.immersiveintelligence.fence_zinc.name=锌栅栏 +tile.immersiveintelligence.fence_platinum.name=铂栅栏 +tile.immersiveintelligence.fence_duraluminium.name=硬化铝合金栅栏 + +tile.immersiveintelligence.rubber_log.raw.name=橡胶木 +tile.immersiveintelligence.rubber_log.rebbur.name=乳胶提取孔 +tile.immersiveintelligence.rubber_log.stripped.name=剥皮的乳胶提取点 +tile.immersiveintelligence.rubber_leaves.rubber.name=橡胶树叶 +tile.immersiveintelligence.rubber_sapling.rubber.name=橡胶树苗 +tile.immersiveintelligence.charred_log.main.name=烧焦的原木 + +tile.immersiveintelligence.advanced_explosives.rdx.name=黑索金炸药 +tile.immersiveintelligence.advanced_explosives.hmx.name=奥克托金炸药 +tile.immersiveintelligence.advanced_explosives.white_phosphorus.name=白磷炸药 + +tile.immersiveintelligence.concrete_decoration.concrete_bricks.name=混凝土砖 +tile.immersiveintelligence.concrete_decoration_slab.concrete_bricks.name=混凝土台阶 +tile.immersiveintelligence.concrete_decoration_stairs_concrete_bricks.name=混凝土楼梯 + +tile.immersiveintelligence.concrete_decoration.sturdy_concrete_bricks.name=强化混凝土砖 +tile.immersiveintelligence.concrete_decoration_slab.sturdy_concrete_bricks.name=强化混凝土台阶 +tile.immersiveintelligence.concrete_decoration_stairs_sturdy_concrete_bricks.name=强化混凝土楼梯 + +tile.immersiveintelligence.concrete_decoration.uberconcrete.name=德三蜜汁超级混凝土砖 +tile.immersiveintelligence.concrete_decoration_slab.uberconcrete.name=德三蜜汁超级混凝土台阶 +tile.immersiveintelligence.concrete_decoration_stairs_uberconcrete.name=德三蜜汁超级混凝土楼梯 + +tile.immersiveintelligence.concrete_decoration.concrete_bricks_gray.name=灰色混凝土砖 +tile.immersiveintelligence.concrete_decoration_slab.concrete_bricks_gray.name=灰色混凝土台阶 +tile.immersiveintelligence.concrete_decoration_stairs_concrete_bricks_gray.name=灰色混凝土楼梯 + +tile.immersiveintelligence.concrete_decoration.sturdy_concrete_bricks_gray.name=灰色强化混凝土砖 +tile.immersiveintelligence.concrete_decoration_slab.sturdy_concrete_bricks_gray.name=灰色强化混凝土台阶 +tile.immersiveintelligence.concrete_decoration_stairs_sturdy_concrete_bricks_gray.name=灰色强化混凝土楼梯 + +tile.immersiveintelligence.concrete_decoration.uberconcrete_gray.name=灰色德三蜜汁超级混凝土砖 +tile.immersiveintelligence.concrete_decoration_slab.uberconcrete_gray.name=灰色德三蜜汁超级混凝土台阶 +tile.immersiveintelligence.concrete_decoration_stairs_uberconcrete_gray.name=灰色德三蜜汁超级混凝土楼梯 + +tile.immersiveintelligence.metal_decoration.electronic_engineering.name=电子工程块 +tile.immersiveintelligence.metal_decoration.advanced_electronic_engineering.name=先进电子工程块 +tile.immersiveintelligence.metal_decoration.computer_engineering.name=计算机工程块 +tile.immersiveintelligence.metal_decoration.mechanical_engineering.name=机械工程块 +tile.immersiveintelligence.metal_decoration.heavy_mechanical_engineering.name=重型机械工程块 + +tile.immersiveintelligence.metal_decoration.coil_data.name=数据线圈块 +tile.immersiveintelligence.cloth_decoration.coil_rope.name=绳圈块 +tile.immersiveintelligence.metal_decoration.coil_steel_motor_belt.name=钢质传动带块 +tile.immersiveintelligence.cloth_decoration.coil_cloth_motor_belt.name=布制传动带块 +tile.immersiveintelligence.cloth_decoration.coil_rubber_motor_belt.name=橡胶传动带块 + +tile.immersiveintelligence.mine_sign.mine_sign.name=地雷警示标识 +tile.immersiveintelligence.mine_sign.mine_sign.desc=注意!前方雷区! + +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_conveyor.name=橡胶传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_uncontrolled.name=橡胶传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_uncontrolled.flavour=忽略红石信号 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_dropper.name=橡胶卸货传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_droppercovered.name=绝缘橡胶卸货传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_vertical.name=垂直橡胶传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_splitter.name=橡胶分流传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_covered.name=绝缘橡胶传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_verticalcovered.name=绝缘垂直橡胶传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_extract.name=橡胶抽取传送带 +tile.immersiveengineering.conveyor.immersiveintelligence:rubber_extractcovered.name=绝缘橡胶抽取传送带 + +#due to how IE's base classes are designed, I had to use a "main" as only value in IIBlockTypes_Mine +#redundant? yes, works? yes +tile.immersiveintelligence.tripmine.main.name=绊雷 +tile.immersiveintelligence.tripmine.core.name=绊雷战斗部 +#Same as above (for the landmine and explosives), this is due to how the projectile workshop gets the translation +item.immersiveintelligence.tripmine.core.name=绊雷战斗部 +item.immersiveintelligence.ammo_casing.tripmine.name=绊雷壳体 +tile.immersiveintelligence.tripwire_connector.main.name=绊雷链接器 + +tile.immersiveintelligence.tellermine.main.name=地雷 +tile.immersiveintelligence.tellermine.core.name=地雷战斗部 +item.immersiveintelligence.tellermine.core.name=地雷战斗部 +item.immersiveintelligence.ammo_casing.tellermine.name=地雷壳体 + +tile.immersiveintelligence.radio_explosives.main.name=无线电遥控爆炸装置 +tile.immersiveintelligence.radio_explosives.core.name=无线电遥控爆炸装置核心 +item.immersiveintelligence.radio_explosives.core.name=无线电遥控爆炸装置核心 +item.immersiveintelligence.ammo_casing.radio_explosives.name=无线电挎包 + +item.immersiveintelligence.naval_mine.bullet.name=水雷 +item.immersiveintelligence.naval_mine.core.name=水雷战斗部 +item.immersiveintelligence.ammo_casing.naval_mine.name=水雷壳体 + +tile.immersiveintelligence.stone_decoration.sandbags.name=沙袋 + +tile.immersiveintelligence.metal_device.metal_crate.name=钢质储存箱 +tile.immersiveintelligence.metal_device.small_data_buffer.name=小型数据缓冲器 +tile.immersiveintelligence.metal_device.item_buffer.name=物品缓冲器 +tile.immersiveintelligence.metal_device.timed_buffer.name=定时缓冲器 +tile.immersiveintelligence.metal_device.redstone_buffer.name=红石缓冲器 +tile.immersiveintelligence.metal_device.punchtape_reader.name=打孔纸带读取器 +tile.immersiveintelligence.metal_device.data_router.name=数据路由器 +tile.immersiveintelligence.metal_device.data_merger.name=数据合并器 + +tile.immersiveintelligence.metal_device.ammunition_crate.name=弹药箱 +tile.immersiveintelligence.metal_device.medic_crate.name=医疗箱 +tile.immersiveintelligence.metal_device.repair_crate.name=维修工具箱 + +tile.immersiveintelligence.metal_device.latex_collector.name=乳胶收集器 + +tile.immersiveintelligence.metal_device1.co2_filter.name=二氧化碳过滤器 + +tile.immersiveintelligence.gearbox.wooden_gearbox.name=木制齿轮箱 +tile.immersiveintelligence.mechanical_device.wooden_transmission_box.name=木制变速箱 +tile.immersiveintelligence.mechanical_device.creative_transmission_box.name=创造变速箱 +tile.immersiveintelligence.mechanical_device1.mechanical_pump.name=机械泵 + +tile.immersiveintelligence.mechanical_connector.iron_wheel.name=铁质传动轮 +tile.immersiveintelligence.mechanical_connector.steel_wheel.name=钢制传动轮 + +tile.immersiveintelligence.small_crate.wooden_crate_box.name=小型木制储存箱(盒状) +tile.immersiveintelligence.small_crate.wooden_crate_cube.name=小型木制储存箱(块状) +tile.immersiveintelligence.small_crate.wooden_crate_wide.name=小型木制储存箱(扁状) +tile.immersiveintelligence.small_crate.metal_crate_box.name=小型金属储存箱(盒状) +tile.immersiveintelligence.small_crate.metal_crate_cube.name=小型金属储存箱(块状) +tile.immersiveintelligence.small_crate.metal_crate_wide.name=小型金属储存箱(扁状) +tile.immersiveintelligence.small_crate.reinforced_crate_box.name=小型强化储存箱(盒状) +tile.immersiveintelligence.small_crate.reinforced_crate_cube.name=小型强化储存箱(块状) +tile.immersiveintelligence.small_crate.reinforced_crate_wide.name=小型强化储存箱(扁状) + +tile.immersiveintelligence.metal_fortification.steel_chain_fence.name=钢链栅栏 +tile.immersiveintelligence.metal_fortification.brass_chain_fence.name=黄铜链栅栏 +tile.immersiveintelligence.metal_fortification.aluminium_chain_fence.name=硬化铝合金链栅栏 + +tile.immersiveintelligence.wooden_fortification.wooden_steel_chain_fence.name=木钢复合链状栅栏 +tile.immersiveintelligence.wooden_fortification.wooden_brass_chain_fence.name=木黄铜复合链状栅栏 + +tile.immersiveintelligence.metal_fortification1.tank_trap.name=捷克刺猬 + +tile.immersiveintelligence.metal_multiblock.data_input_machine.storage=数据输入机-存储 +tile.immersiveintelligence.metal_multiblock.data_input_machine.programming=数据输入机-编程 +tile.immersiveintelligence.metal_multiblock.data_input_machine.edit=数据输入机-编辑变量 +tile.immersiveintelligence.metal_multiblock.data_input_machine.label_punchtapes=打孔纸带保存 + +tile.immersiveintelligence.data_connector.data_connector.name=数据连接器 +tile.immersiveintelligence.data_connector.data_relay.name=数据中继 +tile.immersiveintelligence.data_connector.data_duplex_connector.name=数据双工连接器 +tile.immersiveintelligence.data_connector.chemical_dispenser.name=化学分配器 + +tile.immersiveintelligence.data_connector.alarm_siren.name=警报器 +tile.immersiveintelligence.data_connector.programmable_speaker.name=可编程扬声器 + +tile.immersiveintelligence.data_connector.inserter.name=物品抓取机械臂 +tile.immersiveintelligence.data_connector.advanced_inserter.name=高级抓取机械臂 +tile.immersiveintelligence.data_connector.fluid_inserter.name=流体输入器 +tile.immersiveintelligence.data_connector.advanced_fluid_inserter.name=高级流体输入器 + +tile.immersiveintelligence.data_connector.data_debugger.name=数据调试器 + +tile.immersiveintelligence.circuit_socket.basic.name=基础电路插座 +tile.immersiveintelligence.circuit_socket.advanced.name=高级电路插座 +tile.immersiveintelligence.circuit_socket.processor.name=处理器电路插座 + +#Multiblock names + +tile.immersiveintelligence.wooden_multiblock.skycrate_station.name=飞箱索道站 +tile.immersiveintelligence.wooden_multiblock.skycart_station.name=天车索道站 +tile.immersiveintelligence.wooden_multiblock.skycrate_post.name=索道中继点 +tile.immersiveintelligence.wooden_multiblock.sawmill.name=锯木厂 +tile.immersiveintelligence.metal_multiblock.data_input_machine.name=数据输入机 +tile.immersiveintelligence.metal_multiblock.arithmetic_logic_machine.name=算术逻辑机 +tile.immersiveintelligence.metal_multiblock.radio_station.name=无线电基站 +tile.immersiveintelligence.metal_multiblock.printing_press.name=打印机 +tile.immersiveintelligence.metal_multiblock.chemical_bath.name=化学浸洗器 +tile.immersiveintelligence.metal_multiblock.electrolyzer.name=电解机 +tile.immersiveintelligence.metal_multiblock.precision_assembler.name=精密装配机 +tile.immersiveintelligence.metal_multiblock.periscope.name=潜望镜 +tile.immersiveintelligence.metal_multiblock.artillery_howitzer.name=榴弹炮 +tile.immersiveintelligence.metal_multiblock.ballistic_computer.name=弹道计算机 +tile.immersiveintelligence.metal_multiblock.missile_silo.name=导弹发射井 +tile.immersiveintelligence.metal_multiblock.scanning_conveyor.name=传送带扫描器 +tile.immersiveintelligence.metal_multiblock.packer.name=包装机 +tile.immersiveintelligence.metal_multiblock.minecart_packer.name=铁路包装机 + +tile.immersiveintelligence.metal_multiblock1.redstone_data_interface.name=红石数据接口 +tile.immersiveintelligence.metal_multiblock1.vehicle_workshop.name=载具工坊 +tile.immersiveintelligence.metal_multiblock1.vulcanizer.name=硫化机 +tile.immersiveintelligence.metal_multiblock1.coagulator.name=凝固器 + +tile.immersiveintelligence.metal_multiblock1.fuel_station.name=加油站 +tile.immersiveintelligence.metal_multiblock1.emplacement.name=武器站 +tile.immersiveintelligence.metal_multiblock1.radar.name=雷达 + +tile.immersiveintelligence.gate_multiblock.wooden.name=木质栅栏门 +tile.immersiveintelligence.gate_multiblock.steel.name=钢质栅栏门 +tile.immersiveintelligence.gate_multiblock.aluminium.name=铝质栅栏门 +tile.immersiveintelligence.gate_multiblock.wooden_chain.name=木质链状栅栏门 +tile.immersiveintelligence.gate_multiblock.steel_chain.name=钢质链状栅栏门 +tile.immersiveintelligence.gate_multiblock.aluminium_chain.name=铝质链状栅栏门 + +tile.immersiveintelligence.metal_multiblock1.flagpole.name=旗杆 + +tile.immersiveintelligence.gate_multiblock.wooden_fence_gate.name=木质栅栏门 +tile.immersiveintelligence.gate_multiblock.wooden_chain_fence_gate.name=木质链状栅栏门 +tile.immersiveintelligence.gate_multiblock.steel_fence_gate.name=钢质栅栏门 +tile.immersiveintelligence.gate_multiblock.steel_chain_fence_gate.name=钢质链状栅栏门 +tile.immersiveintelligence.gate_multiblock.aluminium_fence_gate.name=铝质栅栏门 +tile.immersiveintelligence.gate_multiblock.aluminium_chain_fence_gate.name=铝质链状栅栏门 + +tile.immersiveintelligence.metal_multiblock1.filler.name=填充器 +tile.immersiveintelligence.metal_multiblock1.ammunition_assembler.name=弹药装配器 +tile.immersiveintelligence.metal_multiblock1.heavy_ammunition_assembler.name=重型弹药装配器 +tile.immersiveintelligence.metal_multiblock1.projectile_workshop.name=工坊 + +tile.immersiveintelligence.metal_multiblock1.chemical_painter.name=化学染色机 +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb=采用显示模式:RGB +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb.r=Red +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb.g=Green +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.rgb.b=Blue + +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk=采用显示模式:CMYK +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.c=C青色 +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.m=M洋红 +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.y=Y黄色 +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.cmyk.k=k黑色 + +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv=Display in HSV +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv.h=Hue +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv.s=Saturation +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color.hsv.v=Value +desc.immersiveintelligence.metal_multiblock1.chemical_painter.color_copied=色彩已复制! + +desc.immersiveengineering.info.multiblock.II:SkycrateStation=飞箱索道站 +desc.immersiveengineering.info.multiblock.II:SkycartStation=天车索道站 +desc.immersiveengineering.info.multiblock.II:SkycratePost=索道中继点 +desc.immersiveengineering.info.multiblock.II:Sawmill=锯木厂 +desc.immersiveengineering.info.multiblock.II:DataInputMachine=数据输入机 +desc.immersiveengineering.info.multiblock.II:ArithmeticLogicMachine=算术逻辑机 +desc.immersiveengineering.info.multiblock.II:RadioStation=无线电基站 +desc.immersiveengineering.info.multiblock.II:PrintingPress=打印机 +desc.immersiveengineering.info.multiblock.II:ChemicalBath=化学浸洗机 +desc.immersiveengineering.info.multiblock.II:Electrolyzer=电解机 +desc.immersiveengineering.info.multiblock.II:PrecisionAssembler=精密装配机 +desc.immersiveengineering.info.multiblock.II:Periscope=潜望镜 +desc.immersiveengineering.info.multiblock.II:ArtilleryHowitzer=榴弹炮 +desc.immersiveengineering.info.multiblock.II:BallisticComputer=弹道计算机 +desc.immersiveengineering.info.multiblock.II:MissileSilo=导弹发射井 +desc.immersiveengineering.info.multiblock.II:ScanningConveyor=传送带扫描器 +desc.immersiveengineering.info.multiblock.II:Packer=包装机 +desc.immersiveengineering.info.multiblock.II:MinecartPacker=铁路包装机 + +desc.immersiveengineering.info.multiblock.II:RedstoneDataInterface=红石-数据接口 + +desc.immersiveengineering.info.multiblock.II:VehicleWorkshop=载具工坊 +desc.immersiveengineering.info.multiblock.II:FuelStation=加油站 +desc.immersiveengineering.info.multiblock.II:Vulcanizer=硫化机 +desc.immersiveengineering.info.multiblock.II:Coagulator=凝固器 + +desc.immersiveengineering.info.multiblock.II:Emplacement=武器站 +desc.immersiveengineering.info.multiblock.II:Radar=电探 +desc.immersiveengineering.info.multiblock.II:Flagpole=旗杆 + +desc.immersiveengineering.info.multiblock.II:Filler=填充器 +desc.immersiveengineering.info.multiblock.II:AmmunitionWorkshop=弹药工坊 +desc.immersiveengineering.info.multiblock.II:HeavyAmmunitionAssembler=重型弹药装配器 +desc.immersiveengineering.info.multiblock.II:ProjectileWorkshop=弹头工坊 +desc.immersiveengineering.info.multiblock.II:ChemicalPainter=化学染色机 + +desc.immersiveengineering.info.multiblock.II:WoodenFenceGate=木质栅栏门 +desc.immersiveengineering.info.multiblock.II:WoodenChainFenceGate=木质链状栅栏门 +desc.immersiveengineering.info.multiblock.II:SteelFenceGate=钢质栅栏门 +desc.immersiveengineering.info.multiblock.II:SteelChainFenceGate=钢质链状栅栏门 +desc.immersiveengineering.info.multiblock.II:AluminiumFenceGate=铝质栅栏门 +desc.immersiveengineering.info.multiblock.II:AluminiumChainFenceGate=铝质链状栅栏门 + +#Fluids +fluid.ink=墨水 +fluid.ink_cyan=青色墨水 +fluid.ink_magenta=洋红墨水 +fluid.ink_yellow=黄色墨水 + +fluid.etching_acid=蚀刻酸 +fluid.hydrofluoric_acid=氢氟酸 +fluid.sulfuric_acid=硫酸 +fluid.nitric_acid=硝酸 +fluid.formic_acid=甲酸 + +fluid.oxygen=氧气 +fluid.hydrogen=氢气 +fluid.chlorine=氯气 +fluid.carbon_dioxide=二氧化碳 +fluid.carbon_monoxide=一氧化碳 +fluid.mustard_gas=芥子气 + +fluid.brine=盐水 + +fluid.ammonia=氨气 +fluid.hexamine=乌洛托品 +fluid.methanol=甲醇 + +fluid.latex=乳胶 + +#Dusts +dust.gunpowder=火药 +dust.sulfur=硫磺 +dust.sawdust=锯末 +dust.sand=沙子 +dust.gravel=砾石 + +#Sounds + +subtitle.immersiveintelligence.siren=警报鸣叫 +subtitle.immersiveintelligence.punchtape_reader=打孔纸带运转 +subtitle.immersiveintelligence.paper_eject=纸张下落 + +subtitle.immersiveintelligence.radio_beep=短无线电蜂鸣 +subtitle.immersiveintelligence.radio_noise=无线电噪音 +subtitle.immersiveintelligence.debugger_beep=数据调试器哔声 + +subtitle.immersiveintelligence.rolling=旋转机构运动 +subtitle.immersiveintelligence.chain=链条被抬起 +subtitle.immersiveintelligence.lamp=电灯嗡鸣 +subtitle.immersiveintelligence.heating=加热元件工作 +subtitle.immersiveintelligence.saw=锯刃旋转 +subtitle.immersiveintelligence.saw_idle=锯刃切割中 + +subtitle.immersiveintelligence.electric_motor_forward=电机轰鸣 +subtitle.immersiveintelligence.electric_motor_backward=电机反转 +subtitle.immersiveintelligence.electric_motor_heavy_forward=重型电机轰鸣 +subtitle.immersiveintelligence.electric_motor_heavy_backward=重型电机反转 +subtitle.immersiveintelligence.turntable_forward=转盘向右转 +subtitle.immersiveintelligence.turntable_backward=转盘向左转 +subtitle.immersiveintelligence.turntable_heavy_forward=重型转盘向右转 +subtitle.immersiveintelligence.turntable_heavy_backward=重型转盘向左转 +subtitle.immersiveintelligence.sliding_door_open=滑动门开启 +subtitle.immersiveintelligence.sliding_door_close=滑动门关闭 + +subtitle.immersiveintelligence.gun_platform_rotating=炮台旋转 + +subtitle.immersiveintelligence.distant_artillery=远程火炮射击 +subtitle.immersiveintelligence.distant_artillery_impact=远程火炮冲击 +subtitle.immersiveintelligence.distant_gunshot=远距离射击 +subtitle.immersiveintelligence.dryfire=枪无法开火 + +subtitle.immersiveintelligence.casing_pickup=弹壳落在袋子里 + +subtitle.immersiveintelligence.machinegun_shot=机枪开火 +subtitle.immersiveintelligence.machinegun_shot_distant=远距离机枪开火 +subtitle.immersiveintelligence.machinegun_reload=机枪装填 +subtitle.immersiveintelligence.machinegun_unload=机枪弹匣被丢弃 + +subtitle.immersiveintelligence.submachinegun_shot=冲锋枪开火 +subtitle.immersiveintelligence.submachinegun_shot_distant=远距离冲锋枪开火 +subtitle.immersiveintelligence.submachinegun_reload=冲锋枪装填 +subtitle.immersiveintelligence.submachinegun_unload=冲锋枪弹匣被丢弃 + +subtitle.immersiveintelligence.assault_rifle_shot=突击步枪开火 +subtitle.immersiveintelligence.assault_rifle_shot_distant=远距离突击步枪开火 +subtitle.immersiveintelligence.assault_rifle_reload=突击步枪装填 +subtitle.immersiveintelligence.assault_rifle_unload=突击步枪弹匣被丢弃 +subtitle.immersiveintelligence.assault_rifle_mode_change=拨动快慢机 +subtitle.immersiveintelligence.assault_rifle_load_grenade=枪榴弹装填 + +subtitle.immersiveintelligence.rifle_shot=步枪开火 +subtitle.immersiveintelligence.rifle_shot_distant=远距离步枪开火 +subtitle.immersiveintelligence.rifle_load=步枪装填 +subtitle.immersiveintelligence.rifle_load_magazine=步枪弹匣装填 +subtitle.immersiveintelligence.rifle_unload_magazine=步枪弹匣被丢弃 + +subtitle.immersiveintelligence.magazine_load=弹匣重装填弹药 + +subtitle.immersiveintelligence.howitzer_shot=榴弹炮开火 +subtitle.immersiveintelligence.howitzer_shot_distant=远距离榴弹炮开火 +subtitle.immersiveintelligence.howitzer_shell_pick=取出榴弹炮弹 +subtitle.immersiveintelligence.howitzer_shell_put=放置榴弹炮弹 + +subtitle.immersiveintelligence.inserter=机械臂噪声 + +subtitle.immersiveintelligence.impact_metal=投射物穿透金属 +subtitle.immersiveintelligence.ricochet_metal=投射物在金属上弹跳 + +subtitle.immersiveintelligence.grenade_throw=投掷手榴弹 +subtitle.immersiveintelligence.artillery_impact=榴弹炮弹坠落 +subtitle.immersiveintelligence.bullet_flyby=子弹飞行 +subtitle.immersiveintelligence.bullet_impact=投射物冲击 +subtitle.immersiveintelligence.bullet_ricochet=投射物弹走 + +subtitle.immersiveintelligence.light_engine_start=轻型载具发动 +subtitle.immersiveintelligence.light_engine=轻型载具引擎声 +subtitle.immersiveintelligence.vehicle_horn=载具鸣笛 + +subtitle.immersiveintelligence.drone_propeller=螺旋桨旋转 + +subtitle.immersiveintelligence.fuel_station=燃油泵入 +subtitle.immersiveintelligence.welding=接线中 +subtitle.immersiveintelligence.sawmill=锯木厂工作 + +subtitle.immersiveintelligence.drawer_open=抽屉滑出 +subtitle.immersiveintelligence.drawer_close=抽屉滑入 +subtitle.immersiveintelligence.metal_locker_open=储物柜门打开 +subtitle.immersiveintelligence.metal_locker_close=储物柜门关闭 +subtitle.immersiveintelligence.metal_hatch_open=金属舱门打开 +subtitle.immersiveintelligence.metal_hatch_close=金属舱门关闭 +subtitle.immersiveintelligence.vise_open=老虎钳收紧 +subtitle.immersiveintelligence.vise_close=老虎钳放松 + +subtitle.immersiveintelligence.motor_belt_break=传动皮带断裂 +subtitle.immersiveintelligence.motor_belt=传动皮带旋转 +subtitle.immersiveintelligence.track_break=金属传动带断裂 +subtitle.immersiveintelligence.track=金属传动带旋转 + +subtitle.immersiveintelligence.autocannon_shot=机炮开火 +subtitle.immersiveintelligence.autocannon_shot_distant=机炮远距离开火 +subtitle.immersiveintelligence.autocannon_reload=机炮装填 + +subtitle.immersiveintelligence.explosion_flare=火炬部署 +subtitle.immersiveintelligence.explosion_incendiary=爆燃 +subtitle.immersiveintelligence.explosion_nuke=核爆 + +subtitle.immersiveintelligence.mortar_shot=迫击炮开火 +subtitle.immersiveintelligence.mortar_load=迫击炮装填 + +subtitle.immersiveintelligence.mine_detector=地雷探测器蜂鸣 +subtitle.immersiveintelligence.construction=施工中 +subtitle.immersiveintelligence.weapon_placed=安装武器部署 + +subtitle.immersiveintelligence.gate_open=大门打开 +subtitle.immersiveintelligence.gate_close=大门关闭 + +#Entities + +entity.minecart_wooden_crate.name=木质储物箱矿车 +entity.minecart_reinforced_crate.name=强化木质储物箱矿车 +entity.minecart_steel_crate.name=钢质储物箱矿车 +entity.minecart_wooden_barrel.name=木桶矿车 +entity.minecart_metal_barrel.name=金属桶矿车 +entity.minecart_capacitor_lv.name=低压电容器矿车 +entity.minecart_capacitor_mv.name=中压电容器矿车 +entity.minecart_capacitor_hv.name=高压电容器矿车 +entity.minecart_capacitor_creative.name=创造电容器矿车 +#Immersive Technology Compat +entity.minecart_crate_creative.name=创造储存箱矿车 +entity.minecart_barrel_creative.name=创造储存桶矿车 +entity.minecart_steel_barrel.name=钢桶矿车 +entity.minecart_open_barrel.name=开放式金属桶矿车 + +entity.skycrate.name=Skycrate + +entity.bullet.name=Bullet +entity.shrapnel.name=Shrapnel +entity.flare.name=Flare +entity.gas_cloud.name=气体云 +entity.white_phosphorus.name=白磷爆炸 +entity.atomic_boom.name=核爆 + +entity.machinegun.name=机枪 +entity.mortar.name=迫击炮 +entity.motorbike.name=摩托车 +entity.wheel.name=轮子 +entity.seat.name=座位 +entity.field_howitzer.name=野战榴弹炮 +entity.tripod_periscope.name=三脚架潜望镜 + +entity.hans.name=汉斯 + +#Skins +skin.immersiveintelligence.anno_1880.name=Anno 1880 +skin.immersiveintelligence.anno_1880.desc=Refined, precise, ornamental +skin.immersiveintelligence.anno_1880.text=Rewarded to BluSunrize and Hazard for their great work on Immersive Engineering. + +skin.immersiveintelligence.archangel.name=Archangel +skin.immersiveintelligence.archangel.desc=Our ancestors tried to hide it... +skin.immersiveintelligence.archangel.text=At first they though that god sent the archangel as a gift for humanity. There is a reason why ancestor were scared of them... + +skin.immersiveintelligence.royal.name=Royal +skin.immersiveintelligence.royal.desc=A relic from an old empire +skin.immersiveintelligence.royal.text=An retrofuturistic imperial skin. Originally meant to be a skin for the Patreons, now granted as a reward for contribution. + +skin.immersiveintelligence.stormwind.name=Stormwind +skin.immersiveintelligence.stormwind.desc=A tribute to defenders of the sea fortress +skin.immersiveintelligence.stormwind.text=A skin inspired by the old awesome flash game "Storm Winds" + +skin.immersiveintelligence.flakmeister.name=Flakmeister +skin.immersiveintelligence.flakmeister.desc=For a renown artillerist +skin.immersiveintelligence.flakmeister.text=A skin granted to Carver, who contributed a lot and howitzized a bit more. + +skin.immersiveintelligence.blackdragon.name=Blackdragon +skin.immersiveintelligence.blackdragon.desc=For contribution, effort and content, an award +skin.immersiveintelligence.blackdragon.text=A skin granted to Blackdragon, who made great II tutorial videos on YouTube. + +skin.immersiveintelligence.eisenheim.name=Eisenheim +skin.immersiveintelligence.eisenheim.desc=The warpaint of heroes from the mountain fortress +skin.immersiveintelligence.eisenheim.text=A skin themed with the Engineer faction of the upcoming modpack, rewarded to contributors who fix 12 or more bugs. + +skin.immersiveintelligence.vanguard.name=Vanguard +skin.immersiveintelligence.vanguard.desc=For the elite of engineering supporters +skin.immersiveintelligence.vanguard.text=A skin rewarded for donating $1 or more on Patreon. + +skin.immersiveintelligence.magnate.name=Magnate +skin.immersiveintelligence.magnate.desc=For noble support of engineering progress +skin.immersiveintelligence.magnate.text=A skin rewarded for donating $5 or more on Patreon. + +skin.immersiveintelligence.investor.name=Investor +skin.immersiveintelligence.investor.desc=A little reward for big generosity +skin.immersiveintelligence.investor.text=A skin rewarded for donating $15 on Patreon. + +skin.immersiveintelligence.golden.name=Golden +skin.immersiveintelligence.golden.desc=A big reward for an extraordinary exterminators. +skin.immersiveintelligence.golden.text=A skin rewarded to those who exterminate 25 bugs. + +skin.immersiveintelligence.parasite_event.name=Parasite +skin.immersiveintelligence.parasite_event.desc=Humanity Prevails +skin.immersiveintelligence.parasite_event.text=A S&R themed skin, rewarded to participants of Sbeev's 100 Players vs Parasites video. + +skin.immersiveintelligence.wyrms.name=Wyrms +skin.immersiveintelligence.wyrms.desc=Foreign Force from the Stars +skin.immersiveintelligence.wyrms.text=A skin rewarded to Modrome, the author of the awesome mod Wyrms of Nyrus, one of our foreign allies. + +skin.immersiveintelligence.old_glory.name=Old Glory +skin.immersiveintelligence.old_glory.desc=Glory to Heroes +skin.immersiveintelligence.old_glory.text=A Poland themed skin, granted as a personal reward for contribution. + +skin.immersiveintelligence.pershing.name=Pershing +skin.immersiveintelligence.pershing.desc=Liberators Arrived +skin.immersiveintelligence.pershing.text=An America themed skin granted for helping to fix 6 or more bugs. + +skin.immersiveintelligence.zvezda.name=Zvezda +skin.immersiveintelligence.zvezda.desc=Nu... Poehali! +skin.immersiveintelligence.zvezda.text=A Soviet themed skin granted for contributors to translation and international promotion of the mod. + +skin.immersiveintelligence.vaterland.name=Vaterland +skin.immersiveintelligence.vaterland.desc=An Iron Cross +skin.immersiveintelligence.vaterland.text=A Germany themed skin. + +#Machine Upgrades +machineupgrade.immersiveintelligence.inserter=物品抓取机械臂 +machineupgrade.immersiveintelligence.inserter.desc=在储存箱中添加机械臂,可以在供电的情况下在3格的半径内自动操作. + +machineupgrade.immersiveintelligence.mg_loader=连续装弹机 +machineupgrade.immersiveintelligence.mg_loader.desc=扩大弹药舱可以在经过一些修改后直接将子弹送入机关枪,储存箱必须打开才能提供弹药.。 + +machineupgrade.immersiveintelligence.sovereignty=主权 +machineupgrade.immersiveintelligence.sovereignty.desc=允许该建筑为其所属的派系控制周围地形. + +#Sawmill +machineupgrade.immersiveintelligence.improved_gearbox=改进齿轮箱 +machineupgrade.immersiveintelligence.improved_gearbox.desc=将原装变速箱更换为改进型号会显著提高机器速度,同时增加操作所需的能量. +machineupgrade.immersiveintelligence.saw_unregulator=调节锯 +machineupgrade.immersiveintelligence.saw_unregulator.desc=调节锯以获得更高的锯末产出,但减少主要产物. + +#Flagpole +machineupgrade.immersiveintelligence.flagpole.capture_defiance=反占领 +machineupgrade.immersiveintelligence.flagpole.capture_defiance.desc=强化旗杆,提高其结构完整性以及主动占领所需的部队数量. +machineupgrade.immersiveintelligence.flagpole.taser_locks=泰瑟锁 +machineupgrade.immersiveintelligence.flagpole.taser_locks.desc=增加一个防御特斯拉线圈,会攻击试图夺取旗杆的敌人. +machineupgrade.immersiveintelligence.flagpole.distress_signal=求救信号 +machineupgrade.immersiveintelligence.flagpole.distress_signal.desc=添加一个无线电连接的警报器,当敌方部队靠近时会启动. +machineupgrade.immersiveintelligence.flagpole.unit_post=单位岗位 +machineupgrade.immersiveintelligence.flagpole.unit_post.desc=允许组成分配到此旗杆的步兵排 + +#Emplacement +machineupgrade.immersiveintelligence.emplacement.sturdy_bearings=坚固轴承 +machineupgrade.immersiveintelligence.emplacement.sturdy_bearings.desc=更高质量的轴承可以提高武器的最大旋转速度. +machineupgrade.immersiveintelligence.emplacement.emergency_smoke=应急发烟器 +machineupgrade.immersiveintelligence.emplacement.emergency_smoke.desc=当武器站的武器严重受损时,会排出烟雾以提供掩护. +machineupgrade.immersiveintelligence.emplacement.targetting=增强型锁定系统 +machineupgrade.immersiveintelligence.emplacement.targetting.desc=改进的火控系统可以更好地获取和跟踪目标,提高准确性. + +#Emplacement Weapons +machineupgrade.immersiveintelligence.emplacement.infrared_observer=红外观察器 +machineupgrade.immersiveintelligence.emplacement.infrared_observer.desc=红外观察器可以监视远处的敌人,并通过数据线缆发送他们的坐标. +machineupgrade.immersiveintelligence.emplacement.spotlight_tower=聚光灯塔 +machineupgrade.immersiveintelligence.emplacement.spotlight_tower.desc=聚光塔能够照亮敌方单位,使其迷惑,并提高友军单位的准确度. +machineupgrade.immersiveintelligence.emplacement.searchlight=探照灯 +machineupgrade.immersiveintelligence.emplacement.searchlight.desc=探照灯与雷达,红外观察器或聚光灯塔协同工作,使敌方单位迷失方向,并提高友军火力的命中率. + +machineupgrade.immersiveintelligence.emplacement.cpds=CPDS +machineupgrade.immersiveintelligence.emplacement.cpds.desc=反投射物防御系统(Counter-Projectile Defense System)是一种先进的防空武器,能够在半空中摧毁来袭的炮弹. + +machineupgrade.immersiveintelligence.emplacement.autocannon=机炮 +machineupgrade.immersiveintelligence.emplacement.autocannon.desc=四门3bCal机炮提供了优异的火力,使该武器成为可对抗空中和地面目标的通用防御武器. +machineupgrade.immersiveintelligence.emplacement.heavy_chemthrower=重型化学喷射器 +machineupgrade.immersiveintelligence.emplacement.heavy_chemthrower.desc=经典化学喷射器的重型版本,重量更重压力更高,具有便携式版本四倍的有效距离. +machineupgrade.immersiveintelligence.emplacement.heavy_railgun=重型磁轨炮 +machineupgrade.immersiveintelligence.emplacement.heavy_railgun.desc=重型磁轨炮可以提供直接火力支援,以高速的金属棒或磁轨炮榴弹刺穿敌人或设施. + +machineupgrade.immersiveintelligence.emplacement.machinegun=机枪巢 +machineupgrade.immersiveintelligence.emplacement.machinegun.desc=机枪巢可以提供压制性的自动射击,适合用以压制成群的敌人.由于其结构所限,它无法攻击空中目标. +machineupgrade.immersiveintelligence.emplacement.machinegun.heavy_barrel=重型枪管 +machineupgrade.immersiveintelligence.emplacement.machinegun.heavy_barrel.desc=重型枪管提供更高的射速,同时略微增加能承受的最大热量. +machineupgrade.immersiveintelligence.emplacement.machinegun.watercooled=水冷枪管 +machineupgrade.immersiveintelligence.emplacement.machinegun.watercooled.desc=替换原装枪管。安装后,在提供冷却液的情况下,枪管不会过热。 +machineupgrade.immersiveintelligence.emplacement.machinegun.additional_fortifications=附加防御工事 +machineupgrade.immersiveintelligence.emplacement.machinegun.additional_fortifications.desc=在机枪巢周围放置额外的沙袋可以为其提供额外的装甲并提高其耐用性. + +machineupgrade.immersiveintelligence.emplacement.mortar=迫击炮 +machineupgrade.immersiveintelligence.emplacement.mortar.desc=迫击炮在近距离提供间接火力支持,高抛弹道和大口径炮弹使其能够穿透屋顶并从上方摧毁敌人. + +machineupgrade.immersiveintelligence.emplacement.light_howitzer=轻型火炮 +machineupgrade.immersiveintelligence.emplacement.light_howitzer.desc=轻型火炮在中程提供间接火力支援,其机动性使其能够快速精确地攻击敌方阵地. + +machineupgrade.immersiveintelligence.emplacement.rocket_launcher=火箭发射器 +machineupgrade.immersiveintelligence.emplacement.rocket_launcher.desc=火箭发射器可以使用最多6枚无导向火箭进行毁灭性的区域轰炸,非常适合攻击设防地点。 + +machineupgrade.immersiveintelligence.emplacement.guided_missile_launcher=线导导弹发射器 +machineupgrade.immersiveintelligence.emplacement.guided_missile_launcher.desc=线导导弹发射器提供远程精确打击,尤其对移动目标特别有效. + +machineupgrade.immersiveintelligence.emplacement.tesla=特斯拉塔 +machineupgrade.immersiveintelligence.emplacement.tesla.desc=特斯拉塔使用高压电摧毁其攻击半径内的敌人,对电子产品尤其有效. + +#Data Input Machine +machineupgrade.immersiveintelligence.advanced_data=高级输入设备 +machineupgrade.immersiveintelligence.advanced_data.desc=将转换后的打字机替换为一个真正的全电子控制面板,允许用户输入高级数据类型,如向量、映射和数组。 + +#Arithmetic-Logic Machine +machineupgrade.immersiveintelligence.memory=内置存储 +machineupgrade.immersiveintelligence.memory.desc=增加一页内置内存用于加载和保存数据操作结果。 +machineupgrade.immersiveintelligence.circuit_racks=附加电路机架 +machineupgrade.immersiveintelligence.circuit_racks.desc=增加机架,允许在机器内部再安装两个电路。 + +#Other upgrades +machineupgrade.immersiveintelligence.core_filler=弹头填充 +machineupgrade.immersiveintelligence.core_filler.desc=为弹头工坊配备一个插入器,可以精确地将所需组件填充到弹丸中。 + +machineupgrade.immersiveintelligence.packer_fluid=流体加载器 +machineupgrade.immersiveintelligence.packer_fluid.desc=安装液体容器和一些管道.可以从容器中注入和排出液体.出于安全原因,封装机一次只能处理物品,液体或能源中的一种. + +machineupgrade.immersiveintelligence.packer_energy=能量加载器 +machineupgrade.immersiveintelligence.packer_energy.desc=安装一对电容器和一个特斯拉线圈.可以快速为能源设备充电.出于安全原因,打包机一次只能处理物品、液体或能量中的一种. + +machineupgrade.immersiveintelligence.packer_railway=铁路改造 +machineupgrade.immersiveintelligence.packer_railway.desc=将包装机的传送带替换为铁路轨道,从而可以装载和卸载矿车. + +machineupgrade.immersiveintelligence.packer_naming=命名戳 +machineupgrade.immersiveintelligence.packer_naming.desc=允许包装机命名装载的容器,可以使用过滤器和数据. + +machineupgrade.immersiveintelligence.radio_locators=无线电定位器 +machineupgrade.immersiveintelligence.radio_locators.desc=允许雷达检测无线电信号并计算其原点。增加操作所需的能量. + +machineupgrade.immersiveintelligence.rs_activation=红石激活 +machineupgrade.immersiveintelligence.rs_activation.desc=连接一个红石接线器和一对执行器.可以用红石信号打开大门. + +machineupgrade.immersiveintelligence.razor_wire=刀片刺网 +machineupgrade.immersiveintelligence.razor_wire.desc=在大门顶部绑上一根铁丝网,伤害任何敢于爬过去的敌人. + +machineupgrade.immersiveintelligence.printing_press.punchtapes=打孔纸带处理器 +machineupgrade.immersiveintelligence.printing_press.punchtapes.desc=修改印刷机的输入进纸器以允许处理打孔纸带。 +machineupgrade.immersiveintelligence.printing_press.batching=批处理机制 +machineupgrade.immersiveintelligence.printing_press.batching.desc=为印刷机添加一个热风订书机,使其能够装订页面并印刷书籍和报纸。 +machineupgrade.immersiveintelligence.printing_press.enveloper=信封机 +machineupgrade.immersiveintelligence.printing_press.enveloper.desc=修改印刷机的内部结构,使其能够将单页折叠并装入信封。 + +#Descriptions +desc.immersiveintelligence.multiblock_item=查看工程师手册来了解如何建造。 +desc.immersiveintelligence.radio_configurator_basic=允许更改基本无线电设备的频率. +desc.immersiveintelligence.radio_configurator_advanced=升级后的无线电调谐器,可以设置更高的频率. +desc.immersiveintelligence.radio_configurator_frequency=频率: %s +desc.immersiveintelligence.radio_configurator_max_frequency=最大频率: %s +desc.immersiveintelligence.naval_mine_chain_length=最大索链长度: %s +desc.immersiveintelligence.measuring_cup_size=容量: %s / %s mB +desc.immersiveintelligence.measuring_cup_cant_resize=包含流体时无法更改大小. +desc.immersiveintelligence.functional_circuit_shift=%s - 可用操作 +desc.immersiveintelligence.functional_circuit_ctrl=%s - 存储操作 +desc.immersiveintelligence.functional_circuit=允许机器执行以下操作: +desc.immersiveintelligence.functional_circuit_data=设置为执行以下操作: +desc.immersiveintelligence.data_storage_shift=%s - 存储数据 +desc.immersiveintelligence.data_storage=存储数据: +desc.immersiveintelligence.upgrade_toolbox=可用于升级机器 +desc.immersiveintelligence.cost=材料需求: + +desc.immersiveintelligence.printed_page.blank=准备打印的空页. +desc.immersiveintelligence.printed_page.text=包含某些文本的页面. +desc.immersiveintelligence.printed_page.code=包含一些用POL编程语言编写的代码的页面. +desc.immersiveintelligence.printed_page.blueprint=包含有关如何构建结构的信息的页面. +desc.immersiveintelligence.printed_page.bound_pages=各种页面装订在一起. +desc.immersiveintelligence.printed_page.newspaper=多页装订成一份报纸. +desc.immersiveintelligence.printed_page.book=多页装订成一本书. +desc.immersiveintelligence.printed_page.letter=装在信封里寄给某人的一页. +desc.immersiveintelligence.printed_page.letter_opened=一个已拆封的信封,内含一页纸. + +desc.immersiveintelligence.logistic_tag.none=未写入物流数据 +desc.immersiveintelligence.logistic_tag.info.hold=%s - 物流清单 +desc.immersiveintelligence.logistic_tag.info.main=物流清单: +desc.immersiveintelligence.logistic_tag.info.name=名称: %s +desc.immersiveintelligence.logistic_tag.info.name.none=名称: <无> +desc.immersiveintelligence.logistic_tag.info.description=描述: %s +desc.immersiveintelligence.logistic_tag.info.description.none=描述: <无> +desc.immersiveintelligence.logistic_tag.info.batch_number=批号: %s +desc.immersiveintelligence.logistic_tag.info.owner=拥有者: %s +desc.immersiveintelligence.logistic_tag.info.origin=源: %s +desc.immersiveintelligence.logistic_tag.info.destination=目的地: %s +desc.immersiveintelligence.logistic_tag.info.color=颜色: %s +desc.immersiveintelligence.logistic_tag.info.color.none=未指定颜色 + +desc.immersiveintelligence.punchtape.empty=未写入变量 +desc.immersiveintelligence.punchtape.written=被写入过的 + +desc.immersiveintelligence.infrared_enabled=§4红外§r 视野激活! +desc.immersiveintelligence.infrared_disabled=§c红外§r 视野关闭! + +desc.immersiveintelligence.assembly_scheme.used_to_create=用于创建: %s +desc.immersiveintelligence.assembly_scheme.items_created=已创建的项目: %s + +desc.immersiveintelligence.info.holdControl=Hold [Ctrl] +desc.immersiveintelligence.info.holdShift=Hold [Shift] +desc.immersiveintelligence.info.holdAlt=Hold [Alt] +desc.immersiveintelligence.info.holdTab=Hold [Tab] + +desc.immersiveintelligence.assembly_scheme.info_hold1=%s - 使用的材料 +desc.immersiveintelligence.assembly_scheme.info_hold2=%s - 使用的工具 +desc.immersiveintelligence.assembly_scheme.materials=使用的材料: +desc.immersiveintelligence.assembly_scheme.tools=使用的工具: + +desc.immersiveintelligence.weapon.magazine1=%s - 弹匣甲 +desc.immersiveintelligence.weapon.magazine2=%s - 弹匣乙 + + +desc.immersiveintelligence.storage_module=存储 +desc.immersiveintelligence.variables_module=变量 +desc.immersiveintelligence.memory_in_module=输入内存 +desc.immersiveintelligence.memory_out_module=输出内存 +desc.immersiveintelligence.data_module=数据 +desc.immersiveintelligence.redstone_module=红石 +desc.immersiveintelligence.data_to_redstone_module=数据转红石 +desc.immersiveintelligence.redstone_to_data_module=红石转数据 +desc.immersiveintelligence.tasks_module=任务 +desc.immersiveintelligence.status_module=状态 +desc.immersiveintelligence.labeler_module=标签 + +desc.immersiveintelligence.map_module=地图 +desc.immersiveintelligence.radar_module=雷达 +desc.immersiveintelligence.faction_module=派系管理 + +desc.immersiveintelligence.configuration_module=配置 +desc.immersiveintelligence.targets_module=目标 +desc.immersiveintelligence.fire_missions_module=射击任务 + +desc.immersiveintelligence.tooltip.armor=装甲 %f%% + +desc.immersiveintelligence.upgrade_gui.title=升级机器 +desc.immersiveintelligence.upgrade_gui.tech_tree=科技树 +desc.immersiveintelligence.upgrade_gui.info=描述 +desc.immersiveintelligence.upgrade_gui.install=安装升级 +desc.immersiveintelligence.upgrade_gui.remove=移除升级 + +desc.immersiveintelligence.variable_type=类型: +desc.immersiveintelligence.variable_add_desc=添加一个新变量 +desc.immersiveintelligence.variable_set=设置 +desc.immersiveintelligence.variable_set_desc=改变变量的值 +desc.immersiveintelligence.variable_send_packet=发送数据包 +desc.immersiveintelligence.variable_send_packet_desc=将当前数据包发送到数据网络 +desc.immersiveintelligence.variable_remove_desc=移除变量 +desc.immersiveintelligence.variable_properties=属性 +desc.immersiveintelligence.variable_properties.tooltip=编辑表达式属性,例如条件变量。 +desc.immersiveintelligence.variable_value=数值: +desc.immersiveintelligence.operation=操作: + +desc.immersiveintelligence.conditional_variable=条件变量: +desc.immersiveintelligence.conditional_variable.enabled=使用条件 +desc.immersiveintelligence.conditional_variable.enabled.tooltip=启用时,表达式不会运行,除非所选变量存在于所操作的数据包中 +desc.immersiveintelligence.conditional_variable.tooltip=此表达式运行所需的变量 + +desc.immersiveintelligence.expression.accessor.tooltip=使用接收到的数据包中的变量,而不是字面值 +desc.immersiveintelligence.expression.condition.info=启用后,只有在接收到的数据包中存在所选变量时,此表达式才会运行. + +desc.immersiveintelligence.no_variable=无 +desc.immersiveintelligence.variable=变量: +desc.immersiveintelligence.variable_apply=应用 +desc.immersiveintelligence.variable_remove=移除 +desc.immersiveintelligence.no_editor=没有可用的编辑器. + +desc.immersiveintelligence.diplomacy.ownedby=属于 %s +desc.immersiveintelligence.diplomacy.noowner=废弃地产 +desc.immersiveintelligence.diplomacy.noowner_long=这处地产没有主人,它可以被认领. +desc.immersiveintelligence.diplomacy.noowner_long.company=这处地产没有主人,它的资产正在等待被收购. +desc.immersiveintelligence.diplomacy.noowner_long.republic=这块地产无人代表,它正在等待新的治理声音. +desc.immersiveintelligence.diplomacy.noowner_long.commune=这块地产处于休耕状态,等待工人和农民的手来耕作. +desc.immersiveintelligence.diplomacy.noowner_long.commisariat=这处地产无人监管,它渴望新的秩序. +desc.immersiveintelligence.diplomacy.noowner_long.free_city=没有宪章保护这片地产,它的市场和街道缺乏法律的约束. +desc.immersiveintelligence.diplomacy.noowner_long.dynasty=没有统治者宣称过这片土地,它在等待我们的旗帜升起在上面. + +desc.immersiveintelligence.diplomacy.status.member=成员 +desc.immersiveintelligence.diplomacy.status.member_long=你属于这个派系. +desc.immersiveintelligence.diplomacy.status.ally=盟友 +desc.immersiveintelligence.diplomacy.status.ally_long=在信任与合作的约束下,这个派系站在你身边. +desc.immersiveintelligence.diplomacy.status.neutral=中立 +desc.immersiveintelligence.diplomacy.status.neutral_long=没有强烈的纽带将你与这个派系联系在一起,关系是平衡且不确定的. +desc.immersiveintelligence.diplomacy.status.hostile=敌对 +desc.immersiveintelligence.diplomacy.status.hostile_long=这个派系将你视为敌人,冲突是可以预料的. + +desc.immersiveintelligence.diplomacy.ownership.claim=认领地产 +desc.immersiveintelligence.diplomacy.ownership.start_capture=扣押地产 +desc.immersiveintelligence.diplomacy.ownership.owned_chunks=区块控制: %s +desc.immersiveintelligence.diplomacy.ownership.flagpoles=旗杆放置: %s +desc.immersiveintelligence.diplomacy.ownership.law_form=法律表格: %s +desc.immersiveintelligence.diplomacy.ownership.members=成员: %s + +desc.immersiveintelligence.diplomacy.ownership.comparison.far_stronger=这个派别远远超过你的力量和影响力. +desc.immersiveintelligence.diplomacy.ownership.comparison.stronger=这一派系相对于你们的派系占有优势. +desc.immersiveintelligence.diplomacy.ownership.comparison.equal=这个派系与你的实力匹配. +desc.immersiveintelligence.diplomacy.ownership.comparison.weaker=这一派系不如你的实力. +desc.immersiveintelligence.diplomacy.ownership.comparison.far_weaker=这个派别远远不如你们的派别. + +info.immersiveintelligence.diplomacy.ownership.container_cannot_open=你不能在外国领土上访问建筑物. + +# Company +desc.immersiveintelligence.diplomacy.law_form.company=公司 +desc.immersiveintelligence.diplomacy.law_form.company.tier1=冒险(?) +desc.immersiveintelligence.diplomacy.law_form.company.tier1_long=一个拥有有限资产和有限影响力的新兴企业. +desc.immersiveintelligence.diplomacy.law_form.company.tier2=公司 +desc.immersiveintelligence.diplomacy.law_form.company.tier2_long=一个拥有工厂和员工的不断发展的企业. +desc.immersiveintelligence.diplomacy.law_form.company.tier3=公司 +desc.immersiveintelligence.diplomacy.law_form.company.tier3_long=一个拥有大量资产和有组织管理的强大企业实体. +desc.immersiveintelligence.diplomacy.law_form.company.tier4=企业集团 +desc.immersiveintelligence.diplomacy.law_form.company.tier4_long=一个由工业,武装力量和战略资源组成的庞大帝国. +desc.immersiveintelligence.diplomacy.law_form.company.tier5=信任(?) +desc.immersiveintelligence.diplomacy.law_form.company.tier5_long=一个垄断巨头控制着整个生产行业. +#Republic +desc.immersiveintelligence.diplomacy.law_form.republic=共和国 +desc.immersiveintelligence.diplomacy.law_form.republic.tier1=市议会 +desc.immersiveintelligence.diplomacy.law_form.republic.tier1_long=一小群选举产生的代表管理少数公民. +desc.immersiveintelligence.diplomacy.law_form.republic.tier2=共和国 +desc.immersiveintelligence.diplomacy.law_form.republic.tier2_long=一个有选举和人口增长的有组织的国家. +desc.immersiveintelligence.diplomacy.law_form.republic.tier3=联邦共和国 +desc.immersiveintelligence.diplomacy.law_form.republic.tier3_long=在共同代表旗帜下联合的地区联盟. +desc.immersiveintelligence.diplomacy.law_form.republic.tier4=联邦 +desc.immersiveintelligence.diplomacy.law_form.republic.tier4_long=一个庞大而有影响力的共和国,指挥着军队和基础设施. +desc.immersiveintelligence.diplomacy.law_form.republic.tier5=伟大的联邦 +desc.immersiveintelligence.diplomacy.law_form.republic.tier5_long=一个由各州组成的盛大联盟,共同进行治理和防御. +#Commune +desc.immersiveintelligence.diplomacy.law_form.commune=公社 +desc.immersiveintelligence.diplomacy.law_form.commune.tier1=集体 +desc.immersiveintelligence.diplomacy.law_form.commune.tier1_long=一小群人共同拥有财产一起工作. +desc.immersiveintelligence.diplomacy.law_form.commune.tier2=公社 +desc.immersiveintelligence.diplomacy.law_form.commune.tier2_long=一个更大的群体为共同利益而集中土地、工具和生产. +desc.immersiveintelligence.diplomacy.law_form.commune.tier3=联合公社 +desc.immersiveintelligence.diplomacy.law_form.commune.tier3_long=多个集体联合起来,表示团结和相互支持. +desc.immersiveintelligence.diplomacy.law_form.commune.tier4=地区公社 +desc.immersiveintelligence.diplomacy.law_form.commune.tier4_long=一个广泛的社区网络,共同运营多种行业. +desc.immersiveintelligence.diplomacy.law_form.commune.tier5=人民公社联合体 +desc.immersiveintelligence.diplomacy.law_form.commune.tier5_long=一个完全由集体所有和决策所维系的广阔社会. +#Commissariat +desc.immersiveintelligence.diplomacy.law_form.commisariat=政府机构 +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier1=小组1 +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier1_long=一小撮忠于政委的人,通过意识形态来维持秩序. +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier2=办事处 +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier2_long=一个负责政策和宣传的行政办公室. +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier3=地区委员会 +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier3_long=一个拥有忠诚武装力量、统治多个地区的强大权威. +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier4=高级专员公署 +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier4_long=一个具有集中生产和战争控制的指挥权力. +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier5=最高专员公署 +desc.immersiveintelligence.diplomacy.law_form.commisariat.tier5_long=一个极权主义政权,强制执行绝对秩序和不容置疑的忠诚. +#Free City +desc.immersiveintelligence.diplomacy.law_form.free_city=自由城市 +desc.immersiveintelligence.diplomacy.law_form.free_city.tier1=小村庄 +desc.immersiveintelligence.diplomacy.law_form.free_city.tier1_long=一个拥有自身地方治理的小型自治村庄. +desc.immersiveintelligence.diplomacy.law_form.free_city.tier2=村庄 +desc.immersiveintelligence.diplomacy.law_form.free_city.tier2_long=一个围绕贸易和交换组织的社区. +desc.immersiveintelligence.diplomacy.law_form.free_city.tier3=镇 +desc.immersiveintelligence.diplomacy.law_form.free_city.tier3_long=一个因商业和对外贸易而繁荣的城市. +desc.immersiveintelligence.diplomacy.law_form.free_city.tier4=城市 +desc.immersiveintelligence.diplomacy.law_form.free_city.tier4_long=一个商业和外交的中心,掌控地区市场. +desc.immersiveintelligence.diplomacy.law_form.free_city.tier5=大都市 +desc.immersiveintelligence.diplomacy.law_form.free_city.tier5_long=一个主导的城邦,其财富和贸易影响整个地区. +#Dynasty +desc.immersiveintelligence.diplomacy.law_form.dynasty=王朝 +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier1=家庭 +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier1_long=一个拥有不太大庄园及其纹章的家族谱系. +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier2=氏族 +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier2_long=一个更广的宗族,旗下有附庸和发誓效忠的盟友. +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier3=贵族家庭 +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier3_long=一个掌握军队和要塞的强化贵族世家. +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier4=王朝 +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier4_long=一个统治血脉,掌管广袤土地和多个继承人. +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier5=皇朝 +desc.immersiveintelligence.diplomacy.law_form.dynasty.tier5_long=一脉皇帝,掌握无与伦比的统治和遗产. + +desc.immersiveintelligence.diplomacy.action.disband=解散 +desc.immersiveintelligence.diplomacy.action.merge=合并 +desc.immersiveintelligence.diplomacy.action.invite_members=邀请成员 +desc.immersiveintelligence.diplomacy.action.propose=提出 +desc.immersiveintelligence.diplomacy.action.demand=需求 +desc.immersiveintelligence.diplomacy.action.declare_war=宣布战争 +desc.immersiveintelligence.diplomacy.action.declare_alliance=宣布联盟 + +desc.immersiveintelligence.diplomacy.permission.disband=解散 +desc.immersiveintelligence.diplomacy.permission.merge=合并 +desc.immersiveintelligence.diplomacy.permission.foreign_affairs=外交 +desc.immersiveintelligence.diplomacy.permission.modify_insignia=修改徽章 +desc.immersiveintelligence.diplomacy.permission.invite_members=添加成员 +desc.immersiveintelligence.diplomacy.permission.remove_members=移除成员 +desc.immersiveintelligence.diplomacy.permission.military_aid=军事援助 +desc.immersiveintelligence.diplomacy.permission.transit=运输 +desc.immersiveintelligence.diplomacy.permission.trade=贸易 +desc.immersiveintelligence.diplomacy.permission.research=研究 +desc.immersiveintelligence.diplomacy.permission.logistics=物流 +desc.immersiveintelligence.diplomacy.permission.container_access=容器访问 +desc.immersiveintelligence.diplomacy.permission.breaking_structures=破坏结构 + +desc.immersiveintelligence.diplomacy.permission_level.owner_allow=所有者 +desc.immersiveintelligence.diplomacy.permission_level.member_allow=成员 +desc.immersiveintelligence.diplomacy.permission_level.allies_allow=盟友 +desc.immersiveintelligence.diplomacy.permission_level.others_allow=其他 +desc.immersiveintelligence.diplomacy.permission_level.enemy_allow=敌人 + +#Directions +desc.immersiveintelligence.side.down=下 +desc.immersiveintelligence.side.up=上 +desc.immersiveintelligence.side.north=北 +desc.immersiveintelligence.side.south=南 +desc.immersiveintelligence.side.west=西 +desc.immersiveintelligence.side.east=东 + +#Bullets +desc.immersiveintelligence.bullet_type.general_purpose=通用 +desc.immersiveintelligence.bullet_type.shrapnel=破片 +desc.immersiveintelligence.bullet_type.piercing=穿甲 +desc.immersiveintelligence.bullet_type.shaped=塑形炸药 +desc.immersiveintelligence.bullet_type.explosive=高爆 +desc.immersiveintelligence.bullet_type.incendiary=燃烧剂 +desc.immersiveintelligence.bullet_type.tracer=示踪剂 +desc.immersiveintelligence.bullet_type.flare=照明弹 +desc.immersiveintelligence.bullet_type.chemical=化学 +desc.immersiveintelligence.bullet_type.emp=EMP +desc.immersiveintelligence.bullet_type.terrain_denial=地形封锁 +desc.immersiveintelligence.bullet_type.special=特殊用途 + +desc.immersiveintelligence.bullet_core_type.softpoint=软尖弹 +desc.immersiveintelligence.bullet_core_type.shaped=塑型 +desc.immersiveintelligence.bullet_core_type.shaped_sabot=塑形尾翼稳定 +desc.immersiveintelligence.bullet_core_type.piercing=穿甲 +desc.immersiveintelligence.bullet_core_type.piercing_sabot=弹托 +desc.immersiveintelligence.bullet_core_type.canister=霰弹筒 +desc.immersiveintelligence.bullet_core_type.cluster=集束 + +desc.immersiveintelligence.effect_shape.star=星形 +desc.immersiveintelligence.effect_shape.orb=球形 +desc.immersiveintelligence.effect_shape.line=线型 +desc.immersiveintelligence.effect_shape.cone=锥形 + +desc.immersiveintelligence.penetration_hardness.foliage=树叶 +desc.immersiveintelligence.penetration_hardness.fragile=玻璃 +desc.immersiveintelligence.penetration_hardness.ground=地面 +desc.immersiveintelligence.penetration_hardness.wood=木 +desc.immersiveintelligence.penetration_hardness.weak_metal=脆金属 +desc.immersiveintelligence.penetration_hardness.rock=石 +desc.immersiveintelligence.penetration_hardness.bricks=砖 +desc.immersiveintelligence.penetration_hardness.iron=铁 +desc.immersiveintelligence.penetration_hardness.concrete=混凝土 +desc.immersiveintelligence.penetration_hardness.steel=钢 +desc.immersiveintelligence.penetration_hardness.panzerconcrete=混凝土 +desc.immersiveintelligence.penetration_hardness.tungsten=钨 +desc.immersiveintelligence.penetration_hardness.uberconcrete=德三蜜汁超级混凝土 +desc.immersiveintelligence.penetration_hardness.pabilium=P大神钢 +desc.immersiveintelligence.penetration_hardness.bedrock=基岩 + +desc.immersiveintelligence.bullet_fuse.contact=接触 +desc.immersiveintelligence.bullet_fuse.timed=定时 +desc.immersiveintelligence.bullet_fuse.tooltip.timed=定时引信,延迟设置为%s ticks +desc.immersiveintelligence.bullet_fuse.proximity=接近 +desc.immersiveintelligence.bullet_fuse.tooltip.proximity=近距引信,距离设置为%s blocks + +desc.immersiveintelligence.bullets.composition=%s - 成分 +desc.immersiveintelligence.bullets.details=详情: +desc.immersiveintelligence.bullets.core=装有 %1$s %2$s +desc.immersiveintelligence.bullets.fuse=%s 引信 +desc.immersiveintelligence.bullets.mass=质量: %s +desc.immersiveintelligence.bullets.caliber=口径: %s bCal + +desc.immersiveintelligence.bullets.components=组件: +desc.immersiveintelligence.bullets.ballistics=%s - 弹道 +desc.immersiveintelligence.bullets.performance=性能: +desc.immersiveintelligence.bullets.damage_dealt=造成的伤害: %s +desc.immersiveintelligence.bullets.standard_velocity=标准速度: %s b/t +desc.immersiveintelligence.bullets.max_artillery_range=最大炮火射程: %s 块 +desc.immersiveintelligence.bullets.max_artillery_height=到达最高高度: %s 块 +desc.immersiveintelligence.bullets.max_direct_range=最大直接范围: %s 块 +desc.immersiveintelligence.bullets.max_range=最大距离: %s 块 +desc.immersiveintelligence.bullets.armor_penetration=护甲穿透: + +desc.immersiveintelligence.bullet_magazine.remaining=剩余子弹: %s +desc.immersiveintelligence.bullet_magazine.empty=空 + +ii.gui.medical_crate.heal=治愈受伤的实体 +ii.gui.medical_crate.boost=将效果应用于实体 + +ii.gui.repair_crate.repair_armor=修理磨损的装甲 +ii.gui.repair_crate.repair_vehicles=修理载具 + +desc.immersiveintelligence.jei.washing_recipe=化学浸洗 + +#Potion effects +potion.immersiveintelligence.suppression=压制 +potion.immersiveintelligence.broken_armor=穿甲 +potion.immersiveintelligence.corrosion=腐蚀 +potion.immersiveintelligence.infrared_vision=红外视野 +potion.immersiveintelligence.iron_will=钢铁意志 +potion.immersiveintelligence.well_supplied=供应完备 +potion.immersiveintelligence.concealed=匿踪 +potion.immersiveintelligence.exposed=暴露 +potion.immersiveintelligence.medical_treatment=医疗救护 +potion.immersiveintelligence.undergoing_repairs=正在进行维修 +potion.immersiveintelligence.radiation=辐射 +potion.immersiveintelligence.nuclear_heat=核热 +potion.immersiveintelligence.movement_assist=运动辅助 +potion.immersiveintelligence.foreign_shores=异国海岸 +potion.immersiveintelligence.enemy_soil=敌人的土地 +potion.immersiveintelligence.enemys_nest=敌人的巢穴 +potion.immersiveintelligence.home_shores=家乡海岸 +potion.immersiveintelligence.homeland=祖国 +potion.immersiveintelligence.heartland=腹地 + +#Chat info / debug +info.immersiveintelligence.frequency_set=无线电频率已设置为 %s +info.immersiveintelligence.frequency_invalid=无效频率,基本设备可以使用高达 %s! +info.immersiveintelligence.current_frequency=电流频率: %s + +info.immersiveintelligence.requires_advanced_hammer=先进的工程需要先进的工具...你需要一个电锤来制造这台机器! + +info.immersiveintelligence.tool_durability=耐久: %1$s / %2$s +info.immersiveintelligence.gear_ratio=扭矩/速度比: %1$s >> %2$s +info.immersiveintelligence.gear_ratio_short=%1$s >> %2$s +info.immersiveintelligence.charge_with_if=使用IF充能! + +info.immersiveintelligence.magazine.loading=装填中... %s/%s +info.immersiveintelligence.magazine.loaded=已装填 + +info.immersiveintelligence.yaw=偏角: %s +info.immersiveintelligence.pitch=俯仰: %s +info.immersiveintelligence.distance=距离: %s +info.immersiveintelligence.distance_unknown=位置 + +info.immersiveintelligence.debugger_mode=调试器模式: %s +info.immersiveintelligence.debugger_mode.transceiver=收发器 +info.immersiveintelligence.debugger_mode.transmitter=发射器 +info.immersiveintelligence.debugger_mode.receiver=接收器 + +info.immersiveintelligence.punchtape_reader_mode=打孔纸带读取器模式: %s +info.immersiveintelligence.punchtape_reader_mode.0=红石不敏感 +info.immersiveintelligence.punchtape_reader_mode.1=红石上的数据包 +info.immersiveintelligence.punchtape_reader_mode.2=数据包上的红石 + +info.immersiveintelligence.redstone_buffer_mode=红石缓冲模式: %s +info.immersiveintelligence.redstone_buffer_mode.passtrough=通过 +info.immersiveintelligence.redstone_buffer_mode.signal=信号 + +info.immersiveintelligence.machineupgrade.name=安装中: %s +info.immersiveintelligence.machineupgrade.progress=进度: %1$s / %2$s IF + +desc.immersiveintelligence.upgrade.dependencies_hold=%s - 所需依赖项 +desc.immersiveintelligence.upgrade.incompatible_hold=%s - 不兼容的升级 +desc.immersiveintelligence.upgrade.dependencies=所需依赖项: +desc.immersiveintelligence.upgrade.incompatible=不兼容的升级: + +info.immersiveintelligence.machineupgrade.purpose.efficiency=效率升级 +info.immersiveintelligence.machineupgrade.purpose.speed=速率升级 +info.immersiveintelligence.machineupgrade.purpose.capacity=容量升级 +info.immersiveintelligence.machineupgrade.purpose.quality=质量升级 +info.immersiveintelligence.machineupgrade.purpose.data=数据能力升级 +info.immersiveintelligence.machineupgrade.purpose.full_conversion=完全转换 +info.immersiveintelligence.machineupgrade.purpose.primary_weapon=主武器 +info.immersiveintelligence.machineupgrade.purpose.secondary_weapon=副武器 +info.immersiveintelligence.machineupgrade.purpose.armor=装甲升级 +info.immersiveintelligence.machineupgrade.purpose.defense_system=防御升级 +info.immersiveintelligence.machineupgrade.purpose.special=特殊升级 + +info.immersiveintelligence.machineupgrade.tier.core=核心功能 +info.immersiveintelligence.machineupgrade.tier.tier_1=基本升级 +info.immersiveintelligence.machineupgrade.tier.tier_2=精炼升级 +info.immersiveintelligence.machineupgrade.tier.tier_3=高级升级 +info.immersiveintelligence.machineupgrade.tier.tier_4=杰作升级 + +info.immersiveintelligence.exoskeleton.0=外骨骼: §4Off§r +info.immersiveintelligence.exoskeleton.1=外骨骼: §aMotion Assist§r +info.immersiveintelligence.exoskeleton.2=外骨骼: §2Overdrive§r + +info.immersiveintelligence.machineupgrade.mg_loader.gui_tooltip=MG + +info.immersiveintelligence.towing.no=找不到可牵引的车辆 +info.immersiveintelligence.towing.towed=成功牵引! +info.immersiveintelligence.towing.untowed=成功脱牵! +#Do not translate, it's a Factorio reference ^^ +info.immersiveintelligence.towing.no_easter_egg=Nie można rozsprzęgać taboru nie będąc w pojeździe! + +#Rotational Energy + +rotary.immersiveintelligence.belt_system.wrongCable=无法将电机传动带连接到电线连接器 +rotary.immersiveintelligence.belt_system.wrongCable1=我们不能简单地将皮带连接到电线系统上 +rotary.immersiveintelligence.belt_system.wrongCable2=正如我所说,你连不上的,别试了 +rotary.immersiveintelligence.belt_system.wrongCable3=老子蜀道山... +rotary.immersiveintelligence.belt_system.wrongCable4=宁听不懂中文? +rotary.immersiveintelligence.belt_system.wrongCable5=宁要是再这么玩劳资就一炉钩子给你****勾下来挂黄山迎客松上广迎***的天下来宾(艹皿艹) +rotary.immersiveintelligence.belt_system.itsBoringGetALife=你已经闲得令我这个叫做MotorBeltUtils.java的程序都发指了 +rotary.immersiveintelligence.belt_system.wrongBelt=你不能把皮带连接到这! + +rotary.immersiveintelligence.belt_system.wrongDimension=您的维度错误! +rotary.immersiveintelligence.belt_system.sameConnection=您不能将皮带连在同一点上! +rotary.immersiveintelligence.belt_system.tooFar=您距离上一节点距离过远! +rotary.immersiveintelligence.belt_system.cantSee=连接被阻挡! +rotary.immersiveintelligence.belt_system.connectionExists=连接已存在 +rotary.immersiveintelligence.belt_system.invalidPoint=其中一个连接点无效 +rotary.immersiveintelligence.belt_system.differentAxis=皮带不能斜向连接。 + +#Data System Descriptions +datasystem.immersiveintelligence.function.null=缺失功能 +datasystem.immersiveintelligence.function.null.desc=请将带有详细信息的错误报告提交给 II 的 GitHub 上的模组开发者。 + +#这部分太多了还要数学知识我就没翻 +#Arithmetic +datasystem.immersiveintelligence.function.add=加法 +datasystem.immersiveintelligence.function.add.desc=将所有输入相加 +datasystem.immersiveintelligence.function.add.param.summand=加数 +datasystem.immersiveintelligence.function.add.param.summand.desc=总和的一部分 +datasystem.immersiveintelligence.function.add.result=总和 +datasystem.immersiveintelligence.function.add.result.desc=所有输入的总和.例如 2+2=4 + +datasystem.immersiveintelligence.function.subtract=减法 +datasystem.immersiveintelligence.function.subtract.desc=从被减数中减去减数。 +datasystem.immersiveintelligence.function.subtract.param.minuend=被减数 +datasystem.immersiveintelligence.function.subtract.param.minuend.desc=在减法中被减去的数字 +datasystem.immersiveintelligence.function.subtract.param.subtrahend=减数 +datasystem.immersiveintelligence.function.subtract.param.subtrahend.desc=用来减被减数的数 +datasystem.immersiveintelligence.function.subtract.result=差 +datasystem.immersiveintelligence.function.subtract.result.desc=减法的结果.例如5-3=2 + +datasystem.immersiveintelligence.function.multiply=乘法 +datasystem.immersiveintelligence.function.multiply.desc=将因数相乘 +datasystem.immersiveintelligence.function.multiply.param.factor=因数 +datasystem.immersiveintelligence.function.multiply.param.factor.desc=在乘法中相乘的数字 +datasystem.immersiveintelligence.function.multiply.result=积 +datasystem.immersiveintelligence.function.multiply.result.desc=乘法的结果. 例如 2*3=6 + +datasystem.immersiveintelligence.function.divide=除法 +datasystem.immersiveintelligence.function.divide.desc=将被除数除以除数。 +datasystem.immersiveintelligence.function.divide.param.dividend=被除数 +datasystem.immersiveintelligence.function.divide.param.dividend.desc=被除数除的数 +datasystem.immersiveintelligence.function.divide.param.divisor=除数 +datasystem.immersiveintelligence.function.divide.param.divisor.desc=用来除被除数的数 +datasystem.immersiveintelligence.function.divide.result=商 +datasystem.immersiveintelligence.function.divide.result.desc=除法的结果. 例如 10/2=5 + +datasystem.immersiveintelligence.function.modulo=模 +datasystem.immersiveintelligence.function.modulo.desc=计算被除数除以除数的余数。 +datasystem.immersiveintelligence.function.modulo.param.dividend=被除数 +datasystem.immersiveintelligence.function.modulo.param.dividend.desc=被除数除的数 +datasystem.immersiveintelligence.function.modulo.param.divisor=除数 +datasystem.immersiveintelligence.function.modulo.param.divisor.desc=用来除被除数的数 +datasystem.immersiveintelligence.function.modulo.result=余数 +datasystem.immersiveintelligence.function.modulo.result.desc=取模运算的结果. 例如 10 mod 3=1 + +datasystem.immersiveintelligence.function.abs=取绝对值 +datasystem.immersiveintelligence.function.abs.desc=输出输入的绝对值. +datasystem.immersiveintelligence.function.abs.param.value=数值 +datasystem.immersiveintelligence.function.abs.param.value.desc=要取绝对值的数字 +datasystem.immersiveintelligence.function.abs.result=绝对值 +datasystem.immersiveintelligence.function.abs.result.desc=输入的绝对值. 例如 abs(-5)=5 + +# Advanced Arithmetic +datasystem.immersiveintelligence.function.power=幂 +datasystem.immersiveintelligence.function.power.desc=将底数提高到指数的幂。 +datasystem.immersiveintelligence.function.power.param.base=底数 +datasystem.immersiveintelligence.function.power.param.base.desc=要被乘方的数 +datasystem.immersiveintelligence.function.power.param.exponent=指数 +datasystem.immersiveintelligence.function.power.param.exponent.desc=底数的指数 +datasystem.immersiveintelligence.function.power.result=结果 +datasystem.immersiveintelligence.function.power.result.desc=将底数提升到指数的结果. For example 2^3=8 + +datasystem.immersiveintelligence.function.root=根 +datasystem.immersiveintelligence.function.root.desc=计算底数的根. +datasystem.immersiveintelligence.function.root.param.base=底数 +datasystem.immersiveintelligence.function.root.param.base.desc=要开平方的数 +datasystem.immersiveintelligence.function.root.param.degree=次数 +datasystem.immersiveintelligence.function.root.param.degree.desc=根的次数 +datasystem.immersiveintelligence.function.root.result=结果 +datasystem.immersiveintelligence.function.root.result.desc=求底数平方根的结果. 例如9的平方根=3 + +datasystem.immersiveintelligence.function.max=最大值 +datasystem.immersiveintelligence.function.max.desc=在输入中查找最大值. +datasystem.immersiveintelligence.function.max.param.number=数字 +datasystem.immersiveintelligence.function.max.param.number.desc=用来比较的数值 +datasystem.immersiveintelligence.function.max.result=最大值 +datasystem.immersiveintelligence.function.max.result.desc=输入中最大的数 + +datasystem.immersiveintelligence.function.min=最小值 +datasystem.immersiveintelligence.function.min.desc=在输入中查找最小值. +datasystem.immersiveintelligence.function.min.param.number=Number +datasystem.immersiveintelligence.function.min.param.number.desc=用来比较的数值 +datasystem.immersiveintelligence.function.min.result=最小值 +datasystem.immersiveintelligence.function.min.result.desc=输入中最小的数 + +datasystem.immersiveintelligence.function.sign=符号 +datasystem.immersiveintelligence.function.sign.desc=返回输入的符号. +datasystem.immersiveintelligence.function.sign.param.number=数字 +datasystem.immersiveintelligence.function.sign.param.number.desc=获取符号的数字 +datasystem.immersiveintelligence.function.sign.result=符号 +datasystem.immersiveintelligence.function.sign.result.desc=输入的符号.例如,负数为 -1,正数为 1,零为 0. + +datasystem.immersiveintelligence.function.ceil=上限 +datasystem.immersiveintelligence.function.ceil.desc=返回大于或等于输入的最小整数. +datasystem.immersiveintelligence.function.ceil.param.number=数字 +datasystem.immersiveintelligence.function.ceil.param.number.desc=获取上限的数字 +datasystem.immersiveintelligence.function.ceil.result=上限 +datasystem.immersiveintelligence.function.ceil.result.desc=大于或等于输入的最小整数 + +datasystem.immersiveintelligence.function.round=四舍五入 +datasystem.immersiveintelligence.function.round.desc=将输入四舍五入到最接近的整数. +datasystem.immersiveintelligence.function.round.param.number=数字 +datasystem.immersiveintelligence.function.round.param.number.desc=用于四舍五入的数字 +datasystem.immersiveintelligence.function.round.result=四舍五入值 +datasystem.immersiveintelligence.function.round.result.desc=将输入四舍五入到最接近的整数 + +datasystem.immersiveintelligence.function.floor=向下取整 +datasystem.immersiveintelligence.function.floor.desc=返回小于或等于输入的最大整数. +datasystem.immersiveintelligence.function.floor.param.number=数字 +datasystem.immersiveintelligence.function.floor.param.number.desc=向下取整的数字 +datasystem.immersiveintelligence.function.floor.result=Floor +datasystem.immersiveintelligence.function.floor.result.desc=小于或等于输入的最大整数 + +datasystem.immersiveintelligence.function.sin=Sin +datasystem.immersiveintelligence.function.sin.desc=计算输入的正弦值. +datasystem.immersiveintelligence.function.sin.param.angle=角度 +datasystem.immersiveintelligence.function.sin.param.angle.desc=角的度数 +datasystem.immersiveintelligence.function.sin.result=正弦 +datasystem.immersiveintelligence.function.sin.result.desc=输入角度的正弦值 + +datasystem.immersiveintelligence.function.cos=Cos +datasystem.immersiveintelligence.function.cos.desc=计算输入的余弦值. +datasystem.immersiveintelligence.function.cos.param.angle=角度 +datasystem.immersiveintelligence.function.cos.param.angle.desc=角的度数 +datasystem.immersiveintelligence.function.cos.result=余弦 +datasystem.immersiveintelligence.function.cos.result.desc=输入角度的余弦值 + +datasystem.immersiveintelligence.function.tan=Tan +datasystem.immersiveintelligence.function.tan.desc=计算输入的正切值. +datasystem.immersiveintelligence.function.tan.param.angle=角度 +datasystem.immersiveintelligence.function.tan.param.angle.desc=角的度数 +datasystem.immersiveintelligence.function.tan.result=余弦 +datasystem.immersiveintelligence.function.tan.result.desc=输入角度的正切值 + +# Logic +datasystem.immersiveintelligence.function.and=与 +datasystem.immersiveintelligence.function.and.desc=如果所有输入都为真,则返回真 +datasystem.immersiveintelligence.function.and.param.input=Input +datasystem.immersiveintelligence.function.and.param.input.desc=The input to check +datasystem.immersiveintelligence.function.and.result=Result +datasystem.immersiveintelligence.function.and.result.desc=Result of the AND operation. + +datasystem.immersiveintelligence.function.or=或 +datasystem.immersiveintelligence.function.or.desc=Returns true if any of the inputs are true +datasystem.immersiveintelligence.function.or.param.input=Input +datasystem.immersiveintelligence.function.or.param.input.desc=The input to check +datasystem.immersiveintelligence.function.or.result=Result +datasystem.immersiveintelligence.function.or.result.desc=Result of the OR operation. + +datasystem.immersiveintelligence.function.not=非 +datasystem.immersiveintelligence.function.not.desc=Returns the opposite of the input +datasystem.immersiveintelligence.function.not.param.input=Input +datasystem.immersiveintelligence.function.not.param.input.desc=The input to negate +datasystem.immersiveintelligence.function.not.result=Result +datasystem.immersiveintelligence.function.not.result.desc=Result of the NOT operation. + +datasystem.immersiveintelligence.function.nand=与非 +datasystem.immersiveintelligence.function.nand.desc=Returns false if all inputs are true +datasystem.immersiveintelligence.function.nand.param.input=Input +datasystem.immersiveintelligence.function.nand.param.input.desc=The input to check +datasystem.immersiveintelligence.function.nand.result=Result +datasystem.immersiveintelligence.function.nand.result.desc=Result of the NAND operation. + +datasystem.immersiveintelligence.function.nor=或非 +datasystem.immersiveintelligence.function.nor.desc=Returns false if any of the inputs are true +datasystem.immersiveintelligence.function.nor.param.input=Input +datasystem.immersiveintelligence.function.nor.param.input.desc=The input to check +datasystem.immersiveintelligence.function.nor.result=Result +datasystem.immersiveintelligence.function.nor.result.desc=Result of the NOR operation. + +datasystem.immersiveintelligence.function.xor=异或 +datasystem.immersiveintelligence.function.xor.desc=Returns true if exactly one of the inputs is true +datasystem.immersiveintelligence.function.xor.param.input=Input +datasystem.immersiveintelligence.function.xor.param.input.desc=The input to check +datasystem.immersiveintelligence.function.xor.result=Result +datasystem.immersiveintelligence.function.xor.result.desc=Result of the XOR operation. + +datasystem.immersiveintelligence.function.xnor=同或 +datasystem.immersiveintelligence.function.xnor.desc=Returns true if an even number of the inputs are true +datasystem.immersiveintelligence.function.xnor.param.input=Input +datasystem.immersiveintelligence.function.xnor.param.input.desc=The input to check +datasystem.immersiveintelligence.function.xnor.result=Result +datasystem.immersiveintelligence.function.xnor.result.desc=Result of the XNOR operation. + +# Comparator +datasystem.immersiveintelligence.function.greater=大于 +datasystem.immersiveintelligence.function.greater.desc=Returns true if the first input is greater than the second +datasystem.immersiveintelligence.function.greater.param.compared=Compared +datasystem.immersiveintelligence.function.greater.param.compared.desc=The value to compare +datasystem.immersiveintelligence.function.greater.result=Result +datasystem.immersiveintelligence.function.greater.result.desc=Result of the comparison + +datasystem.immersiveintelligence.function.less=小于 +datasystem.immersiveintelligence.function.less.desc=Returns true if the first input is less than the second +datasystem.immersiveintelligence.function.less.param.compared=Compared +datasystem.immersiveintelligence.function.less.param.compared.desc=The value to compare +datasystem.immersiveintelligence.function.less.result=Result +datasystem.immersiveintelligence.function.less.result.desc=Result of the comparison + +datasystem.immersiveintelligence.function.greater_or_equal=大于等于 +datasystem.immersiveintelligence.function.greater_or_equal.desc=Returns true if the first input is greater than or equal to the second +datasystem.immersiveintelligence.function.greater_or_equal.param.compared=Compared +datasystem.immersiveintelligence.function.greater_or_equal.param.compared.desc=The value to compare +datasystem.immersiveintelligence.function.greater_or_equal.result=Result +datasystem.immersiveintelligence.function.greater_or_equal.result.desc=Result of the comparison + +datasystem.immersiveintelligence.function.less_or_equal=小于等于 +datasystem.immersiveintelligence.function.less_or_equal.desc=Returns true if the first input is less than or equal to the second +datasystem.immersiveintelligence.function.less_or_equal.param.compared=Compared +datasystem.immersiveintelligence.function.less_or_equal.param.compared.desc=The value to compare +datasystem.immersiveintelligence.function.less_or_equal.result=Result +datasystem.immersiveintelligence.function.less_or_equal.result.desc=Result of the comparison + +datasystem.immersiveintelligence.function.equal=等于 +datasystem.immersiveintelligence.function.equal.desc=Returns true if the inputs are equal +datasystem.immersiveintelligence.function.equal.param.compared=Compared +datasystem.immersiveintelligence.function.equal.param.compared.desc=The value to compare +datasystem.immersiveintelligence.function.equal.result=Result +datasystem.immersiveintelligence.function.equal.result.desc=Result of the comparison + +# Text +datasystem.immersiveintelligence.function.string_join=结合 +datasystem.immersiveintelligence.function.string_join.desc=Joins two inputs into a single string, for example, joining strings "Engineers" and "Cause" results in "EngineersCause" +datasystem.immersiveintelligence.function.string_join.param.first=First +datasystem.immersiveintelligence.function.string_join.param.first.desc=The first string to join +datasystem.immersiveintelligence.function.string_join.param.second=Second +datasystem.immersiveintelligence.function.string_join.param.second.desc=The second string to join +datasystem.immersiveintelligence.function.string_join.result=Result +datasystem.immersiveintelligence.function.string_join.result.desc=The combined string + +datasystem.immersiveintelligence.function.string_split=拆分 +datasystem.immersiveintelligence.function.string_split.desc=Splits the input string into an array of strings +datasystem.immersiveintelligence.function.string_split.param.text=String +datasystem.immersiveintelligence.function.string_split.param.text.desc=The string to split +datasystem.immersiveintelligence.function.string_split.param.delimiter=Delimiter +datasystem.immersiveintelligence.function.string_split.param.delimiter.desc=The string used to separate the input +datasystem.immersiveintelligence.function.string_split.result=Result +datasystem.immersiveintelligence.function.string_split.result.desc=Array of strings + +datasystem.immersiveintelligence.function.string_length=长度 +datasystem.immersiveintelligence.function.string_length.desc=Returns the length of the input string +datasystem.immersiveintelligence.function.string_length.param.text=String +datasystem.immersiveintelligence.function.string_length.param.text.desc=The string to get the length of +datasystem.immersiveintelligence.function.string_length.result=Length +datasystem.immersiveintelligence.function.string_length.result.desc=The length of the input string + +datasystem.immersiveintelligence.function.string_char_at=字符位于 +datasystem.immersiveintelligence.function.string_char_at.desc=Returns the character at the specified index, starting from 0. For example, the character at index 2 of "Engineers" is "g" +datasystem.immersiveintelligence.function.string_char_at.param.text=String +datasystem.immersiveintelligence.function.string_char_at.param.text.desc=The string to get the character from +datasystem.immersiveintelligence.function.string_char_at.param.index=Index +datasystem.immersiveintelligence.function.string_char_at.param.index.desc=The index of the character to get, starting from 0 +datasystem.immersiveintelligence.function.string_char_at.result=Character +datasystem.immersiveintelligence.function.string_char_at.result.desc=The character at the specified index + +datasystem.immersiveintelligence.function.string_substring=子字符串 +datasystem.immersiveintelligence.function.string_substring.desc=Returns a substring of the input string, for example, the substring of "Engineers' Cause" from index 1 "Cause" +datasystem.immersiveintelligence.function.string_substring.param.text=String +datasystem.immersiveintelligence.function.string_substring.param.text.desc=The string to get the substring from +datasystem.immersiveintelligence.function.string_substring.param.index=Start +datasystem.immersiveintelligence.function.string_substring.param.index.desc=The starting index of the substring, starting from 0 +datasystem.immersiveintelligence.function.string_substring.result=Substring +datasystem.immersiveintelligence.function.string_substring.result.desc=The substring of the input string + +#todo: change to match the actual workings +datasystem.immersiveintelligence.function.string_trim=修饰 +datasystem.immersiveintelligence.function.string_trim.desc=Returns a string trimmed to a given length, string "Engineers' Cause" trimmed to 7 characters is "Engineer" +datasystem.immersiveintelligence.function.string_trim.param.text=String +datasystem.immersiveintelligence.function.string_trim.param.text.desc=The string to trim +datasystem.immersiveintelligence.function.string_trim.param.to_index=End +datasystem.immersiveintelligence.function.string_trim.param.to_index.desc=The ending index of the substring, starting from 0 +datasystem.immersiveintelligence.function.string_trim.result=Trimmed String +datasystem.immersiveintelligence.function.string_trim.result.desc=The input string trimmed to the specified length + +datasystem.immersiveintelligence.function.string_hexcol=使用HEX色彩格式 +datasystem.immersiveintelligence.function.string_hexcol.desc=Formats the input string using hexadecimal color codes. Used to color text for printing on paper. +datasystem.immersiveintelligence.function.string_hexcol.param.text=String +datasystem.immersiveintelligence.function.string_hexcol.param.text.desc=The string to format +datasystem.immersiveintelligence.function.string_hexcol.param.color=Color +datasystem.immersiveintelligence.function.string_hexcol.param.color.desc=The hexadecimal color code to use +datasystem.immersiveintelligence.function.string_hexcol.result=Formatted String +datasystem.immersiveintelligence.function.string_hexcol.result.desc=The input string formatted using the hexadecimal color code + +datasystem.immersiveintelligence.function.string_format=使用文本格式设置格式 +datasystem.immersiveintelligence.function.string_format.desc=Formats the input string using Text Formatting. Used to color text for signs or chat messages. +datasystem.immersiveintelligence.function.string_format.param.text=String +datasystem.immersiveintelligence.function.string_format.param.text.desc=The string to format +datasystem.immersiveintelligence.function.string_format.param.formatting=Formatting +datasystem.immersiveintelligence.function.string_format.param.formatting.desc=The Formatting color to use +datasystem.immersiveintelligence.function.string_format.result=Formatted String +datasystem.immersiveintelligence.function.string_format.result.desc=The input string formatted using the TextFormatting color + +datasystem.immersiveintelligence.function.string_contains=包含 +datasystem.immersiveintelligence.function.string_contains.desc=Returns true if the input string contains the specified substring +datasystem.immersiveintelligence.function.string_contains.param.text=String +datasystem.immersiveintelligence.function.string_contains.param.text.desc=The string to check +datasystem.immersiveintelligence.function.string_contains.param.fragment=Fragment +datasystem.immersiveintelligence.function.string_contains.param.fragment.desc=The substring to check for +datasystem.immersiveintelligence.function.string_contains.result=Result +datasystem.immersiveintelligence.function.string_contains.result.desc=Result of the contains operation + +datasystem.immersiveintelligence.function.string_contains_count=包含的数量 +datasystem.immersiveintelligence.function.string_contains_count.desc=Returns the number of times the specified substring appears in the input string +datasystem.immersiveintelligence.function.string_contains_count.param.text=String +datasystem.immersiveintelligence.function.string_contains_count.param.text.desc=The string to check +datasystem.immersiveintelligence.function.string_contains_count.param.fragment=Fragment +datasystem.immersiveintelligence.function.string_contains_count.param.fragment.desc=The substring to check for +datasystem.immersiveintelligence.function.string_contains_count.result=Count +datasystem.immersiveintelligence.function.string_contains_count.result.desc=The number of times the substring appears in the input string + +datasystem.immersiveintelligence.function.string_replace_first=替换第一项 +datasystem.immersiveintelligence.function.string_replace_first.desc=Replaces the first occurrence of the specified substring in the input string with the replacement +datasystem.immersiveintelligence.function.string_replace_first.param.text=String +datasystem.immersiveintelligence.function.string_replace_first.param.text.desc=The string to modify +datasystem.immersiveintelligence.function.string_replace_first.param.fragment=Fragment +datasystem.immersiveintelligence.function.string_replace_first.param.fragment.desc=The substring to replace +datasystem.immersiveintelligence.function.string_replace_first.param.with=Replacement +datasystem.immersiveintelligence.function.string_replace_first.param.with.desc=The string to replace the substring with +datasystem.immersiveintelligence.function.string_replace_first.result=Result +datasystem.immersiveintelligence.function.string_replace_first.result.desc=The input string with the first occurrence of the substring replaced + +datasystem.immersiveintelligence.function.string_replace_all=替换所有 +datasystem.immersiveintelligence.function.string_replace_all.desc=Replaces all occurrences of the specified substring in the input string with the replacement +datasystem.immersiveintelligence.function.string_replace_all.param.text=String +datasystem.immersiveintelligence.function.string_replace_all.param.text.desc=The string to modify +datasystem.immersiveintelligence.function.string_replace_all.param.fragment=Fragment +datasystem.immersiveintelligence.function.string_replace_all.param.fragment.desc=The substring to replace +datasystem.immersiveintelligence.function.string_replace_all.param.with=Replacement +datasystem.immersiveintelligence.function.string_replace_all.param.with.desc=The string to replace the substring with +datasystem.immersiveintelligence.function.string_replace_all.result=Result +datasystem.immersiveintelligence.function.string_replace_all.result.desc=The input string with all occurrences of the substring replaced + +datasystem.immersiveintelligence.function.string_lowercase=到小写 +datasystem.immersiveintelligence.function.string_lowercase.desc=Converts the input string to lowercase +datasystem.immersiveintelligence.function.string_lowercase.param.text=String +datasystem.immersiveintelligence.function.string_lowercase.param.text.desc=The string to convert +datasystem.immersiveintelligence.function.string_lowercase.result=lowercase +datasystem.immersiveintelligence.function.string_lowercase.result.desc=The input string converted to lowercase + +datasystem.immersiveintelligence.function.string_uppercase=到大写 +datasystem.immersiveintelligence.function.string_uppercase.desc=Converts the input string to uppercase +datasystem.immersiveintelligence.function.string_uppercase.param.text=String +datasystem.immersiveintelligence.function.string_uppercase.param.text.desc=The string to convert +datasystem.immersiveintelligence.function.string_uppercase.result=UPPERCASE +datasystem.immersiveintelligence.function.string_uppercase.result.desc=The input string converted to uppercase + +datasystem.immersiveintelligence.function.string_snake_case=到蛇形命名法 +datasystem.immersiveintelligence.function.string_snake_case.desc=Converts the input string to snake_case +datasystem.immersiveintelligence.function.string_snake_case.param.text=String +datasystem.immersiveintelligence.function.string_snake_case.param.text.desc=The string to convert +datasystem.immersiveintelligence.function.string_snake_case.result=snake_case +datasystem.immersiveintelligence.function.string_snake_case.result.desc=The input string converted to snake_case + +datasystem.immersiveintelligence.function.string_camel_case=到驼峰命名法 +datasystem.immersiveintelligence.function.string_camel_case.desc=Converts the input string to camelCase +datasystem.immersiveintelligence.function.string_camel_case.param.text=String +datasystem.immersiveintelligence.function.string_camel_case.param.text.desc=The string to convert +datasystem.immersiveintelligence.function.string_camel_case.param.start_small=Start Small +datasystem.immersiveintelligence.function.string_camel_case.param.start_small.desc=Whether the first letter should be lowercase +datasystem.immersiveintelligence.function.string_camel_case.result=camelCase +datasystem.immersiveintelligence.function.string_camel_case.result.desc=The input string converted to camelCase + +datasystem.immersiveintelligence.function.string_reverse=反相 +datasystem.immersiveintelligence.function.string_reverse.desc=Reverses the input string +datasystem.immersiveintelligence.function.string_reverse.param.text=String +datasystem.immersiveintelligence.function.string_reverse.param.text.desc=The string to reverse +datasystem.immersiveintelligence.function.string_reverse.result=Reversed +datasystem.immersiveintelligence.function.string_reverse.result.desc=The input string reversed + +# ItemStack +datasystem.immersiveintelligence.function.itemstack_create=Create From ID +datasystem.immersiveintelligence.function.itemstack_create.desc=Creates an ItemStack from the input item ID, amount and metadata value +datasystem.immersiveintelligence.function.itemstack_create.param.item_id=ID +datasystem.immersiveintelligence.function.itemstack_create.param.item_id.desc=The ID of the item +datasystem.immersiveintelligence.function.itemstack_create.param.amount=Amount +datasystem.immersiveintelligence.function.itemstack_create.param.amount.desc=The amount of the item +datasystem.immersiveintelligence.function.itemstack_create.param.meta=Meta +datasystem.immersiveintelligence.function.itemstack_create.param.meta.desc=The metadata value of the item +datasystem.immersiveintelligence.function.itemstack_create.result=ItemStack +datasystem.immersiveintelligence.function.itemstack_create.result.desc=The ItemStack created from the ID + +datasystem.immersiveintelligence.function.item_get_count=Get Count +datasystem.immersiveintelligence.function.item_get_count.desc=Returns the count of the input ItemStack +datasystem.immersiveintelligence.function.item_get_count.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_get_count.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_get_count.result=Count +datasystem.immersiveintelligence.function.item_get_count.result.desc=The count of the input ItemStack + +datasystem.immersiveintelligence.function.item_set_count=Set Count +datasystem.immersiveintelligence.function.item_set_count.desc=Sets the count of the input ItemStack +datasystem.immersiveintelligence.function.item_set_count.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_set_count.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_set_count.param.count=Count +datasystem.immersiveintelligence.function.item_set_count.param.count.desc=The count to set +datasystem.immersiveintelligence.function.item_set_count.result=ItemStack +datasystem.immersiveintelligence.function.item_set_count.result.desc=The ItemStack with the new count + +datasystem.immersiveintelligence.function.item_get_meta=Get Meta Value +datasystem.immersiveintelligence.function.item_get_meta.desc=Returns the meta value (often being the damage taken by a tool) of the input ItemStack +datasystem.immersiveintelligence.function.item_get_meta.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_get_meta.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_get_meta.result=Meta +datasystem.immersiveintelligence.function.item_get_meta.result.desc=The meta value of the input ItemStack + +datasystem.immersiveintelligence.function.item_set_meta=Set Meta Value +datasystem.immersiveintelligence.function.item_set_meta.desc=Sets the meta value (f.e. the taken damage by a tool) of the input ItemStack +datasystem.immersiveintelligence.function.item_set_meta.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_set_meta.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_set_meta.param.damage=Meta +datasystem.immersiveintelligence.function.item_set_meta.param.damage.desc=The meta value to set +datasystem.immersiveintelligence.function.item_set_meta.result=ItemStack +datasystem.immersiveintelligence.function.item_set_meta.result.desc=The ItemStack with the new meta value + +datasystem.immersiveintelligence.function.item_get_nbt=Get NBT +datasystem.immersiveintelligence.function.item_get_nbt.desc=Returns the NBT tag of the input ItemStack +datasystem.immersiveintelligence.function.item_get_nbt.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_get_nbt.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_get_nbt.result=NBT +datasystem.immersiveintelligence.function.item_get_nbt.result.desc=The NBT tag of the input ItemStack + +datasystem.immersiveintelligence.function.item_set_nbt=Set NBT +datasystem.immersiveintelligence.function.item_set_nbt.desc=Sets the NBT tag of the input ItemStack +datasystem.immersiveintelligence.function.item_set_nbt.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_set_nbt.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_set_nbt.param.nbt=NBT +datasystem.immersiveintelligence.function.item_set_nbt.param.nbt.desc=The NBT tag to set +datasystem.immersiveintelligence.function.item_set_nbt.result=ItemStack +datasystem.immersiveintelligence.function.item_set_nbt.result.desc=The ItemStack with the new NBT tag + +datasystem.immersiveintelligence.function.item_get_id=Get ID +datasystem.immersiveintelligence.function.item_get_id.desc=Returns the ID of the input ItemStack +datasystem.immersiveintelligence.function.item_get_id.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_get_id.param.stack.desc=The ItemStack +datasystem.immersiveintelligence.function.item_get_id.result=ID +datasystem.immersiveintelligence.function.item_get_id.result.desc=The ID of the input ItemStack + +datasystem.immersiveintelligence.function.item_is_empty=Is Empty +datasystem.immersiveintelligence.function.item_is_empty.desc=Returns true if the input ItemStack is empty +datasystem.immersiveintelligence.function.item_is_empty.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_is_empty.param.stack.desc=The ItemStack to check +datasystem.immersiveintelligence.function.item_is_empty.result=Result +datasystem.immersiveintelligence.function.item_is_empty.result.desc=True, if the ItemStack is empty + +datasystem.immersiveintelligence.function.item_stacks_with=Stacks With +datasystem.immersiveintelligence.function.item_stacks_with.desc=Returns true if the input ItemStack can stack with the specified ItemStack +datasystem.immersiveintelligence.function.item_stacks_with.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_stacks_with.param.stack.desc=The ItemStack to check +datasystem.immersiveintelligence.function.item_stacks_with.param.with=With +datasystem.immersiveintelligence.function.item_stacks_with.param.with.desc=The ItemStack to check against +datasystem.immersiveintelligence.function.item_stacks_with.result=Result +datasystem.immersiveintelligence.function.item_stacks_with.result.desc=Result of the stacking check + +datasystem.immersiveintelligence.function.item_matches_oredict=Matches OreDictionary +datasystem.immersiveintelligence.function.item_matches_oredict.desc=Returns true if the input ItemStack matches the specified Ore Dictionary entry +datasystem.immersiveintelligence.function.item_matches_oredict.param.stack=ItemStack +datasystem.immersiveintelligence.function.item_matches_oredict.param.stack.desc=The ItemStack to check +datasystem.immersiveintelligence.function.item_matches_oredict.param.ore_dictionary=Ore Dictionary +datasystem.immersiveintelligence.function.item_matches_oredict.param.ore_dictionary.desc=The Ore Dictionary entry to check against +datasystem.immersiveintelligence.function.item_matches_oredict.result=Result +datasystem.immersiveintelligence.function.item_matches_oredict.result.desc=Result of the Ore Dictionary check + +# FluidStack +datasystem.immersiveintelligence.function.fluidstack_create=Create FluidStack +datasystem.immersiveintelligence.function.fluidstack_create.desc=Creates a FluidStack from the input fluid ID, amount and NBT tag +datasystem.immersiveintelligence.function.fluidstack_create.param.fluid_id=ID +datasystem.immersiveintelligence.function.fluidstack_create.param.fluid_id.desc=The ID of the fluid +datasystem.immersiveintelligence.function.fluidstack_create.param.amount=Amount +datasystem.immersiveintelligence.function.fluidstack_create.param.amount.desc=The amount of the fluid +datasystem.immersiveintelligence.function.fluidstack_create.param.nbt=NBT +datasystem.immersiveintelligence.function.fluidstack_create.param.nbt.desc=The NBT tag of the fluid +datasystem.immersiveintelligence.function.fluidstack_create.result=FluidStack +datasystem.immersiveintelligence.function.fluidstack_create.result.desc=The FluidStack created from the ID + +datasystem.immersiveintelligence.function.fluid_get_id=Get ID +datasystem.immersiveintelligence.function.fluid_get_id.desc=Returns the ID of the input FluidStack +datasystem.immersiveintelligence.function.fluid_get_id.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_get_id.param.stack.desc=The FluidStack +datasystem.immersiveintelligence.function.fluid_get_id.result=ID +datasystem.immersiveintelligence.function.fluid_get_id.result.desc=The ID of the input FluidStack + +datasystem.immersiveintelligence.function.fluid_get_amount=Get Amount +datasystem.immersiveintelligence.function.fluid_get_amount.desc=Returns the amount of the input FluidStack +datasystem.immersiveintelligence.function.fluid_get_amount.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_get_amount.param.stack.desc=The FluidStack +datasystem.immersiveintelligence.function.fluid_get_amount.result=Amount +datasystem.immersiveintelligence.function.fluid_get_amount.result.desc=The amount of the input FluidStack + +datasystem.immersiveintelligence.function.fluid_set_amount=Set Amount +datasystem.immersiveintelligence.function.fluid_set_amount.desc=Sets the amount of the input FluidStack +datasystem.immersiveintelligence.function.fluid_set_amount.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_set_amount.param.stack.desc=The FluidStack +datasystem.immersiveintelligence.function.fluid_set_amount.param.amount=Amount +datasystem.immersiveintelligence.function.fluid_set_amount.param.amount.desc=The amount to set +datasystem.immersiveintelligence.function.fluid_set_amount.result=FluidStack +datasystem.immersiveintelligence.function.fluid_set_amount.result.desc=The FluidStack with the new amount + +datasystem.immersiveintelligence.function.fluid_get_nbt=Get NBT +datasystem.immersiveintelligence.function.fluid_get_nbt.desc=Returns the NBT tag of the input FluidStack +datasystem.immersiveintelligence.function.fluid_get_nbt.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_get_nbt.param.stack.desc=The FluidStack +datasystem.immersiveintelligence.function.fluid_get_nbt.result=NBT +datasystem.immersiveintelligence.function.fluid_get_nbt.result.desc=The NBT tag of the input FluidStack + +datasystem.immersiveintelligence.function.fluid_set_nbt=Set NBT +datasystem.immersiveintelligence.function.fluid_set_nbt.desc=Sets the NBT tag of the input FluidStack +datasystem.immersiveintelligence.function.fluid_set_nbt.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_set_nbt.param.stack.desc=The FluidStack +datasystem.immersiveintelligence.function.fluid_set_nbt.param.nbt=NBT +datasystem.immersiveintelligence.function.fluid_set_nbt.param.nbt.desc=The NBT tag to set +datasystem.immersiveintelligence.function.fluid_set_nbt.result=FluidStack +datasystem.immersiveintelligence.function.fluid_set_nbt.result.desc=The FluidStack with the new NBT tag + +datasystem.immersiveintelligence.function.fluid_is_empty=Is Empty +datasystem.immersiveintelligence.function.fluid_is_empty.desc=Returns true if the input FluidStack is empty +datasystem.immersiveintelligence.function.fluid_is_empty.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_is_empty.param.stack.desc=The FluidStack to check +datasystem.immersiveintelligence.function.fluid_is_empty.result=Result +datasystem.immersiveintelligence.function.fluid_is_empty.result.desc=True, if the FluidStack is empty + +datasystem.immersiveintelligence.function.fluid_stacks_with=Stacks With +datasystem.immersiveintelligence.function.fluid_stacks_with.desc=Returns true if the input FluidStack can stack with the specified FluidStack +datasystem.immersiveintelligence.function.fluid_stacks_with.param.stack=FluidStack +datasystem.immersiveintelligence.function.fluid_stacks_with.param.stack.desc=The FluidStack to check +datasystem.immersiveintelligence.function.fluid_stacks_with.param.with=With +datasystem.immersiveintelligence.function.fluid_stacks_with.param.with.desc=The FluidStack to check against +datasystem.immersiveintelligence.function.fluid_stacks_with.result=Result +datasystem.immersiveintelligence.function.fluid_stacks_with.result.desc=Result of the stacking check + +# Array +datasystem.immersiveintelligence.function.array_create=Create Array +datasystem.immersiveintelligence.function.array_create.desc=Creates a new array +datasystem.immersiveintelligence.function.array_create.param.first=First Element +datasystem.immersiveintelligence.function.array_create.param.first.desc= +datasystem.immersiveintelligence.function.array_create.result=Array +datasystem.immersiveintelligence.function.array_create.result.desc=The new array + +datasystem.immersiveintelligence.function.array_get=Get +datasystem.immersiveintelligence.function.array_get.desc=Returns the value at the specified index in the input array +datasystem.immersiveintelligence.function.array_get.param.array=Array +datasystem.immersiveintelligence.function.array_get.param.array.desc=The array to get the value from +datasystem.immersiveintelligence.function.array_get.param.index=Index +datasystem.immersiveintelligence.function.array_get.param.index.desc=The index of the value to get +datasystem.immersiveintelligence.function.array_get.result=Value +datasystem.immersiveintelligence.function.array_get.result.desc=The value at the specified index + +datasystem.immersiveintelligence.function.array_set=Set +datasystem.immersiveintelligence.function.array_set.desc=Sets the value at the specified index in the input array +datasystem.immersiveintelligence.function.array_set.param.array=Array +datasystem.immersiveintelligence.function.array_set.param.array.desc=The array to modify +datasystem.immersiveintelligence.function.array_set.param.index=Index +datasystem.immersiveintelligence.function.array_set.param.index.desc=The index of the value to set +datasystem.immersiveintelligence.function.array_set.param.value=Value +datasystem.immersiveintelligence.function.array_set.param.value.desc=The value to set + +datasystem.immersiveintelligence.function.array_push=Push +datasystem.immersiveintelligence.function.array_push.desc=Adds the value to the end of the input array +datasystem.immersiveintelligence.function.array_push.param.array=Array +datasystem.immersiveintelligence.function.array_push.param.array.desc=The array to modify +datasystem.immersiveintelligence.function.array_push.param.inserted=Inserted +datasystem.immersiveintelligence.function.array_push.param.inserted.desc=The element to add +datasystem.immersiveintelligence.function.array_push.param.value=Value +datasystem.immersiveintelligence.function.array_push.param.value.desc=The value to add + +datasystem.immersiveintelligence.function.array_pop=Pop +datasystem.immersiveintelligence.function.array_pop.desc=Removes and returns the last value from the input array +datasystem.immersiveintelligence.function.array_pop.param.array=Array +datasystem.immersiveintelligence.function.array_pop.param.array.desc=The array to modify +datasystem.immersiveintelligence.function.array_pop.result=Removed +datasystem.immersiveintelligence.function.array_pop.result.desc=The removed value + +datasystem.immersiveintelligence.function.array_swap=Swap +datasystem.immersiveintelligence.function.array_swap.desc=Swaps the values at the specified indices in the input array +datasystem.immersiveintelligence.function.array_swap.param.array=Array +datasystem.immersiveintelligence.function.array_swap.param.array.desc=The array to modify +datasystem.immersiveintelligence.function.array_swap.param.first=First Index +datasystem.immersiveintelligence.function.array_swap.param.first.desc=The first index to swap +datasystem.immersiveintelligence.function.array_swap.param.second=Second Index +datasystem.immersiveintelligence.function.array_swap.param.second.desc=The second index to swap + + +datasystem.immersiveintelligence.function.array_length=Get Length +datasystem.immersiveintelligence.function.array_length.desc=Returns the length of the input array +datasystem.immersiveintelligence.function.array_length.param.array=Array +datasystem.immersiveintelligence.function.array_length.param.array.desc=The array to get the length of +datasystem.immersiveintelligence.function.array_length.result=Length +datasystem.immersiveintelligence.function.array_length.result.desc=The length of the input array + +# Entity +datasystem.immersiveintelligence.function.entity_get_id=Get ID +datasystem.immersiveintelligence.function.entity_get_id.desc=Returns the ID of the input entity +datasystem.immersiveintelligence.function.entity_get_id.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_id.param.entity.desc=The entity to get the ID of +datasystem.immersiveintelligence.function.entity_get_id.result=ID +datasystem.immersiveintelligence.function.entity_get_id.result.desc=The ID of the input entity + +datasystem.immersiveintelligence.function.entity_get_type=Get Type +datasystem.immersiveintelligence.function.entity_get_type.desc=Returns the type of the input entity +datasystem.immersiveintelligence.function.entity_get_type.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_type.param.entity.desc=The entity to get the type of +datasystem.immersiveintelligence.function.entity_get_type.result=Type +datasystem.immersiveintelligence.function.entity_get_type.result.desc=The type of the input entity + +datasystem.immersiveintelligence.function.entity_get_name=Get Name +datasystem.immersiveintelligence.function.entity_get_name.desc=Returns the name of the input entity +datasystem.immersiveintelligence.function.entity_get_name.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_name.param.entity.desc=The entity to get the name of +datasystem.immersiveintelligence.function.entity_get_name.result=Name +datasystem.immersiveintelligence.function.entity_get_name.result.desc=The name of the input entity + +datasystem.immersiveintelligence.function.entity_get_dimension_id=Get Dimension +datasystem.immersiveintelligence.function.entity_get_dimension_id.desc=Returns the dimension ID of the input entity +datasystem.immersiveintelligence.function.entity_get_dimension_id.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_dimension_id.param.entity.desc=The entity to get the dimension ID of +datasystem.immersiveintelligence.function.entity_get_dimension_id.result=Dimension ID +datasystem.immersiveintelligence.function.entity_get_dimension_id.result.desc=The dimension ID of the input entity + +datasystem.immersiveintelligence.function.entity_get_pos=Get Position +datasystem.immersiveintelligence.function.entity_get_pos.desc=Returns the 3D position of the input entity +datasystem.immersiveintelligence.function.entity_get_pos.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_pos.param.entity.desc=The entity to get the position of +datasystem.immersiveintelligence.function.entity_get_pos.result=Position +datasystem.immersiveintelligence.function.entity_get_pos.result.desc=The position of the input entity + +datasystem.immersiveintelligence.function.entity_get_x=Get X +datasystem.immersiveintelligence.function.entity_get_x.desc=Returns the X coordinate of the input entity +datasystem.immersiveintelligence.function.entity_get_x.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_x.param.entity.desc=The entity to get the X coordinate of +datasystem.immersiveintelligence.function.entity_get_x.result=X +datasystem.immersiveintelligence.function.entity_get_x.result.desc=The X coordinate of the input entity + +datasystem.immersiveintelligence.function.entity_get_y=Get Y +datasystem.immersiveintelligence.function.entity_get_y.desc=Returns the Y coordinate of the input entity +datasystem.immersiveintelligence.function.entity_get_y.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_y.param.entity.desc=The entity to get the Y coordinate of +datasystem.immersiveintelligence.function.entity_get_y.result=Y +datasystem.immersiveintelligence.function.entity_get_y.result.desc=The Y coordinate of the input entity + +datasystem.immersiveintelligence.function.entity_get_z=Get Z +datasystem.immersiveintelligence.function.entity_get_z.desc=Returns the Z coordinate of the input entity +datasystem.immersiveintelligence.function.entity_get_z.param.entity=Entity +datasystem.immersiveintelligence.function.entity_get_z.param.entity.desc=The entity to get the Z coordinate of +datasystem.immersiveintelligence.function.entity_get_z.result=Z +datasystem.immersiveintelligence.function.entity_get_z.result.desc=The Z coordinate of the input entity + +# Document +datasystem.immersiveintelligence.function.document_read_page=Read Page +datasystem.immersiveintelligence.function.document_read_page.desc=Returns the content of the specified page in the input document +datasystem.immersiveintelligence.function.document_read_page.param.document=Document +datasystem.immersiveintelligence.function.document_read_page.param.document.desc=The document to read from +datasystem.immersiveintelligence.function.document_read_page.param.page=Page +datasystem.immersiveintelligence.function.document_read_page.param.page.desc=The page to read +datasystem.immersiveintelligence.function.document_read_page.result=Content +datasystem.immersiveintelligence.function.document_read_page.result.desc=The content of the specified page + +datasystem.immersiveintelligence.function.document_read_all_pages_array=Read All Pages (Array) +datasystem.immersiveintelligence.function.document_read_all_pages_array.desc=Returns an array of all pages in the input document +datasystem.immersiveintelligence.function.document_read_all_pages_array.param.document=Document +datasystem.immersiveintelligence.function.document_read_all_pages_array.param.document.desc=The document to read from +datasystem.immersiveintelligence.function.document_read_all_pages_array.result=Pages +datasystem.immersiveintelligence.function.document_read_all_pages_array.result.desc=Array of all pages in the input document + +datasystem.immersiveintelligence.function.document_read_all_pages_string=Read All Pages (String) +datasystem.immersiveintelligence.function.document_read_all_pages_string.desc=Returns a string of all pages in the input document with pages separated by a newline character +datasystem.immersiveintelligence.function.document_read_all_pages_string.param.document=Document +datasystem.immersiveintelligence.function.document_read_all_pages_string.param.document.desc=The document to read from +datasystem.immersiveintelligence.function.document_read_all_pages_string.result=Pages +datasystem.immersiveintelligence.function.document_read_all_pages_string.result.desc=String of all pages in the input document + +datasystem.immersiveintelligence.function.document_get_author=Get Author +datasystem.immersiveintelligence.function.document_get_author.desc=Returns the author of the input document +datasystem.immersiveintelligence.function.document_get_author.param.document=Document +datasystem.immersiveintelligence.function.document_get_author.param.document.desc=The document to get the author of +datasystem.immersiveintelligence.function.document_get_author.result=Author +datasystem.immersiveintelligence.function.document_get_author.result.desc=The author of the input document + +datasystem.immersiveintelligence.function.document_get_title=Get Title +datasystem.immersiveintelligence.function.document_get_title.desc=Returns the title of the input document +datasystem.immersiveintelligence.function.document_get_title.param.document=Document +datasystem.immersiveintelligence.function.document_get_title.param.document.desc=The document to get the title of +datasystem.immersiveintelligence.function.document_get_title.result=Title +datasystem.immersiveintelligence.function.document_get_title.result.desc=The title of the input document + +# Type Conversion +datasystem.immersiveintelligence.function.is_null=Is Null +datasystem.immersiveintelligence.function.is_null.desc=Returns true if the input is null +datasystem.immersiveintelligence.function.is_null.param.checked=Checked +datasystem.immersiveintelligence.function.is_null.param.checked.desc=The value to check +datasystem.immersiveintelligence.function.is_null.result=Result +datasystem.immersiveintelligence.function.is_null.result.desc=Result of the null check + +datasystem.immersiveintelligence.function.is_same_type=Is Same Type +datasystem.immersiveintelligence.function.is_same_type.desc=Returns true if the inputs are of the same type +datasystem.immersiveintelligence.function.is_same_type.param.first=First +datasystem.immersiveintelligence.function.is_same_type.param.first.desc=The first value to compare +datasystem.immersiveintelligence.function.is_same_type.param.second=Second +datasystem.immersiveintelligence.function.is_same_type.param.second.desc=The second value to compare +datasystem.immersiveintelligence.function.is_same_type.result=Result +datasystem.immersiveintelligence.function.is_same_type.result.desc=Result of the type check + +datasystem.immersiveintelligence.function.to_integer=To Integer +datasystem.immersiveintelligence.function.to_integer.desc=Casts the input to an integer +datasystem.immersiveintelligence.function.to_integer.param.casted=Casted +datasystem.immersiveintelligence.function.to_integer.param.casted.desc=The value to cast +datasystem.immersiveintelligence.function.to_integer.result=Integer +datasystem.immersiveintelligence.function.to_integer.result.desc=The input casted to an integer + +datasystem.immersiveintelligence.function.to_float=To Float +datasystem.immersiveintelligence.function.to_float.desc=Casts the input to a float +datasystem.immersiveintelligence.function.to_float.param.casted=Casted +datasystem.immersiveintelligence.function.to_float.param.casted.desc=The value to cast +datasystem.immersiveintelligence.function.to_float.result=Float +datasystem.immersiveintelligence.function.to_float.result.desc=The input casted to a float + +datasystem.immersiveintelligence.function.to_string=To String +datasystem.immersiveintelligence.function.to_string.desc=Casts the input to a string +datasystem.immersiveintelligence.function.to_string.param.casted=Casted +datasystem.immersiveintelligence.function.to_string.param.casted.desc=The value to cast +datasystem.immersiveintelligence.function.to_string.result=String +datasystem.immersiveintelligence.function.to_string.result.desc=The input casted to a string + +datasystem.immersiveintelligence.function.to_boolean=To Boolean +datasystem.immersiveintelligence.function.to_boolean.desc=Casts the input to a boolean +datasystem.immersiveintelligence.function.to_boolean.param.casted=Casted +datasystem.immersiveintelligence.function.to_boolean.param.casted.desc=The value to cast +datasystem.immersiveintelligence.function.to_boolean.result=Boolean +datasystem.immersiveintelligence.function.to_boolean.result.desc=The input casted to a boolean + +datasystem.immersiveintelligence.function.to_null=To Null +datasystem.immersiveintelligence.function.to_null.desc=Returns a null value +datasystem.immersiveintelligence.function.to_null.result=Null +datasystem.immersiveintelligence.function.to_null.result.desc=Type replaced with null + +# Cryptographer +datasystem.immersiveintelligence.function.encrypt_text=Encrypt Text +datasystem.immersiveintelligence.function.encrypt_text.desc=Encrypts the input text +datasystem.immersiveintelligence.function.encrypt_text.param.text=Text +datasystem.immersiveintelligence.function.encrypt_text.param.text.desc=The text to encrypt +datasystem.immersiveintelligence.function.encrypt_text.param.password=Password +datasystem.immersiveintelligence.function.encrypt_text.param.password.desc=The password to use for encryption +datasystem.immersiveintelligence.function.encrypt_text.result=Encrypted Text +datasystem.immersiveintelligence.function.encrypt_text.result.desc=The input text encrypted with the password + +datasystem.immersiveintelligence.function.encrypt_number=Encrypt Number +datasystem.immersiveintelligence.function.encrypt_number.desc=Encrypts the input number +datasystem.immersiveintelligence.function.encrypt_number.param.number=Number +datasystem.immersiveintelligence.function.encrypt_number.param.number.desc=The number to encrypt +datasystem.immersiveintelligence.function.encrypt_number.param.password=Password +datasystem.immersiveintelligence.function.encrypt_number.param.password.desc=The password to use for encryption +datasystem.immersiveintelligence.function.encrypt_number.result=Encrypted Number +datasystem.immersiveintelligence.function.encrypt_number.result.desc=The input number encrypted with the password + +datasystem.immersiveintelligence.function.encrypt_array=Encrypt Array +datasystem.immersiveintelligence.function.encrypt_array.desc=Encrypts the input array +datasystem.immersiveintelligence.function.encrypt_array.param.array=Array +datasystem.immersiveintelligence.function.encrypt_array.param.array.desc=The array to encrypt +datasystem.immersiveintelligence.function.encrypt_array.param.password=Password +datasystem.immersiveintelligence.function.encrypt_array.param.password.desc=The password to use for encryption +datasystem.immersiveintelligence.function.encrypt_array.result=Encrypted Array +datasystem.immersiveintelligence.function.encrypt_array.result.desc=The input array encrypted with the password + +datasystem.immersiveintelligence.function.decrypt_text=Decrypt Text +datasystem.immersiveintelligence.function.decrypt_text.desc=Decrypts the input text +datasystem.immersiveintelligence.function.decrypt_text.param.encrypted=Encrypted Text +datasystem.immersiveintelligence.function.decrypt_text.param.encrypted.desc=The text to decrypt +datasystem.immersiveintelligence.function.decrypt_text.param.password=Password +datasystem.immersiveintelligence.function.decrypt_text.param.password.desc=The password to use for decryption +datasystem.immersiveintelligence.function.decrypt_text.result=Decrypted Text +datasystem.immersiveintelligence.function.decrypt_text.result.desc=The input text decrypted with the password + +datasystem.immersiveintelligence.function.decrypt_number=Decrypt Number +datasystem.immersiveintelligence.function.decrypt_number.desc=Decrypts the input number +datasystem.immersiveintelligence.function.decrypt_number.param.encrypted=Encrypted Number +datasystem.immersiveintelligence.function.decrypt_number.param.encrypted.desc=The number to decrypt +datasystem.immersiveintelligence.function.decrypt_number.param.password=Password +datasystem.immersiveintelligence.function.decrypt_number.param.password.desc=The password to use for decryption +datasystem.immersiveintelligence.function.decrypt_number.result=Decrypted Number +datasystem.immersiveintelligence.function.decrypt_number.result.desc=The input number decrypted with the password + +datasystem.immersiveintelligence.function.decrypt_array=Decrypt Array +datasystem.immersiveintelligence.function.decrypt_array.desc=Decrypts the input array +datasystem.immersiveintelligence.function.decrypt_array.param.encrypted=Encrypted Array +datasystem.immersiveintelligence.function.decrypt_array.param.encrypted.desc=The array to decrypt +datasystem.immersiveintelligence.function.decrypt_array.param.password=Password +datasystem.immersiveintelligence.function.decrypt_array.param.password.desc=The password to use for decryption +datasystem.immersiveintelligence.function.decrypt_array.result=Decrypted Array +datasystem.immersiveintelligence.function.decrypt_array.result.desc=The input array decrypted with the password + +# Vector +datasystem.immersiveintelligence.function.vector_create=Create Vector +datasystem.immersiveintelligence.function.vector_create.desc=Creates a new vector +datasystem.immersiveintelligence.function.vector_create.param.x=X +datasystem.immersiveintelligence.function.vector_create.param.x.desc=The X coordinate of the vector +datasystem.immersiveintelligence.function.vector_create.param.y=Y +datasystem.immersiveintelligence.function.vector_create.param.y.desc=The Y coordinate of the vector +datasystem.immersiveintelligence.function.vector_create.param.z=Z +datasystem.immersiveintelligence.function.vector_create.param.z.desc=The Z coordinate of the vector +datasystem.immersiveintelligence.function.vector_create.result=Vector +datasystem.immersiveintelligence.function.vector_create.result.desc=A vector with the specified coordinates + +datasystem.immersiveintelligence.function.vector_create_angle=Create Vector from Angles +datasystem.immersiveintelligence.function.vector_create_angle.desc=Creates a new vector from the input angles +datasystem.immersiveintelligence.function.vector_create_angle.param.offset=Offset +datasystem.immersiveintelligence.function.vector_create_angle.param.offset.desc=The offset of the vector +datasystem.immersiveintelligence.function.vector_create_angle.param.yaw=Yaw +datasystem.immersiveintelligence.function.vector_create_angle.param.yaw.desc=The yaw angle of the vector, in degrees from -180 to 180 +datasystem.immersiveintelligence.function.vector_create_angle.param.pitch=Pitch +datasystem.immersiveintelligence.function.vector_create_angle.param.pitch.desc=The pitch angle of the vector, in degrees from -90 to 90 +datasystem.immersiveintelligence.function.vector_create_angle.result=Vector +datasystem.immersiveintelligence.function.vector_create_angle.result.desc=A vector of given length angled in the specified direction + +datasystem.immersiveintelligence.function.vector_get_x=Get X +datasystem.immersiveintelligence.function.vector_get_x.desc=Returns the X coordinate of the input vector +datasystem.immersiveintelligence.function.vector_get_x.param.vector=Vector +datasystem.immersiveintelligence.function.vector_get_x.param.vector.desc=The vector to get the X coordinate of +datasystem.immersiveintelligence.function.vector_get_x.result=X +datasystem.immersiveintelligence.function.vector_get_x.result.desc=The X coordinate of the input vector + +datasystem.immersiveintelligence.function.vector_get_y=Get Y +datasystem.immersiveintelligence.function.vector_get_y.desc=Returns the Y coordinate of the input vector +datasystem.immersiveintelligence.function.vector_get_y.param.vector=Vector +datasystem.immersiveintelligence.function.vector_get_y.param.vector.desc=The vector to get the Y coordinate of +datasystem.immersiveintelligence.function.vector_get_y.result=Y +datasystem.immersiveintelligence.function.vector_get_y.result.desc=The Y coordinate of the input vector + +datasystem.immersiveintelligence.function.vector_get_z=Get Z +datasystem.immersiveintelligence.function.vector_get_z.desc=Returns the Z coordinate of the input vector +datasystem.immersiveintelligence.function.vector_get_z.param.vector=Vector +datasystem.immersiveintelligence.function.vector_get_z.param.vector.desc=The vector to get the Z coordinate of +datasystem.immersiveintelligence.function.vector_get_z.result=Z +datasystem.immersiveintelligence.function.vector_get_z.result.desc=The Z coordinate of the input vector + +datasystem.immersiveintelligence.function.vector_get_pitch=Get Pitch +datasystem.immersiveintelligence.function.vector_get_pitch.desc=Returns the pitch angle of the input vector +datasystem.immersiveintelligence.function.vector_get_pitch.param.vector=Vector +datasystem.immersiveintelligence.function.vector_get_pitch.param.vector.desc=The vector to get the pitch angle of +datasystem.immersiveintelligence.function.vector_get_pitch.result=Pitch +datasystem.immersiveintelligence.function.vector_get_pitch.result.desc=The pitch angle of the input vector in degrees from -90 to 90 + +datasystem.immersiveintelligence.function.vector_get_yaw=Get Yaw +datasystem.immersiveintelligence.function.vector_get_yaw.desc=Returns the yaw angle of the input vector +datasystem.immersiveintelligence.function.vector_get_yaw.param.vector=Vector +datasystem.immersiveintelligence.function.vector_get_yaw.param.vector.desc=The vector to get the yaw angle of +datasystem.immersiveintelligence.function.vector_get_yaw.result=Yaw +datasystem.immersiveintelligence.function.vector_get_yaw.result.desc=The yaw angle of the input vector in degrees from -180 to 180 + +datasystem.immersiveintelligence.function.vector_set_x=Set X +datasystem.immersiveintelligence.function.vector_set_x.desc=Sets the X coordinate of the input vector +datasystem.immersiveintelligence.function.vector_set_x.param.vector=Vector +datasystem.immersiveintelligence.function.vector_set_x.param.vector.desc=The vector to modify +datasystem.immersiveintelligence.function.vector_set_x.param.x=X +datasystem.immersiveintelligence.function.vector_set_x.param.x.desc=The X coordinate to set +datasystem.immersiveintelligence.function.vector_set_x.result=Vector +datasystem.immersiveintelligence.function.vector_set_x.result.desc=The vector with the new X coordinate + +datasystem.immersiveintelligence.function.vector_set_y=Set Y +datasystem.immersiveintelligence.function.vector_set_y.desc=Sets the Y coordinate of the input vector +datasystem.immersiveintelligence.function.vector_set_y.param.vector=Vector +datasystem.immersiveintelligence.function.vector_set_y.param.vector.desc=The vector to modify +datasystem.immersiveintelligence.function.vector_set_y.param.y=Y +datasystem.immersiveintelligence.function.vector_set_y.param.y.desc=The Y coordinate to set +datasystem.immersiveintelligence.function.vector_set_y.result=Vector +datasystem.immersiveintelligence.function.vector_set_y.result.desc=The vector with the new Y coordinate + +datasystem.immersiveintelligence.function.vector_set_z=Set Z +datasystem.immersiveintelligence.function.vector_set_z.desc=Sets the Z coordinate of the input vector +datasystem.immersiveintelligence.function.vector_set_z.param.vector=Vector +datasystem.immersiveintelligence.function.vector_set_z.param.vector.desc=The vector to modify +datasystem.immersiveintelligence.function.vector_set_z.param.z=Z +datasystem.immersiveintelligence.function.vector_set_z.param.z.desc=The Z coordinate to set +datasystem.immersiveintelligence.function.vector_set_z.result=Vector +datasystem.immersiveintelligence.function.vector_set_z.result.desc=The vector with the new Z coordinate + +datasystem.immersiveintelligence.function.vector_add=Add +datasystem.immersiveintelligence.function.vector_add.desc=Adds the input vectors together, for example (1,2,3) + (4,5,6) = (5,7,9) +datasystem.immersiveintelligence.function.vector_add.param.vector=Vector +datasystem.immersiveintelligence.function.vector_add.param.vector.desc=The vector to add +datasystem.immersiveintelligence.function.vector_add.result=Result +datasystem.immersiveintelligence.function.vector_add.result.desc=The sum of the input vectors + +datasystem.immersiveintelligence.function.vector_sub=Subtract +datasystem.immersiveintelligence.function.vector_sub.desc=Subtracts the second vector from the first vector, for example (1,2,3) - (4,5,6) = (-3,-3,-3) +datasystem.immersiveintelligence.function.vector_sub.param.first=First Vector +datasystem.immersiveintelligence.function.vector_sub.param.first.desc=The vector to subtract from +datasystem.immersiveintelligence.function.vector_sub.param.second=Second Vector +datasystem.immersiveintelligence.function.vector_sub.param.second.desc=The vector to subtract +datasystem.immersiveintelligence.function.vector_sub.result=Result +datasystem.immersiveintelligence.function.vector_sub.result.desc=The difference of the input vectors + +datasystem.immersiveintelligence.function.vector_scale=Scale +datasystem.immersiveintelligence.function.vector_scale.desc=Scales the input vector by the specified scalar, for example (1,2,3) * 2 = (2,4,6) +datasystem.immersiveintelligence.function.vector_scale.param.vector=Vector +datasystem.immersiveintelligence.function.vector_scale.param.vector.desc=The vector to multiply +datasystem.immersiveintelligence.function.vector_scale.param.scalar=Scalar +datasystem.immersiveintelligence.function.vector_scale.param.scalar.desc=The scalar to multiply by +datasystem.immersiveintelligence.function.vector_scale.result=Result +datasystem.immersiveintelligence.function.vector_scale.result.desc=The input vector multiplied by the scalar + +datasystem.immersiveintelligence.function.vector_mul=Multiply +datasystem.immersiveintelligence.function.vector_mul.desc=Multiplies the input vectors together, for example (1,2,3) * (4,5,6) = (4,10,18) +datasystem.immersiveintelligence.function.vector_mul.param.vector=Vector +datasystem.immersiveintelligence.function.vector_mul.param.vector.desc=The vector to multiply +datasystem.immersiveintelligence.function.vector_mul.result=Result +datasystem.immersiveintelligence.function.vector_mul.result.desc=The product of the input vectors + +datasystem.immersiveintelligence.function.vector_dot=Dot Product +datasystem.immersiveintelligence.function.vector_dot.desc=Calculates the dot product of the input vectors. +datasystem.immersiveintelligence.function.vector_dot.param.first=First Vector +datasystem.immersiveintelligence.function.vector_dot.param.first.desc=The first vector +datasystem.immersiveintelligence.function.vector_dot.param.second=Second Vector +datasystem.immersiveintelligence.function.vector_dot.param.second.desc=The second vector +datasystem.immersiveintelligence.function.vector_dot.result=Dot Product +datasystem.immersiveintelligence.function.vector_dot.result.desc=A value measuring how much one vector goes in the direction of another. + +datasystem.immersiveintelligence.function.vector_cross=Cross Product +datasystem.immersiveintelligence.function.vector_cross.desc=Calculates the cross product of the input vectors. +datasystem.immersiveintelligence.function.vector_cross.param.first=First Vector +datasystem.immersiveintelligence.function.vector_cross.param.first.desc=The first vector +datasystem.immersiveintelligence.function.vector_cross.param.second=Second Vector +datasystem.immersiveintelligence.function.vector_cross.param.second.desc=The second vector +datasystem.immersiveintelligence.function.vector_cross.result=Cross Product +datasystem.immersiveintelligence.function.vector_cross.result.desc=A new vector that is perpendicular to both of the original vectors, meaning a point where they cross (meet or intersect) at a right (90 degrees) angle. + +datasystem.immersiveintelligence.function.vector_length=Length +datasystem.immersiveintelligence.function.vector_length.desc=Returns the length of the input vector +datasystem.immersiveintelligence.function.vector_length.param.vector=Vector +datasystem.immersiveintelligence.function.vector_length.param.vector.desc=The vector to get the length of +datasystem.immersiveintelligence.function.vector_length.result=Length +datasystem.immersiveintelligence.function.vector_length.result.desc=The distance from the origin (0,0,0) to the end of the vector + +datasystem.immersiveintelligence.function.vector_normalize=Normalize +datasystem.immersiveintelligence.function.vector_normalize.desc=Normalizes the input vector +datasystem.immersiveintelligence.function.vector_normalize.param.vector=Vector +datasystem.immersiveintelligence.function.vector_normalize.param.vector.desc=The vector to normalize +datasystem.immersiveintelligence.function.vector_normalize.result=Normalized Vector +datasystem.immersiveintelligence.function.vector_normalize.result.desc=A vector with the same direction as the input vector, but with a length of 1 + +datasystem.immersiveintelligence.function.vector_distance=Distance +datasystem.immersiveintelligence.function.vector_distance.desc=Returns the distance between the two input vectors +datasystem.immersiveintelligence.function.vector_distance.param.first=First Vector +datasystem.immersiveintelligence.function.vector_distance.param.first.desc=The first vector +datasystem.immersiveintelligence.function.vector_distance.param.second=Second Vector +datasystem.immersiveintelligence.function.vector_distance.param.second.desc=The second vector +datasystem.immersiveintelligence.function.vector_distance.result=Distance +datasystem.immersiveintelligence.function.vector_distance.result.desc=The distance between the input vectors + +# Map + +datasystem.immersiveintelligence.function.map_create=Create Map +datasystem.immersiveintelligence.function.map_create.desc=Creates a new map containing the specified key-value pair +datasystem.immersiveintelligence.function.map_create.param.key=Key +datasystem.immersiveintelligence.function.map_create.param.key.desc=The key of the initial pair +datasystem.immersiveintelligence.function.map_create.param.value=Value +datasystem.immersiveintelligence.function.map_create.param.value.desc=The value of the initial pair +datasystem.immersiveintelligence.function.map_create.result=Map +datasystem.immersiveintelligence.function.map_create.result.desc=The new map + +datasystem.immersiveintelligence.function.map_get=Get +datasystem.immersiveintelligence.function.map_get.desc=Returns the value associated with the specified key in the input map +datasystem.immersiveintelligence.function.map_get.param.map=Map +datasystem.immersiveintelligence.function.map_get.param.map.desc=The map to get the value from +datasystem.immersiveintelligence.function.map_get.param.key=Key +datasystem.immersiveintelligence.function.map_get.param.key.desc=The key to get the value for +datasystem.immersiveintelligence.function.map_get.result=Value +datasystem.immersiveintelligence.function.map_get.result.desc=The value associated with the specified key + +datasystem.immersiveintelligence.function.map_set=Set +datasystem.immersiveintelligence.function.map_set.desc=Sets the value associated with the specified key in the input map +datasystem.immersiveintelligence.function.map_set.param.map=Map +datasystem.immersiveintelligence.function.map_set.param.map.desc=The map to modify +datasystem.immersiveintelligence.function.map_set.param.key=Key +datasystem.immersiveintelligence.function.map_set.param.key.desc=The key to set the value for +datasystem.immersiveintelligence.function.map_set.param.value=Value +datasystem.immersiveintelligence.function.map_set.param.value.desc=The value to set +datasystem.immersiveintelligence.function.map_set.result=Map +datasystem.immersiveintelligence.function.map_set.result.desc=The map with the new key-value pair + +datasystem.immersiveintelligence.function.map_remove=Remove +datasystem.immersiveintelligence.function.map_remove.desc=Removes the value associated with the specified key in the input map +datasystem.immersiveintelligence.function.map_remove.param.map=Map +datasystem.immersiveintelligence.function.map_remove.param.map.desc=The map to modify +datasystem.immersiveintelligence.function.map_remove.param.key=Key +datasystem.immersiveintelligence.function.map_remove.param.key.desc=The key to remove +datasystem.immersiveintelligence.function.map_remove.result=Removed +datasystem.immersiveintelligence.function.map_remove.result.desc=The value removed from the map + +datasystem.immersiveintelligence.function.map_clear=Clear +datasystem.immersiveintelligence.function.map_clear.desc=Removes all key-value pairs from the input map +datasystem.immersiveintelligence.function.map_clear.param.map=Map +datasystem.immersiveintelligence.function.map_clear.param.map.desc=The map to clear +datasystem.immersiveintelligence.function.map_clear.result=Map +datasystem.immersiveintelligence.function.map_clear.result.desc=The map with all key-value pairs removed + +datasystem.immersiveintelligence.function.map_contains=Contains Key +datasystem.immersiveintelligence.function.map_contains.desc=Returns true if the input map contains the specified key +datasystem.immersiveintelligence.function.map_contains.param.map=Map +datasystem.immersiveintelligence.function.map_contains.param.map.desc=The map to check +datasystem.immersiveintelligence.function.map_contains.param.key=Key +datasystem.immersiveintelligence.function.map_contains.param.key.desc=The key to check for +datasystem.immersiveintelligence.function.map_contains.result=Contains +datasystem.immersiveintelligence.function.map_contains.result.desc=Result of the key check + +datasystem.immersiveintelligence.function.map_keys=Get Keys +datasystem.immersiveintelligence.function.map_keys.desc=Returns an array of all keys in the input map +datasystem.immersiveintelligence.function.map_keys.param.map=Map +datasystem.immersiveintelligence.function.map_keys.param.map.desc=The map to get the keys from +datasystem.immersiveintelligence.function.map_keys.result=Keys +datasystem.immersiveintelligence.function.map_keys.result.desc=Array of all keys in the input map + +datasystem.immersiveintelligence.function.map_values=Get Values +datasystem.immersiveintelligence.function.map_values.desc=Returns an array of all values in the input map +datasystem.immersiveintelligence.function.map_values.param.map=Map +datasystem.immersiveintelligence.function.map_values.param.map.desc=The map to get the values from +datasystem.immersiveintelligence.function.map_values.result=Values +datasystem.immersiveintelligence.function.map_values.result.desc=Array of all values in the input map + +datasystem.immersiveintelligence.function.map_size=Get Size +datasystem.immersiveintelligence.function.map_size.desc=Returns the number of pairs in the input map +datasystem.immersiveintelligence.function.map_size.param.map=Map +datasystem.immersiveintelligence.function.map_size.param.map.desc=The map to get the size of +datasystem.immersiveintelligence.function.map_size.result=Size +datasystem.immersiveintelligence.function.map_size.result.desc=The number of pairs in the input map + + +datasystem.immersiveintelligence.datatype.null=空 +datasystem.immersiveintelligence.datatype.boolean=布尔 +datasystem.immersiveintelligence.datatype.integer=整数 +datasystem.immersiveintelligence.datatype.float=浮点数 +datasystem.immersiveintelligence.datatype.vector=矢量 +datasystem.immersiveintelligence.datatype.string=字符串 +datasystem.immersiveintelligence.datatype.expression=表达式 +datasystem.immersiveintelligence.datatype.accessor=访问器 +datasystem.immersiveintelligence.datatype.logitag=物流标记 +datasystem.immersiveintelligence.datatype.itemstack=物品堆栈 +datasystem.immersiveintelligence.datatype.fluidstack=流体堆栈 +datasystem.immersiveintelligence.datatype.array=数组 +datasystem.immersiveintelligence.datatype.map=地图 +datasystem.immersiveintelligence.datatype.entity=实体 +datasystem.immersiveintelligence.datatype.encrypted=加密 + +datasystem.immersiveintelligence.datatype.boolean.true=True +datasystem.immersiveintelligence.datatype.boolean.false=False + +#Blueprints + +desc.immersiveengineering.info.blueprint.basic_circuits=基础电路 +desc.immersiveengineering.info.blueprint.advanced_circuits=高级电路 +desc.immersiveengineering.info.blueprint.processors=处理器 +desc.immersiveengineering.info.blueprint.cryptography_circuits=密码学电路 + +desc.immersiveengineering.info.blueprint.basic_functional_circuits=基础子例程电路 +desc.immersiveengineering.info.blueprint.advanced_functional_circuits=高级子例程电路 +desc.immersiveengineering.info.blueprint.processor_functional_circuits=可编程处理器 +desc.immersiveengineering.info.blueprint.cryptographic_functional_circuits=密码处理器 + +desc.immersiveengineering.info.blueprint.metal_springs=弹簧 +desc.immersiveengineering.info.blueprint.ammo_molds=弹药模具 +desc.immersiveengineering.info.blueprint.vulcanizer_molds=硫化模具 +desc.immersiveengineering.info.blueprint.bullet_magazines=子弹弹匣 + +#Keybindings +key.immersiveintelligence.manualReload=手动装填 +key.immersiveintelligence.armorHelmet=切换工程师轻甲头部装备 +key.immersiveintelligence.armorExosuit=切换工程师轻甲外骨骼 + +key.immersiveintelligence.mgScope=放大/机枪瞄准镜 + +key.categories.iivehicle=Vehicles (Immersive Intelligence) +key.immersiveintelligence.vehicle.engine.toggle=切换引擎 +key.immersiveintelligence.vehicle.engine.start=发动引擎 +key.immersiveintelligence.vehicle.engine.stop=关闭引擎 +key.immersiveintelligence.vehicle.clutch=踩离合器 + +key.immersiveintelligence.vehicle.gear.up=升高挡位 +key.immersiveintelligence.vehicle.gear.down=降低档位 +key.immersiveintelligence.vehicle.gear2.toggle=切换副齿轮箱 +key.immersiveintelligence.vehicle.gear2.overdrive=副变速箱 - 超速档 +key.immersiveintelligence.vehicle.gear2.reduction=副齿轮箱 - 减速 + +key.immersiveintelligence.vehicle.brake=手刹 + +key.immersiveintelligence.vehicle.hatch.open=打开舱口 +key.immersiveintelligence.vehicle.hatch.close=关闭舱口 +key.immersiveintelligence.vehicle.door.open=开门 +key.immersiveintelligence.vehicle.door.close=关门 + +key.immersiveintelligence.vehicle.seat.inventory=切换到物品栏 +key.immersiveintelligence.vehicle.seat.vehicle=切换到车辆控制 + +key.immersiveintelligence.vehicle.interact.inventory=打开载具储存 + +key.immersiveintelligence.vehicle.tow.toggle=牵引/取消牵引 +key.immersiveintelligence.vehicle.tow.start=牵引 +key.immersiveintelligence.vehicle.tow.stop=取消牵引 + +key.immersiveintelligence.vehicle.gun.up=炮身向上 +key.immersiveintelligence.vehicle.gun.down=炮身向下 +key.immersiveintelligence.vehicle.gun.left=炮身向左 +key.immersiveintelligence.vehicle.gun.right=炮身向右 + +#Advancements +advancement.immersiveintelligence.root=沉浸智能 +advancement.immersiveintelligence.root.desc=RTFM? + +advancement.immersiveintelligence.connect_belt=强力输送 +advancement.immersiveintelligence.connect_belt.desc=用传动带线圈连接两个机械轮 + +advancement.immersiveintelligence.craft_gun_barrel_iron=你滴,枪匠滴干活? +advancement.immersiveintelligence.craft_gun_barrel_iron.desc=制作铁质枪管,让你可以制造基本的枪支. + +advancement.immersiveintelligence.craft_gun_barrel_steel=工业化火器 +advancement.immersiveintelligence.craft_gun_barrel_steel.desc=打造钢质枪管,让您迈出进入工业战争时代的第一步. + +advancement.immersiveintelligence.craft_gun_barrel_tungsten=精度的重要性 +advancement.immersiveintelligence.craft_gun_barrel_tungsten.desc=制作高精度枪管,将最先进的火器引入您的武器库. + +advancement.immersiveintelligence.craft_diy=DIY +advancement.immersiveintelligence.craft_diy.desc=制作手工步枪 + +advancement.immersiveintelligence.craft_rifle=群众的武器 +advancement.immersiveintelligence.craft_rifle.desc=制作量产型步枪 + +advancement.immersiveintelligence.for_the_emperor=天闹黑卡,板载! +advancement.immersiveintelligence.for_the_emperor.desc=为步枪安装一把刺刀 + +advancement.immersiveintelligence.craft_stg=人人都该有把暴风突击枪! +advancement.immersiveintelligence.craft_stg.desc=制作突击步枪 + +advancement.immersiveintelligence.weapon_of_war=这武器为了战争而生! +advancement.immersiveintelligence.weapon_of_war.desc=为突击步枪安装瞄准镜与火控电机 + +advancement.immersiveintelligence.the_accelerator="爆"改 +advancement.immersiveintelligence.the_accelerator.desc=为突击步枪安装榴弹发射器与磁轨炮身管 + +advancement.immersiveintelligence.special_operations_initiative=特种作战倡议 +advancement.immersiveintelligence.special_operations_initiative.desc=为突击步枪安装测距仪 + +advancement.immersiveintelligence.craft_smg=英国兵的小玩意 +advancement.immersiveintelligence.craft_smg.desc=制作冲锋枪 + +advancement.immersiveintelligence.infinite_power=无限续航 +advancement.immersiveintelligence.infinite_power.desc=为冲锋枪安装底部装弹器与加强枪管 + +advancement.immersiveintelligence.the_silent_unseen=未知静谧 +advancement.immersiveintelligence.the_silent_unseen.desc=为冲锋枪安装折叠式枪托与消音器 + +advancement.immersiveintelligence.craft_cpds=开火十二秒的代价 +advancement.immersiveintelligence.craft_cpds.desc=制作CPDS弹鼓 + +#Reference to Tiger 1 tank memes +advancement.immersiveintelligence.craft_steel_belt=Hans, ze Transmission Works! +advancement.immersiveintelligence.craft_steel_belt.desc=制作钢质传动带 + +advancement.immersiveintelligence.secret_connect_wire=狭路相逢勇者胜 +advancement.immersiveintelligence.secret_connect_wire.desc=够了吗?现在让我歇一会! + +advancement.immersiveintelligence.advanced_circuit_board=更好!更强!更快! +advancement.immersiveintelligence.advanced_circuit_board.desc=制作高级电路板 + +advancement.immersiveintelligence.artillery_howitzer="大贝莎"的妹妹 +advancement.immersiveintelligence.artillery_howitzer.desc=创建一门榴弹炮 + +advancement.immersiveintelligence.chemical_bath=泡泡机 +advancement.immersiveintelligence.chemical_bath.desc=创建化学浸洗机 + +advancement.immersiveintelligence.circuit_board=哔哔卟卟 +advancement.immersiveintelligence.circuit_board.desc=制作电路板 + +#Ay you, yes you @CrimsonTwilight, we know you want the inserters in IG :D +advancement.immersiveintelligence.craft_advanced_inserter=Crimson牌机械臂 +advancement.immersiveintelligence.craft_advanced_inserter.desc=制作升级版的物品抓取机械臂 + +advancement.immersiveintelligence.craft_binoculars=战术观察|・ω・`) +advancement.immersiveintelligence.craft_binoculars.desc=制作双筒望远镜 + +advancement.immersiveintelligence.craft_chemdispenser=暗夜中的火焰 +advancement.immersiveintelligence.craft_chemdispenser.desc=制作化学喷射器 + +advancement.immersiveintelligence.craft_inserter=没有黄色版本 +advancement.immersiveintelligence.craft_inserter.desc=制作一个物品抓取机械臂 + +#Long story short, in Company of Heroes 2 on Wikinger Mod, there is a special unit type - the infiltrators +#Those guys often have superior firepower and accuracy, German units are using the Sturmgewehrs with infrared sights +#That's why all the infiltration stuff in II is related to Infrared Vision +advancement.immersiveintelligence.craft_ir_binoculars=渗透者 +advancement.immersiveintelligence.craft_ir_binoculars.desc=制作红外双筒望远镜 + +#Reference to Fullmetal Alchemist: Brotherhood (Lust death scene) +advancement.immersiveintelligence.craft_lighter=zippo的回归 +advancement.immersiveintelligence.craft_lighter.desc=制作打火机 + +advancement.immersiveintelligence.craft_mg=汉斯的财产 +advancement.immersiveintelligence.craft_mg.desc=制造臭名昭著的机关枪 + +advancement.immersiveintelligence.craft_mortar=死从天降 +advancement.immersiveintelligence.craft_mortar.desc=制作迫击炮 + +#Reference to Industrialcraft2's alarm siren addon +advancement.immersiveintelligence.craft_siren=反应堆还好吗? +advancement.immersiveintelligence.craft_siren.desc=制作警报器 + +#Reference to a sidenote on one of Choroman's concept drawings +advancement.immersiveintelligence.craft_speaker=令工程师愉悦的声音 +advancement.immersiveintelligence.craft_speaker.desc=制作可编程扬声器 + +advancement.immersiveintelligence.electrolyzer=流体休克疗法 +advancement.immersiveintelligence.electrolyzer.desc=创建电解器 + +advancement.immersiveintelligence.hans_9000=汉斯9K +advancement.immersiveintelligence.hans_9000.desc=为了静态防御使机枪就绪 + +#A reference to the well known engineer and weapon maker Jörg Sprave +advancement.immersiveintelligence.let_me_show_you_its_features=瞧瞧它的厉害! +advancement.immersiveintelligence.let_me_show_you_its_features.desc=为机枪安装红外瞄准镜,重型枪管,副弹匣 + +#A JoJo reference +advancement.immersiveintelligence.make_platinum=胜过the World? +advancement.immersiveintelligence.make_platinum.desc=获取白金锭 + +#A Dr. Stone reference +advancement.immersiveintelligence.make_tungsten=用热量打败怪物 +advancement.immersiveintelligence.make_tungsten.desc=获取钨锭 + +advancement.immersiveintelligence.make_tungsten_drillhead=比矮人更快! +advancement.immersiveintelligence.make_tungsten_drillhead.desc=制作钨质钻头 + +#Reference to a well known mod +advancement.immersiveintelligence.make_tungsten_drillhead_diamond=匠魂的既视感... +advancement.immersiveintelligence.make_tungsten_drillhead_diamond.desc=制作镶钻钨质钻头 + +advancement.immersiveintelligence.prec_assembler=品质:大师 +advancement.immersiveintelligence.prec_assembler.desc=制作精密组装器 + +advancement.immersiveintelligence.printing_press=油墨不足 +advancement.immersiveintelligence.printing_press.desc=创建印刷机 + +#Ah, the good old Crysis 3 +advancement.immersiveintelligence.processor_circuit_board=它能玩孤岛惊魂? +advancement.immersiveintelligence.processor_circuit_board.desc=制作处理器电路板 + +advancement.immersiveintelligence.radio_station=远程控制! +advancement.immersiveintelligence.radio_station.desc=创建无线电基站 + +#Tripod Periscope +advancement.immersiveintelligence.craft_tripod_periscope=棍子上的风景 +advancement.immersiveintelligence.craft_tripod_periscope.desc=制作三脚架潜望镜 + +#Reference to a chat with Carver +advancement.immersiveintelligence.craft_mine_detector=不是吸尘器 +advancement.immersiveintelligence.craft_mine_detector.desc=制作地雷探测器 + +#Ground Zero is a centre of a nuclear explosion +advancement.immersiveintelligence.secret_nuclear_tripmine=爆心播种 +advancement.immersiveintelligence.secret_nuclear_tripmine.desc=部署核子绊雷 + +#Reference to C&C +advancement.immersiveintelligence.rad_cannon=展开末日与根除 +advancement.immersiveintelligence.rad_cannon.desc=成为对环境稳定的公然冒犯 + +#Reference to an old Polish meme, in which a certain cocoa brand is actually a story-rich book! +#The cocoa was once put into a shop's shelf, mistaken as a book, that's where it started. +advancement.immersiveintelligence.secret_cocoa=Stories of Deco Morreno +advancement.immersiveintelligence.secret_cocoa.desc=The supreme quality has been achieved + +#Reference to Carver and C&C, though I left the mind control feature optional, was kinda op +advancement.immersiveintelligence.secret_carvers_revenge=Carver的复仇 +advancement.immersiveintelligence.secret_carvers_revenge.desc=你的意思是,我们不能精神控制核发射井? + +#URA! Reference to a youtube video by HRejterzy, check it out ^^ +advancement.immersiveintelligence.create_motorbike=Za vas, za nas, za neft' i gaz! +advancement.immersiveintelligence.create_motorbike.desc=组装摩托车 + +#Reference to a certain discord chat +advancement.immersiveintelligence.secret_sorry_for_ceiling=抱歉干了你的棚顶! +advancement.immersiveintelligence.secret_sorry_for_ceiling.desc=使用榴弹炮宣传弹打穿天花板 + +#Reference to the russian II tutorial video by Ocelot +advancement.immersiveintelligence.emplacement=小小的也很可爱 +advancement.immersiveintelligence.emplacement.desc=创建武器站-一种可以装备大型杀伤性武器的防御性建筑 + +advancement.immersiveintelligence.flagpole=全体起立! +advancement.immersiveintelligence.flagpole.desc=建造旗杆,装饰性地标与区块加载器 + + +#Manual Categories + +ie.manual.category.ii_data.name=数据与电子技术 +ie.manual.category.ii_warfare.name=战争 +ie.manual.category.ii_logistics.name=物流 +ie.manual.category.ii_intel.name=情报 +ie.manual.category.ii_motorworks.name=载具 +ie.manual.category.ii_other.name=其他 + + +ie.manual.folder.functions=函数说明 +ie.manual.folder.computers=电脑 + +ie.manual.folder.weaponry=武器 +ie.manual.folder.armortools=装甲与工具 +ie.manual.folder.staticdefense=防御建筑 + +ie.manual.entry.traits.level_beginner=复杂性:前工业时代 +ie.manual.entry.traits.level_early_industrial=复杂性:早期工业时代 +ie.manual.entry.traits.level_industrial=复杂性:工业时代 +ie.manual.entry.traits.level_advanced_industrial=复杂性:末工业时代 +ie.manual.entry.traits.level_circuits=复杂性:电子时代 +ie.manual.entry.traits.level_computer=复杂性:计算机时代 +ie.manual.entry.traits.hammer=基础多方块结构-从工程师锤开始 +ie.manual.entry.traits.hammer_electric=先进多方块结构-从电动锤开始 +ie.manual.entry.traits.upgradable=可升级的 +ie.manual.entry.traits.repairable=可修补的 +ie.manual.entry.traits.decorations=可修饰的 +ie.manual.entry.traits.paintable=可涂漆的 + +ie.manual.entry.wip_warning0=警告! 开发中内容. +ie.manual.entry.wip_warning1=工程部正在努力将它推到前面! +ie.manual.entry.wip_warning.upgrade=该功能可能缺乏视觉效果或没有任何功能,不要报告此问题. + +ie.manual.entry.data_operation.inputs=输入 +ie.manual.entry.data_operation.output=输出 +ie.manual.entry.data_operation.pol=POL代码实例 +ie.manual.entry.data_operation.tooltip_data=切换到数据视图 +ie.manual.entry.data_operation.tooltip_pol=切换到POL实施 +ie.manual.entry.data_operation.comment.import=导入数据操作 +ie.manual.entry.data_operation.comment.import_more=或者 +ie.manual.entry.data_operation.comment.example=使用示例 + +ie.manual.entry.data_variable.allowed_value=允许的值: +ie.manual.entry.data_variable.allowed_values=允许的值: +ie.manual.entry.data_variable.required_variables=必需的变量: + +#manual multiblock forming block position text +ie.manual.entry.multiblock_forming= %1$s 可以通过使用 %2$s 在 %3$s %4$s +ie.manual.entry.multiblock_forming_short=它 可以通过使用 %2$s 在 %3$s %4$s +#y axis +ie.manual.entry.multiblock_forming.up=上方 +ie.manual.entry.multiblock_forming.middle=中间 +ie.manual.entry.multiblock_forming.down=下方 +#z axis +ie.manual.entry.multiblock_forming.left=左侧 +ie.manual.entry.multiblock_forming.center=中间 +ie.manual.entry.multiblock_forming.right=右侧 +#x axis +ie.manual.entry.multiblock_forming.front=前方 +ie.manual.entry.multiblock_forming.back=后方 + +ie.manual.entry.immersiveposts.posts_brass=黄铜





    装饰品 +ie.manual.entry.immersiveposts.posts_tungsten=钨





    硬汉 +ie.manual.entry.immersiveposts.posts_zinc=锌





    脆弱 +ie.manual.entry.immersiveposts.posts_platinum=铂





    [The World] +ie.manual.entry.immersiveposts.posts_duraluminium=硬化铝合金





    空心的 + +#Data and Electronics + +ie.manual.entry.def_value=一般值 +ie.manual.entry.min_value=最小值 +ie.manual.entry.max_value=最大值 +ie.manual.entry.min_index=最低指数 +ie.manual.entry.max_index=最高指数 +ie.manual.entry.empty=空 +ie.manual.entry.accepted_values=可接受的值 +ie.manual.entry.max_length=最大长度 +ie.manual.entry.tf=True/False +ie.manual.entry.false=False +ie.manual.entry.true=True + +ie.manual.entry.callback_returns=Returns: + +#Bullet cores & components +ie.manual.entry.bullet_cores.name=弹芯材料 +ie.manual.entry.bullet_cores.subtext=我们未能击穿敌方装甲! + +ie.manual.entry.bullet_core.core_brass=黄铜弹芯 +ie.manual.entry.bullet_core.core_brass.lore=蒸汽朋克 +ie.manual.entry.bullet_core.core_brass.desc=黄铜是一种穿透能力较差的重金属,但它大大增加了装药的效果. + +ie.manual.entry.bullet_core.core_copper=铜制弹芯 +ie.manual.entry.bullet_core.core_copper.lore=每一分钱都很重要 +ie.manual.entry.bullet_core.core_copper.desc=铜是一种便宜的子弹材料,它的穿透能力不如黄铜,但有其成分效果. + +ie.manual.entry.bullet_core.core_lead=铅质弹芯 +ie.manual.entry.bullet_core.core_lead.lore=又丑又好用 +ie.manual.entry.bullet_core.core_lead.desc=铅是制造高伤害,中等穿透力的廉价子弹的好材料. + +ie.manual.entry.bullet_core.core_iron=铁质弹芯 +ie.manual.entry.bullet_core.core_iron.lore=中产阶级 +ie.manual.entry.bullet_core.core_iron.desc=铁是早期子弹的好材料,它具有高于平均水平的穿透力和射程,但组件效果和伤害较弱。 + +ie.manual.entry.bullet_core.core_steel=钢质弹芯 +ie.manual.entry.bullet_core.core_steel.lore=全金属被甲! +ie.manual.entry.bullet_core.core_steel.desc=使用钢是提高射弹穿透能力的一种不昂贵的方法,唯一的缺点是装药效果略有降低. + +ie.manual.entry.bullet_core.core_tungsten=钨质弹芯 +ie.manual.entry.bullet_core.core_tungsten.lore=复合穿甲弹一发装填! +ie.manual.entry.bullet_core.core_tungsten.desc=钨比钢更擅长穿透物体,但它会降低装药的效果. + +ie.manual.entry.bullet_core.core_uranium=铀质弹芯 +ie.manual.entry.bullet_core.core_uranium.lore=弹药"贫乏"是什么意思? +ie.manual.entry.bullet_core.core_uranium.desc=低重量和高硬度使铀成为一种很好的穿甲材料而不会失去携带爆炸材料的能力.不错,但价格昂贵. + +ie.manual.entry.bullet_core.core_rubber=橡胶弹芯 +ie.manual.entry.bullet_core.core_rubber.lore=震人心扉! +ie.manual.entry.bullet_core.core_rubber.desc=橡胶弹芯比金属弹芯致命性低,但具有更强的击退力,并且可以使目标晕眩. + +ie.manual.entry.bullet_components.name=战斗部装药 +ie.manual.entry.bullet_components.subtext=装填尾翼稳定脱壳高速高爆硬芯穿甲弹! +ie.manual.entry.bullet_components.dmg_mod=伤害: %sx +ie.manual.entry.bullet_components.pen_mod=穿透力: %s vBH +ie.manual.entry.bullet_components.blast_mod=爆炸半径: %sx +ie.manual.entry.bullet_components.density=密度: %s +ie.manual.entry.bullet_components.type=类型: %s + +#A quote from World in Conflict +ie.manual.entry.bullet_component.firework=烟花 +ie.manual.entry.bullet_component.firework.lore=现在,解放天空 +ie.manual.entry.bullet_component.firework.desc=烟花虽然以其美丽的外表而闻名,亦可以用来压制和致盲敌人. + +#Quote from Company of Heroes/Market Garden campaign +ie.manual.entry.bullet_component.tracer_powder=示踪剂 +ie.manual.entry.bullet_component.tracer_powder.lore=天空布满了示踪剂! +ie.manual.entry.bullet_component.tracer_powder.desc=示踪剂可以显示子弹的飞行轨迹,亦可用作装饰或校正射击角度. + +#Reference to Codename Panzers: Cold War +ie.manual.entry.bullet_component.flare_powder=闪光粉 +ie.manual.entry.bullet_component.flare_powder.lore=光耀天地! +ie.manual.entry.bullet_component.flare_powder.desc=装入闪光粉的照明弹可用于照明或标记位置,这可用于指挥远程火力投送. + +#Reference to the book "Thus Spoke Zarathustra" +ie.manual.entry.bullet_component.propaganda=宣传弹 +ie.manual.entry.bullet_component.propaganda.lore=顺从的人将会摒弃自己的内心 +ie.manual.entry.bullet_component.propaganda.desc=宣传弹可以用来向你的敌人灌输恐惧,如果他们会阅读的话. + +#Fallout reference +ie.manual.entry.bullet_component.nuke=核弹 +ie.manual.entry.bullet_component.nuke.lore=敢教日月换新天. +ie.manual.entry.bullet_component.nuke.desc=核爆炸物是人类已知的最强大,最具破坏性的爆炸物.只有厚厚的钢筋混凝土层才能抵御其威力.它引起的热量会融化周围的敌人,即使他们能在核热火球中生存也会很快死于辐射. + +#Reference to a song +ie.manual.entry.bullet_component.tnt=三硝基甲苯 +ie.manual.entry.bullet_component.tnt.lore=多加点! +ie.manual.entry.bullet_component.tnt.desc=三硝基甲苯(TNT)是一种威力一般的爆炸材料.因为它易于生产,所以是机枪子弹和手榴弹装药的好选择. + +#CoH2 Reference +ie.manual.entry.bullet_component.rdx=黑索金 +ie.manual.entry.bullet_component.rdx.lore=有得必有失 +ie.manual.entry.bullet_component.rdx.desc=RDX,又名 §shexogen§r 或环三亚甲基三硝胺,是一种强大的高能爆炸物.它的威力是TNT的两倍,甚至可以摧毁最坚固的阵地. + +#There are many variants of HMX's full name, one of them is Her Majesty's Explosive +ie.manual.entry.bullet_component.hmx=奥克托金 +ie.manual.entry.bullet_component.hmx.lore=炸药之母 +ie.manual.entry.bullet_component.hmx.desc=奥克托金,又名HMX或环四亚甲基四硝胺,是最强大的常规炸药之一,它的威力是TNT的三倍,能够突破任何防御工事. + +#Reference to a song +ie.manual.entry.bullet_component.white_phosphorus=白磷 +ie.manual.entry.bullet_component.white_phosphorus.lore=钢铁在燃烧! +ie.manual.entry.bullet_component.white_phosphorus.desc=白磷是大多数燃烧弹的主要成分.它的高温使周围的敌人更加易燃,而燃烧的高温碎片会点燃周围的一切. + +#A reference to struggle between Tesla and Edison +#similar to how the Finns made a cocktail for Molotov (soviet foreign affairs minister) during the Winter War, a tesla grenade would be a nice one for Edison +ie.manual.entry.bullet_component.tesla=电荷发射器 +ie.manual.entry.bullet_component.tesla.lore=爱迪生的馈赠 +ie.manual.entry.bullet_component.tesla.desc=电荷发射器会产生一个干扰电流的场.它们可用于破坏工业设备,阵地和破坏能源生产. + +## Shrapnels +ie.manual.entry.bullet_component.shrapnel_aluminum=铝质弹片 +ie.manual.entry.bullet_component.shrapnel_aluminum.lore=Amelinium, one does not simply paint it +ie.manual.entry.bullet_component.shrapnel_aluminum.desc=铝不是制造弹片的最佳材料,但它足够便宜可以在战斗中大量使用. + +ie.manual.entry.bullet_component.shrapnel_zinc=锌质弹片 +ie.manual.entry.bullet_component.shrapnel_zinc.lore= +ie.manual.entry.bullet_component.shrapnel_zinc.desc=锌不是一种好的弹片材料,但当资源短缺时任何东西都可以塞进炮弹里. + +#Reference to Terraria's coin gun +ie.manual.entry.bullet_component.shrapnel_copper=铜质弹片 +ie.manual.entry.bullet_component.shrapnel_copper.lore=往弹药里塞点硬币 +ie.manual.entry.bullet_component.shrapnel_copper.desc=虽然向敌人扔铜不会贿赂他们,但几枪之后可能会让他们死亡. + +#Reference to JoJo, yes even in the II there has to be one +ie.manual.entry.bullet_component.shrapnel_platinum=铂质弹片 +ie.manual.entry.bullet_component.shrapnel_platinum.lore=弹片使者? +ie.manual.entry.bullet_component.shrapnel_platinum.desc=会使你穷困潦倒,不是做弹片的好材料. + +#Murica' fuck yeah +ie.manual.entry.bullet_component.shrapnel_gold=金质弹片 +ie.manual.entry.bullet_component.shrapnel_gold.lore=谁还会管纳税人的意见? +ie.manual.entry.bullet_component.shrapnel_gold.desc=没错,浪费金钱的好方法——战争.虽然子弹有点贵,但它们似乎对对手没有太大影响. + +ie.manual.entry.bullet_component.shrapnel_nickel=镍质弹片 +ie.manual.entry.bullet_component.shrapnel_nickel.lore= +ie.manual.entry.bullet_component.shrapnel_nickel.desc=镍是弹片的糟糕选择,它不会造成太大的伤害,但在困难时期它可以挽救局面. + +#Reference to the Netflix's Witcher series +ie.manual.entry.bullet_component.shrapnel_silver=银质弹片 +ie.manual.entry.bullet_component.shrapnel_silver.lore=给你的枪手一个硬币 +ie.manual.entry.bullet_component.shrapnel_silver.desc=银弹片是对抗亡灵生物的好选择,弹片对他们造成更大的伤害并使他们减速. + +ie.manual.entry.bullet_component.shrapnel_electrum=琥珀金弹片 +ie.manual.entry.bullet_component.shrapnel_electrum.lore=磁暴步兵准备就绪! +ie.manual.entry.bullet_component.shrapnel_electrum.desc=琥珀金擅长导电,但弹片本身不会造成太大伤害,被击中的敌人会受到能量武器(如特斯拉线圈)的更多伤害. + +#Reference to a post-ww2 poster for inter-country help in Western Europe +ie.manual.entry.bullet_component.shrapnel_constantan=康铜弹片 +ie.manual.entry.bullet_component.shrapnel_constantan.lore=
    Whatever the weather, we kill enemies together. +ie.manual.entry.bullet_component.shrapnel_constantan.desc=康铜以其导热性而闻名,被击中的敌人在一段时间内容易受到火焰伤害. + +#Reference to words by Otto von Bismarck +ie.manual.entry.bullet_component.shrapnel_iron=铁质弹片 +ie.manual.entry.bullet_component.shrapnel_iron.lore=铁血政治! +ie.manual.entry.bullet_component.shrapnel_iron.desc=铁是弹片的好选择,它很容易穿透穿着轻型盔甲的敌人. + +ie.manual.entry.bullet_component.shrapnel_lead=铅质弹片 +ie.manual.entry.bullet_component.shrapnel_lead.lore=铅如雨下 +ie.manual.entry.bullet_component.shrapnel_lead.desc=铅是一种很好的弹片材料,它很重,能对没有装甲的敌人造成很高的伤害. + +#Japanese "hagane" means steel, but the literal translation is "full metal", Hagane no Renkinjutsushi +ie.manual.entry.bullet_component.shrapnel_steel=钢质弹片 +ie.manual.entry.bullet_component.shrapnel_steel.lore=沐浴荣誉的钢铁 +ie.manual.entry.bullet_component.shrapnel_steel.desc=钢是一种优良的弹片材料,良好的伤害,散射和速度使其对所有对手都有效. + +ie.manual.entry.bullet_component.shrapnel_brass=黄铜弹片 +ie.manual.entry.bullet_component.shrapnel_brass.lore=装饰设计 +ie.manual.entry.bullet_component.shrapnel_brass.desc=黄铜是制造弹片的糟糕选择,尽管它的高重量使它比其他弱金属造成更大的伤害. + +#A reference to Bear989sr. - a gregtech player, I just love when he says the word "steel", also some nice GT tutorials(译者注:夹带私货致歉) +ie.manual.entry.bullet_component.shrapnel_tungsten=钨质弹片 +ie.manual.entry.bullet_component.shrapnel_tungsten.lore=PLA直呼内行 +ie.manual.entry.bullet_component.shrapnel_tungsten.desc=钨是一种很好的弹片材料,它的高伤害可以将敌人撕成碎片. + +#Reference to Kuruma saying IEn's thorium railgun rods are the strongest railgun ammo +ie.manual.entry.bullet_component.shrapnel_thorium=钍质弹片 +ie.manual.entry.bullet_component.shrapnel_thorium.lore=我们要做手榴弹,不是燃料棒! +ie.manual.entry.bullet_component.shrapnel_thorium.desc=钍是一种很好但昂贵的弹片材料,具有很高的伤害和穿透值. + +ie.manual.entry.bullet_component.shrapnel_HOPGraphite=HOP石墨弹片 +ie.manual.entry.bullet_component.shrapnel_HOPGraphite.lore= +ie.manual.entry.bullet_component.shrapnel_HOPGraphite.desc=石墨是一种非常好的弹片材料,其低重量和高穿透能力使其在战斗中非常有用. + +ie.manual.entry.bullet_component.shrapnel_uranium=铀质弹片 +ie.manual.entry.bullet_component.shrapnel_uranium.lore=放-射-性 +ie.manual.entry.bullet_component.shrapnel_uranium.desc=铀是制造弹片的最佳材料之一,散射的碎片穿透装甲层轻而易举,可以对任何目标造成高伤害. + +ie.manual.entry.bullet_component.shrapnel_wood=锯末 +ie.manual.entry.bullet_component.shrapnel_wood.lore=环保! +ie.manual.entry.bullet_component.shrapnel_wood.desc=可能不会造成太大伤害,但会留下清新的松木香味! + +#Death Messages +death.attack.iiBullet=%1$s 被 %2$s 射杀 +death.attack.iiBulletNoShooter=%1$被射杀 +death.attack.iiBulletHeadShot=%1$s 被 %2$s 脑洞大开 +death.attack.iiBulletHeadShotNoShooter=%1$s 被脑洞大开 +death.attack.iiShrapnel=%1$s 被 %2$s 的弹片撕碎 +death.attack.iiShrapnelNoShooter=%1$s 被弹片撕碎 +death.attack.iiSawmill=%1$s 被锯成了上等肥人片 +death.attack.iiPrintingPress=%1$s 被辊子挤爆浆了 +death.attack.iiRadiation=%1$s 从内部融化了 +death.attack.iiNuclearHeat=%1$s 看到了两个太阳 +death.attack.iiVehicle=%1$s 被 %2$s 碾过 +death.attack.iiVehiclenoRider=%1$s 被碾过 +death.attack.iiVehicleSuicide=%1$s 决定从移动的车上跳下 + +#Additional stuff for the Config Panel +ii.config.Graphics=画质 +ii.config.Ores=矿物 +ii.config.Machines=机器 +ii.config.MechanicalDevices=机械装置 +ii.config.Weapons=武器 +ii.config.Wires=线缆 +ii.config.Tools=工具 +ii.config.Vehicles=载具 +ii.config.EffectCrates=效果箱 + +#Weapon Configs +ii.config.Ammunition=子弹 +ii.config.Emplacement_Weapons=武器站武器 +ii.config.Grenade=手雷 +ii.config.Mines=地雷 +ii.config.Light_Engineer_Armor=工程师轻型装甲 + +#GUI Labels +ii.gui.editor.editor_style=Visual/POL Editor + +ii.gui.task_editor.jobs=工作 +ii.gui.task_editor.jobs.tooltip=工作是可以无限重复的任务. +ii.gui.task_editor.requests=请求 +ii.gui.task_editor.requests.tooltip=请求是分配任务,在传输一定量的资源后会从内存中丢弃. + +ii.gui.inserter.task_editor=任务编辑器 +ii.gui.inserter.type=类型: +ii.gui.inserter.input=输入: +ii.gui.inserter.input.facing.tooltip=机械臂应该朝哪个方向伸展. +ii.gui.inserter.input.distance.tooltip=机械臂应该伸展多少格. +ii.gui.inserter.output=输出: +ii.gui.inserter.output.facing.tooltip=机械臂应该向哪个方向伸展. +ii.gui.inserter.output.distance.tooltip=机械臂应该伸展多少格. +ii.gui.inserter.items_per_step=数量/转: +ii.gui.inserter.items_per_step.tooltip=每转动一次机械臂取入和插入的数量. + +ii.gui.inserter.tasks.item=物品 +ii.gui.inserter.tasks.place_block=放置方块 +ii.gui.inserter.tasks.from_minecart=从矿车 +ii.gui.inserter.tasks.into_minecart=到矿车 +ii.gui.inserter.tasks.fluid=流体 +ii.gui.inserter.tasks.fluid_milk_cow=奶牛 +ii.gui.inserter.tasks.fluid_latex_collector=收集乳胶 + +ii.gui.packer.task=转移: +ii.gui.packer.task.item=物品 +ii.gui.packer.task.item.out=打包 +ii.gui.packer.task.item.in=拆包 +ii.gui.packer.task.fluid=液体 +ii.gui.packer.task.fluid.out=填入 +ii.gui.packer.task.fluid.in=取出 +ii.gui.packer.task.energy=能量 +ii.gui.packer.task.energy.out=充电 +ii.gui.packer.task.energy.in=放电 + +ii.gui.packer.direction=从 +ii.gui.packer.direction.pack=打包器到容器 +ii.gui.packer.direction.unpack=容器到打包器 + +ii.gui.packer.item.input=输入 +ii.gui.packer.item.input.tooltip=由打包器放入容器的物品 +ii.gui.packer.item.output=输出 +ii.gui.packer.item.output.tooltip=由打包器从容器取出的物品 + +ii.gui.packer.mode=数量 +ii.gui.packer.mode.amount=单位 +ii.gui.packer.mode.slot=槽位 +ii.gui.packer.mode.all_possible=所有可能的 +ii.gui.packer.mode.at_most_container=容器中最多的 +ii.gui.packer.mode.at_least_packer=包装机中最少的 +ii.gui.packer.repeat=重复直到不可能 +ii.gui.packer.expires=并在此条件之后过期于 + +ii.gui.packer.labeler.header=将标签贴在容器上 +ii.gui.packer.labeler.serial_start=分批,开始于 +ii.gui.packer.labeler.serial_start.tooltip=如果选中,容器的物流标签(和名称)将包括一个从指定号码开始的递增批次号 + +ii.gui.packer.picker.container=容器 +ii.gui.packer.picker.container.tooltip=筛选此任务允许使用的容器类型 +ii.gui.packer.picker.stack=资源 +ii.gui.packer.picker.stack.tooltip=用于正在操作的资源的筛选器. +ii.gui.packer.picker.logitag=物流标签 +ii.gui.packer.picker.logitag.tooltip=给容器的物流标签. + +ii.gui.itemstack_editor.count=数量: +ii.gui.itemstack_editor.count.tooltip=堆叠中的物品数量 +ii.gui.itemstack_editor.damage=损坏: +ii.gui.itemstack_editor.damage.tooltip=物品的损坏值(留空表示通配符) +ii.gui.itemstack_editor.nbt=NBT +ii.gui.itemstack_editor.nbt.item.tooltip=激活时,该物品将根据其NBT数据进行匹配 +ii.gui.itemstack_editor.nbt.fluid.tooltip=激活时,该流体将根据其NBT数据进行匹配 +ii.gui.itemstack_editor.oredict=矿物词典 +ii.gui.itemstack_editor.oredict.tooltip=激活时,该物品将根据其矿物词典数据进行匹配 +ii.gui.itemstack_editor.energy=IF +ii.gui.itemstack_editor.energy.tooltip=IF能量 + +ii.gui.data_editor.logistics_tag.name=名称 +ii.gui.data_editor.logistics_tag.name.tooltip=设置标签名称. +ii.gui.data_editor.logistics_tag.description=描述 +ii.gui.data_editor.logistics_tag.description.tooltip=设置标签描述. +ii.gui.data_editor.logistics_tag.owner=所有者 +ii.gui.data_editor.logistics_tag.owner.tooltip=设置标签所有者. +ii.gui.data_editor.logistics_tag.origin=源 +ii.gui.data_editor.logistics_tag.origin.tooltip=设置标签源. +ii.gui.data_editor.logistics_tag.destination=目的地 +ii.gui.data_editor.logistics_tag.destination.tooltip=设置标签目的地. +ii.gui.data_editor.logistics_tag.color=颜色 + +ii.gui.data_input_machine.storage=打孔纸带存储 +ii.gui.data_input_machine.memory=内置存储 +ii.gui.data_input_machine.memory.switch=切换 +ii.gui.data_input_machine.memory.switch.tooltip=切换当前内存槽 + +ii.gui.arithmetic_logic_machine.storage=电路存储 + +ii.gui.packer.tasks=任务 +ii.gui.packer.labeling=标签规则 + +ii.gui.flagpole.map=地图 +ii.gui.flagpole.faction=派系管理 + +ii.gui.radar.map=雷达显示 +ii.gui.radar.configuration=配置 +ii.gui.radar.targets=目标 + +ii.gui.emplacement.platform_inventory=平台库存 +ii.gui.emplacement.base_inventory=基本库存 +ii.gui.emplacement.no_weapon=未安装武器. + +ii.gui.emplacement.config.reacts_redstone=红石控制 +ii.gui.emplacement.config.reacts_redstone.tooltip=启用时,只有在红石供能时,武器才会出现. +ii.gui.emplacement.config.reacts_data=数据控制 +ii.gui.emplacement.config.reacts_data.tooltip=当关闭时,武器站将不会对数据做出反应. +ii.gui.emplacement.config.hide_health=隐藏在血量低于: +ii.gui.emplacement.config.hide_health.tooltip=低于此值时,平台会隐藏以进行维修. +ii.gui.emplacement.config.resurface_health=维修直到生命值高于: +ii.gui.emplacement.config.resurface_health.tooltip=在维修到高于此值时,武器站才能升到地面. + +ii.gui.emplacement.config.vision_range=视距: %s b +ii.gui.emplacement.config.attack_range=攻击距离: %s b + +ii.gui.emplacement.fire_missions.editor=射击任务 +ii.gui.emplacement.fire_missions.type=类型 +ii.gui.emplacement.fire_missions.type.position=坐标 +ii.gui.emplacement.fire_missions.type.entity=实体 +ii.gui.emplacement.fire_missions.position=目标坐标 +ii.gui.emplacement.fire_missions.entity_id=实体ID +ii.gui.emplacement.fire_missions.finite_shots=限制射击 +ii.gui.emplacement.fire_missions.shots=射击s +ii.gui.emplacement.fire_missions.shots_left=%s 次射击 +ii.gui.emplacement.fire_missions.until_done=直到完成 + +ii.gui.emplacement.selector_preset=选择器预设 +ii.gui.emplacement.filter=过滤器 +ii.gui.emplacement.task_enabled=已启用 +ii.gui.emplacement.task_negation=已禁用 + +ii.gui.emplacement.target.mobs=怪物 +ii.gui.emplacement.target.animals=动物 +ii.gui.emplacement.target.players=玩家 +ii.gui.emplacement.target.npcs=NPC +ii.gui.emplacement.target.vehicles=载具 +ii.gui.emplacement.target.shells=炮弹 +ii.gui.emplacement.target.team=队伍 +ii.gui.emplacement.target.name=名称 + +ii.gui.map_display.color_mapper.terrain=地形 +ii.gui.map_display.color_mapper.grayscale=灰度 +ii.gui.map_display.color_mapper.topographic=地形 +ii.gui.map_display.color_mapper.light=灯光 +ii.gui.map_display.color_mapper.factions=派系 +ii.gui.map_display.color_mapper.alliances=盟友 + +ii.gui.map_display.marker.flagpoles=旗杆 +ii.gui.map_display.marker.weapons=武器 +ii.gui.map_display.marker.logistics=物流 +ii.gui.map_display.marker.intelligence=情报 +ii.gui.map_display.marker.wire_networks=线缆网络 + +ii.gui.map_display.marker.items=物品 +ii.gui.map_display.marker.players=玩家 +ii.gui.map_display.marker.mobs=怪物 +ii.gui.map_display.marker.animals=动物 +ii.gui.map_display.marker.aircraft=飞行器 +ii.gui.map_display.marker.vehicles=载具 +ii.gui.map_display.marker.missiles=导弹 +ii.gui.map_display.marker.artillery=重炮 +ii.gui.map_display.marker.bullets=弹药 + +ii.gui.redstone_data_interface.from.redstone=从红石 +ii.gui.redstone_data_interface.from.redstone.tooltip=指定哪种红石信号颜色将被转换为数据变量 +ii.gui.redstone_data_interface.from.data=从变量 +ii.gui.redstone_data_interface.from.data.tooltip=指定其值将被转换为红石信号的数据变量 +ii.gui.redstone_data_interface.to.data=到变量 +ii.gui.redstone_data_interface.to.data.tooltip=指定输出数据变量 +ii.gui.redstone_data_interface.to.redstone=到信号 +ii.gui.redstone_data_interface.to.redstone.tooltip=指定接口输出的红石信号的颜色 +ii.gui.redstone_data_interface.mode=模式 +ii.gui.redstone_data_interface.mode.tooltip=指定转换模式,这决定了红石信号强度如何转换为数据变量,反之亦然. +ii.gui.redstone_data_interface.mode.boolean=布尔值 +ii.gui.redstone_data_interface.mode.integer_15=整数 0-15 +ii.gui.redstone_data_interface.mode.integer_255=整数 0-255 +ii.gui.redstone_data_interface.mode.integer_100=整数 0-100 +ii.gui.redstone_data_interface.mode.float=浮点数 0-1 +ii.gui.redstone_data_interface.mode.string=字符串 + +ii.gui.projectile_workshop.component_info=组件信息 +ii.gui.projectile_workshop.component.role=规则: %s +ii.gui.projectile_workshop.component.density=密度: %s +ii.gui.projectile_workshop.component.slots_taken=已占用的插槽: %s +ii.gui.projectile_workshop.entry.core=弹芯 +ii.gui.projectile_workshop.entry.type=类型 +ii.gui.projectile_workshop.tooltip.core_type=弹芯核心 +ii.gui.projectile_workshop.tooltip.ammunition_type=弹药种类 +ii.gui.projectile_workshop.cost=总计: +ii.gui.projectile_workshop.invalid_cost=总计: 67891 P数 +ii.gui.projectile_workshop.material_preview=材质预览 +ii.gui.projectile_workshop.section.core=弹芯 +ii.gui.projectile_workshop.section.ballistics=弹道 +ii.gui.projectile_workshop.tooltip.component_slots=组件插槽 +ii.gui.projectile_workshop.tooltip.component_effect_shape=组件效果形状 +ii.gui.projectile_workshop.tooltip.component_efficiency=组件效率修正 +ii.gui.projectile_workshop.tooltip.component_efficiency.line1=确定效力. +ii.gui.projectile_workshop.tooltip.component_efficiency.line2=负责爆炸力、化学气体浓度. +ii.gui.projectile_workshop.tooltip.component_size=组件尺寸倍增器 +ii.gui.projectile_workshop.tooltip.component_size.line1=确定组件体积,负责爆炸半径,气体扩散范围倍增器. +ii.gui.projectile_workshop.tooltip.core_mass=弹芯重量 +ii.gui.projectile_workshop.tooltip.damage_dealt=造成的伤害 +ii.gui.projectile_workshop.tooltip.velocity=速度 +ii.gui.projectile_workshop.tooltip.available_fuzes=可用引信 +ii.gui.projectile_workshop.tooltip.penetration_hardness=穿透硬度 +ii.gui.projectile_workshop.tooltip.flat_trajectory_range=平射程 +ii.gui.projectile_workshop.tooltip.max_artillery_range=最大火炮奢侈 +ii.gui.projectile_workshop.unit.blocks=%s 块 +ii.gui.projectile_workshop.unit.blocks_per_tick=%s 块/时减 +ii.gui.projectile_workshop.value.penetration_hardness=%s 块 %s +ii.gui.projectile_workshop.unit.multiplier=%sx + +ii.gui.ammunition_assembler.fuse_config.timed=时间: +ii.gui.ammunition_assembler.fuse_config.timed.tooltip=引信触发时间 (刻) +ii.gui.ammunition_assembler.fuse_config.proximity=距离: +ii.gui.ammunition_assembler.fuse_config.proximity.tooltip=引信触发距离 (块) + +ii.gui.data_router.into=进入的侧面: %s +ii.gui.data_router.rule_editor=数据路由规则 +ii.gui.data_router.rule_properties=规则属性 +ii.gui.data_router.routing=路由中 +ii.gui.data_router.packet_filters=数据包过滤器 +ii.gui.data_router.incoming=输入: +ii.gui.data_router.incoming.tooltip=此规则适用的入站数据包方向. +ii.gui.data_router.outgoing=输出: +ii.gui.data_router.outgoing.tooltip=在此规则下,出站数据包将被发送的方向. +ii.gui.data_router.action=Action: +ii.gui.data_router.action.tooltip=确定匹配此规则的数据包将发生的情况. +ii.gui.data_router.filter.color=颜色 +ii.gui.data_router.filter.address=地址 +ii.gui.data_router.required_variables=必填变量 +ii.gui.data_router.filter.value=匹配值 +ii.gui.data_router.remove_control_variable=移除控制变量 +ii.gui.data_router.remove_control_variable.tooltip=启用后,控制变量将在发送的数据包中被省略. +ii.gui.data_router.action.allow=允许 +ii.gui.data_router.action.deny=拒绝 + +ii.gui.data_merger.rule_properties=合并规则 +ii.gui.data_merger.inputs=输入 +ii.gui.data_merger.override_policy=覆盖策略 +ii.gui.data_merger.variable=变量 +ii.gui.data_merger.accept_left=接受左转 +ii.gui.data_merger.accept_left.tooltip=发送到设备左侧的数据包将被接收. +ii.gui.data_merger.accept_right=接受右转 +ii.gui.data_merger.accept_right.tooltip=发送到设备右侧的数据包将被接收. +ii.gui.data_merger.trigger_forwarding=标记为发送 +ii.gui.data_merger.trigger_forwarding.tooltip=当此变量出现在数据包中时,机器将发送合并的数据. +ii.gui.data_merger.usage_limit=剩余次数: +ii.gui.data_merger.usage_limit.tooltip=空的意思是这条规则是重复的任务,一个数字表示这是一个会过期的请求. +ii.gui.data_merger.right_overrides_cached=权限覆盖缓存 +ii.gui.data_merger.right_overrides_cached.tooltip=当双方缓存都包含此变量时,右侧缓存的值占优. +ii.gui.data_merger.right_overrides_value=权限覆盖输出 +ii.gui.data_merger.right_overrides_value.tooltip=启用后,选定的缓存值可能会替换已存在于发送数据包中的值. +ii.gui.data_merger.left=左 +ii.gui.data_merger.right=右 +ii.gui.data_merger.send=发送 + + +#GUI HelpBoxes +ii.gui_help.data_input_machine.programming=这些插槽允许将穿孔纸读取到 DIM 的内存中,或将其内容写入空的穿孔纸中. +ii.gui_help.data_input_machine.storage=这些插槽可用于存放空白或已编程的打孔纸带,以便使用. +ii.gui_help.data_input_machine.variables=此列表显示存储在机器内的数据包的变量. + +#GUI Actions +ii.gui.action.copy=复制 +ii.gui.action.paste=粘贴 +ii.gui.action.cut=切 +ii.gui.action.undo=撤销 +ii.gui.action.redo=重做 +ii.gui.action.select_all=选择全部 +ii.gui.action.jei_recipe=展示配方 +ii.gui.action.jei_uses=展示用途 +ii.gui.action.jei_bookmark=书签 + +#GUI Bottom Buttons +ii.gui.button.apply=应用 +ii.gui.button.revert=恢复 +ii.gui.button.cancel=取消 + +#GUI Tooltips +ii.gui_tooltip.button.add=添加 +ii.gui_tooltip.button.remove=移除 +ii.gui_tooltip.button.edit=编辑 +ii.gui_tooltip.button.duplicate=复制 +ii.gui_tooltip.button.clear=清楚 + +#GUI Widgets +ii.gui_tooltip.widget.style.show=显示样式自定义 +ii.gui_tooltip.widget.style.hide=隐藏样式自定义 +ii.gui_tooltip.widget.style=自定义 +ii.gui_tooltip.widget.style.desc=这个多方快结构允许自定义颜色与样式. +ii.gui_tooltip.widget.style.style=样式 +ii.gui_tooltip.widget.style.color=颜色 +ii.gui_tooltip.widget.ownership.show=显示所有权数据 +ii.gui_tooltip.widget.ownership.hide=隐藏所有权数据 +ii.gui_tooltip.widget.ownership=所有权 +ii.gui_tooltip.widget.manual.show=显示侧边手册 +ii.gui_tooltip.widget.manual.hide=隐藏侧边手册 +ii.gui_tooltip.widget.manual.page=在工程师手册中打开 +ii.gui_tooltip.widget.manual=工程师手册 + +ii.gui_tooltip.energy.stored=Energy Stored: %s/%s IF +ii.gui_tooltip.energy.input=Energy Consumed: %s IF/t +ii.gui_tooltip.energy.required=Energy Required: %s IH/t +ii.gui_tooltip.energy.output=Energy Output: %s IF/t + +ii.gui_tooltip.heat.stored=Heat %s/%s IH +ii.gui_tooltip.heat.input=Heat Consumed: %s IH/t +ii.gui_tooltip.heat.required=Heat Required: %s IH /t +ii.gui_tooltip.heat.output=Heat Output: %s IH/t + +ii.gui_tooltip.pressure.stored=Pressure: %s/%s IP +ii.gui_tooltip.pressure.input=Pressure Intake: %s IP +ii.gui_tooltip.pressure.required=Pressure Required: %s IP /t +ii.gui_tooltip.pressure.output=Pressure Output: %s IP + +ii.gui_tooltip.mech_torque.message.basic=Input: 速度 %s D/t | 扭矩 %s IT. +ii.gui_tooltip.mech_torque.message.advanced=Input: 速度 %s D/t | 扭矩 %s IT. 输出: Speed %s D/t | 扭矩 %s IT. +ii.gui_tooltip.mech_torque.stored=Torque: %s/%s IT +ii.gui_tooltip.mech_torque.input=Torque Input: %s IT +ii.gui_tooltip.mech_torque.required=Torque Required: %s IT/t +ii.gui_tooltip.mech_torque.output=Torque Output: %s IT + +ii.gui_tooltip.mech_speed.stored=Speed: %s/%s D/t +ii.gui_tooltip.mech_speed.input=Speed Input: %s D/t +ii.gui_tooltip.mech_speed.required=Speed Required: %s D/t +ii.gui_tooltip.mech_speed.output=Speed Output: %s D/t + +ii.gui_tooltip.fluid.stored=%s - %s mB +ii.gui_tooltip.fluid.input=%s Intake: %s mB +ii.gui_tooltip.fluid.output=%s Output: %s mB + +ii.gui_tooltip.time.stored=Time Remaining: %s/%s t +ii.gui_tooltip.time.required=Time Required: %s t + +ii.gui_tooltip.structural_integrity=Structural Integrity: %s/%s 生命值 +ii.gui_tooltip.structural_integrity.repair=Repair Threshold: 低于 %s 生命值 +ii.gui_tooltip.structural_integrity.repair.auto_tooltip=如果结构低于此阈值,它将自动修复自身. +ii.gui_tooltip.structural_integrity.repair.manual_tooltip=如果结构低于此阈值,将需要进行修理. + +ii.gui_tooltip.armor_integrity=Armor: %s/%s 生命值 +ii.gui_tooltip.reactive_armor_integrity=反应装甲: %s/%s 生命值 + +ii.gui_tooltip.speed=速度: %s +ii.gui_tooltip.progress=进度: %s % +ii.gui_tooltip.fuel=燃油: %s/%s mB +ii.gui_tooltip.soil_fertility=土壤肥力: %s % + +# Nether Backport Compat +item.immersiveintelligence.bullet.component.core_netherite.name=Netherite +ie.manual.entry.bullet_core.core_netherite=Netherite Core +ie.manual.entry.bullet_core.core_netherite.lore=Nether-Forged +ie.manual.entry.bullet_core.core_netherite.desc=Ancient debris is what remains of the mining activity of the piglins, who extracted all the original netherite ore. Currently they are a product of an industrialized fallen empire and in the past they were a united front. + +item.immersiveintelligence.bullet.component.nether_fire.name=Nether Fire +ie.manual.entry.bullet_component.nether_fire=Nether Fire +ie.manual.entry.bullet_component.nether_fire.lore=This "prison"... to contain ME? +ie.manual.entry.bullet_component.nether_fire.desc=A fire of infernal origins, it is a permanent, non-spreading fire that deals higher damage than normal fire and keeps on burning when it should not. + +# Deeper Depths Compat +item.immersiveintelligence.bullet.component.windcharge.name=Wind Charge +ie.manual.entry.bullet_component.windcharge=Wind Charge +ie.manual.entry.bullet_component.windcharge.lore=How? +ie.manual.entry.bullet_component.windcharge.desc=Condensed wind obtained from Breeze, wind charges knock targets back and apply slowness and suppression in small radius. Due to properties of the charge, it remains on the same level of potency regardless of the shell size. + +# Thaumcraft Compat +item.immersiveintelligence.bullet.component.primordial_pearl.name=Primordial Pearl +ie.manual.entry.bullet_component.primordial_pearl=Primordial Pearl +ie.manual.entry.bullet_component.primordial_pearl.lore=Magical Oppenheimer +ie.manual.entry.bullet_component.primordial_pearl.desc=A potent artifact containing vast magical power and nearly unlimited potential that is beyond the known magical and physical laws. Despite its small size, rules of physics dictate that compression of such matter by integrated detonator explosive can only result in unparraleled levels of destruction from sheer amount of energy unleashed at once. + +item.immersiveintelligence.bullet.component.alumentum.name=Alumentum +ie.manual.entry.bullet_component.alumentum=Alumentum +ie.manual.entry.bullet_component.alumentum.lore=Alchemist's explosives +ie.manual.entry.bullet_component.alumentum.desc=A very volatile fiery substance, Alumentum is smaller in radius compared to TNT, but contains more concentrated power. Being in explosive container allows to focus its explosive power, making it more destructive than otherwise hand-thrown Alumentum. + +item.immersiveintelligence.bullet.component.bottled_taint.name=Bottled Taint +ie.manual.entry.bullet_component.bottled_taint=Bottled Taint +ie.manual.entry.bullet_component.bottled_taint.lore=Ruinous power +ie.manual.entry.bullet_component.bottled_taint.desc=Moving the contents of the bottle into a shell allows to deliver the corruptive Taint at much longer distances than it is possible to throw the bottle manually. Spread forth magical corruption, now at long distances! + +ie.manual.entry.bullet_core.core_core_thaumium=Thaumium +ie.manual.entry.bullet_core.core_thaumium=Thaumium Core +ie.manual.entry.bullet_core.ore_thaumium.lore=Thaumaturgicallymtallurgic +ie.manual.entry.bullet_core.core_thaumium.desc=A result of infusing iron with raw magical energy. Harder and better than base iron, it is a good candidate for massproduced shells, provided you can make alchemical mettalurgy supply keep up with the industrial demands. + +ie.manual.entry.bullet_core.core_core_core_voidmetal=Void Metal +ie.manual.entry.bullet_core.core_voidmetal=Void Metal Core +ie.manual.entry.bullet_core.core_voidmetal.lore=Thaumaturgicallymtallurgic +ie.manual.entry.bullet_core.core_voidmetal.desc=Disturbingly slick and warm to the touch, easy to work like gold, becoming as hard as tungsten and harder when struck - Void Metal is an excellent choice for bullets. However, properties of the metal make it somewhat difficult for conventional explosives to detonate with proper force. Furthermore, you cannot retrieve this metal core despite its regenerative properties, as it becomes unuseable after hitting the target. + +# Thaumic Augmentation Compat +item.immersiveintelligence.bullet.component.impetus.name=Impetus +ie.manual.entry.bullet_component.impetus=Impetus +ie.manual.entry.bullet_component.impetus.lore=Rift power in a can +ie.manual.entry.bullet_component.impetus.desc=Dangerous byproduct of Flux Rifts, and not fully understood material or phenomena, full range of usages for Impetus is shrouded in mystery. However, "infusing" the shell with the Impetus energy very significantly magnifies and supercharges its lethality. diff --git a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/ammunition_crate_base.obj b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/ammunition_crate_base.obj.ie similarity index 100% rename from src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/ammunition_crate_base.obj rename to src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/ammunition_crate_base.obj.ie diff --git a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/medic_crate_base.obj b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/medic_crate_base.obj.ie similarity index 100% rename from src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/medic_crate_base.obj rename to src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/medic_crate_base.obj.ie diff --git a/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate_base.obj b/src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate_base.obj.ie similarity index 100% rename from src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate_base.obj rename to src/main/resources/assets/immersiveintelligence/models/block/metal_device/effect_crate/repair_crate_base.obj.ie diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/metal_device/medic_crate.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/metal_device/medic_crate.png index 221cb7e87b43e0115c67db127f51b1c38f77386a..5e9ccfad4a10adb2614fc4e4855da139dfb0d921 100644 GIT binary patch literal 7763 zcmbtY2|QI@*Wc$(T=%-B44FfUl*&*_%9J^hqDi3{Nj#B+43(iMQzSf56b+P~G)PgB zqL4%~W-9Y=x%ayF+xvLDZ{Pb3zwiBhi*wFCdsur7|FzaWH_~pCnV^8Q002PH!ra6j zJ{8f$PXPcUowjs^{ig#QoP6zF{1lHJ_d0OcW51&B$z%H!_xm3{0DynfjVs%aYdjS+ z;S~#L{<%7I7o&oIsI-b{vCV2|)5YNjpY8pkUn{*N#hE8G^H@FJytYL*Q+K`FX0_x; z`=X+HqaLf%-!p<*XW|FhGt>+#4zKPpyF^$jD)0@nb%(*&i#Ib&!jM_dPOi(JYt~D? zsgc~l%HI>bz4w7nf+?%SfL2svwBng0=inKx{79n7ESF!eniyZ{UX4F>TAPD{rY&STxg> zION5x=^S+Qx-pz08jKYO26Mf?O>?Rurk>kQdG|Q1Z+)fN$xgXv`Xck*3!iQ4nD5iB z=Md_D_~hQp`sVdsM&rhvyt0R*Qo$(;f0anzvvjaEaw%wS(>Xnc`N?H)Mq3nK4E2nQ ziEU|ICbh@t%7X7NrI$WjJ|gE_UzM@9;B~}759RdqMps-$mB~-xX}J zT|3k4uJ9Lkk|pCjrf@Ifr<%<}uX`(wOcsSpUfVZKKSxg1mtR#J62ch$y5+Q`VS0Q` zy2RTk+2t#%4pvpU`7ifW7#-PD;?q8ntIrIc{;-`@>D3-Qkrw}xd$T8q*_`q0k;B>U ziN>oDgo(&~tyHT?oeo*ouhze?wN}b<0X~8E=<9a7xjDA_rG@_SIi|=xRWP`tvYcz- z{Z)VIwS)CH2MYeux4zxHHAyh*3+e7J@s){%`Pm%8z;>%&!2Y;&X#+yG)ij8&qrsOt1>FspROjx^Rm0OMXNv~~G&m}5MjU27ZXZD&^8SHGWO5M}o zSd>EN^SVFox!1ED6ogcHeBOUw@A;r~AZ=QHxp&i>LVv^6`ej;itCxj{XSUU6zwXw* zlK-rBE8pUgQ{Ek(`uRyZpUi7xKZ_xx&JRqDJkIc3*~+sHfRu!{q- zj?GyiNr^!$u{W|>UaDJdcKAfBF$=RDB`vMqUDgrcTO-2n_h*xBcKLyAr9D1OtbASk z^HYVrO;59rzA<#vTr%k*uqZ?&?3wb>z_MiGPd#_JNFObJiK5tmCsfmA-CxgNzg>FT zpmmkvX07;bCoDOSj@eItzjd}StZ=til*KXE8gW16!weZ4QzdW0`{N9mt&%%!W}Jq4 zu=k%X#uf?BL})BEh&O$3`O{vPkMvDlRWS#r3KIL8J9KTAKRKaAVp(eHXjGa<>~Q_4 zx&6jeX%DYb!g{`eUgPcHYKddiUu1zl^#5FEX1L(X`nhbkYA(>v()bIbCX>+bj7}eIjAB)aI8vp}<@Ago{^+R{ECAJSo;G zFx-WN1eac)!n6|ucZE9}mSDSjMJQMrjo3Zh#Ch37+-SBaD zA*X=(IfU}C65VmR;tj{cYZ>zS-z>Vje72CDeBUg2zg+Z3)DtBGrI=6ZvZ<@Z`y@t- zdSwpV7RDACEa^Tus+#Sf{?1?bz{mR~Y5|G*oNvu8%!8U!5tw-lJ$=@!+jd^@f%()lEn8x`+iwAJo0Oo^U2V zI_I)J?U#r4N_9=Te_PDLh5-kwj}Gc$8=nrT|DloUa3SjinJiZn@HpM#!#e&3!_BHR zssq2i`@xQ36LpXK#7{-&qH`rdsZskuXSQTt^pnvLfr^)1 z5k@zCFFlD~@r$A33D%3yMf1%gTPnEU%verKPD|!?G-8QrX(Dvy1P9^ti(v-rJEf$zd}~TTsg4s&VYbv;15E@j+=H8 z-Oa0b*}kbt>UVyv-&XMikO*$zHvogdh+_s%WmDuR6KorNS%HyJ@SdRcVN;x zrKM`gJ2C5t(9r0tA5T^qU%sBl{p9f>uykIkE4R9znv`ZTZhcL)P<3jVe%=mgb>Bvj zU$MQ3B6a51F3URKy(MtvqGH>#dFqWUO#(S86wI@nkn>iZukCQYDb**MrxYGBefzTi zBi~xWi}^vjRj3veN0IbedlmMkzWl(wZ?hi1vJSYau~GJ8kcm>vL|baeK5La%Dtfl6 zBe4$H(OtwJ-4>#Kp9aYQ-72_YjdplngJXRA*X9QU{r7GJ=Mt&s zI_z_fEHGWWHO6cA<1Od<`>*z&-Q0O3=kvYPS7qMIPB|O2-PG+oLE5xiGjfu?;*^?w z=tG;n*E_autrE)SzcQcUVR>+6_d6|7afAK`{txv!lBJwP{XXte1M8)v=YJ124l{W6 zzAkIt=tA;cF=evT(q#u7A8JHOtPxdwa`}ML;U@k36=CnbXnVZZPF%dU%x8a_jYRp4 z=uPPXgI!jQj+r|aJiVS|PL)n{@S%GPN{tH(-OS0{MC+R)j&W!~1L zt;b53hJu#eBNrE63#VVQmA#dI!SD{>+tA_tt!Bl=-en<8RjX_CbcAi|dju^++-~2W zddbr%TM+?_Ps>)Hv8y|oIA11Ecb^5{s=lz*{w5j|b+pP! zsC);*#VC2{#T!qI;#18x>(`Cvdw5Epy7cJg{Y#QUm)pw9%obNP@bAm5ZAxq?4#>7A zZ7qy=`M7KH+)aPUrtAn?EMw)=5mV*F&0LvxXAhNMQB4ZNs0)|e4yo}p?pyB?sx0AZ z{x1H)_6sp*ZyC^@Jhj-?-rOZaznuKy1Mk6S)i{R9*tRSyS2=-?d0DItjb#tzA9}g? z+MmekGjfhwTd|L9+5zk}GC#75M|8hu8o9Nvv#IEj@$|_SPw2lW9DhpMJ4~mb{N#l5 z$qK(LACJE>N*T84zMqIambtmQcGHK{Vg@cw$3@vohjaw34!68;L@_5+>DDd_OA8^p z@rMf*)Ar7PdF`k>HM2x7#Ne+NS1e9{@f0J-xdiF7l!kQwv@F;DuzukDVnR#8K8Fp~ zEz44L-BZ(pM8DA&JZuVV^p4qCo85t35LNzQ)_kYXXyNzC4c?O@Qi7r?L$9Q6>~VbX zmZ2nkyEJFujE6$Oo9dnAp-BT+lO6w_BZdbq_3?LXJmXLv5M%s(i$uQb=9}XY58jx8 z{o`p4n+rON<=i>qzL$5)iUc1E%5ie^q-)a-e+wQjeH?8X_2gD&ki)=)-P2_@>Xtbg z&ubQ|TNVv3SrK*K{BZpF=&_?mOW%|VG_B~XG}`*&QQxXv zA?^!yPwj0`8#%`^F)t)2nS7JmylGFEpXzs+fFz@>VggA=*XLM94@%fR>>gP!BT?98 znV3)M+Nc@TYIpjrU!=>{*Vm1*D=>9F;rn5uY9Wz#a~34#?(6?-FH=)Ikdb~!-(D8@ zUEN(-x$X0^i}!M5nU$A}dsyGe>XsNRb93Kkc2D>9l8qy(6M&N=zjg!L zu;%ODJ0BeG&9PpbygU6)B;VK8Z!fU$c3ruDkB{yAJ>~F?3-dHBAb3^7&fWnDX`W3rgs%IlMCJG62G67AA%c zPE<@^xNHd9CMVC66QF_4$q9g-q#+I)^bHRJCY1}irkQ}ioS6YD4j;xIC9MZ!CIOJt zot?3sxHzzhOa}5)0e~G+R^?62Z~#A%1kjVzJTVHUxm*AkM1VnI2~ZHQ^1uNMjLrbc z7!MGXckRMD;^Tn`Tp~%~15ge*o+z0g1fNg@zUP_&n>z#0JAr_K5jG28`Vta6sp)Aj z&Eo+gh5@z=9f%4F00A-ybPbLI654|UFEWNxBx>FZ01V? z8k8GJ)W)3TX$T6VZrqNTi{b(v6$*rCgu?+8xa9YDC<_7XJtze>*wFzC3W(kTWQ{KL zju}Zw@sMzc(0zhB1GOgt0FA-nLcQ3z z92Q{BZ~+&Z3oSt7ET|a~YDj>6OvoLLlg6R(5b?nY-=L;HzO%r$u@Qj8;-DR7oq>-} z!*?D84RZJl)C`Ri2BF7Kx~qZyp#eZ=PJpxL-U1495)jA703T#HP2&KD3?E>MaKQlI z6cB=K(mW!V6kr1x1v((jx&Q_ObOw?InJzd$50?tveA24H5OW$ZS!~?*|Jue8yFgwT zhZ=f;u)`v6HGU;RK>PzYayB%6WZMyJzfEo5wL3`o$@9B5Di0mdF| zXL-_i*uW&PIbMZ_AA>{zB z1akoeZh`_{0D1~@R#1d!CIB+@FM~t?lhC(_Cg6lIm?r3O(*HJ2AS03CB}5?u|G1@) zJM#amH;^oI<3uRgCwQaDOgj%;cb;ogK$a=g;SHAjXjz zND{OoqB%pc;IC(V&^BmiHhb1f7?cE;4l*JLPEJAyGXZ)E!6yS=;!{%~21Y+3MPVx7 z$9Q1zJV78Q4D%Vx7V0n?$TRqXq7WY-AlSm3Hk(A@0@OxH5TO$hA0Gu!U=oBu|6kgC z6o?HpX%71+kdPD6h0w`^jE2TwKta(5$0u<}|K28|gz>u#5I9yJJ&GYjqQzvGOb>{> z;JJr4;JE;8MnclUYtC*Yq&uR_D;B`w=yOn=afyc#`|(SecBsGpO#u*-rlKYwKo4*s z=(unrq#BZrgv3VyghWP`79U_?VG&wjxc(gYB4EwyBkBXC^&>!Xo&?SW-2|vKJeW`o zz{8pSx9gA_C!tHdPga4_32ojaN-WTLC<@15f|-U@2B|j*6VE8jTEn9w0CVv|MR=CP z#Kl2dbTl~qcS51k**x!vFHmm+j0Xg37(8$)N`EN5b;1ou$E3dk-)9h6kUHS*1YKPa z@QMgxEvIYQDnoD11|XQ>roqp2ntxl6ow*BsD%9M zddyx{md8&Z%_1CviUg50%w~geSg$h9ECpk5LzH3=i9knkpaoEpL(C_+@Pq{0|GFN{ zMQIos2Ty>g&4%-5i{XD>k6BC0@W^l`jtJbeP;yi~aeF{U5Lw6_Fnj>Q8U^ASX^xm7 z{Sid}U+Yn2mV!qP7uKAD{?wfRqpo&|tfz zfAH_Nz;Er}`~P!$aCCGwl2JO~gN$d(5x@b7QsVE|+~!lzB8cWPAO+?WlwSzYGXH)X z=3|^2yrIpm!-R$y&vhb;ApfB!+BWdyYH%aP5(gn#hk%G;5)m7Zh<~rmgsBNX38VUq zfQrHjnH(`iM=?Zm=@+$Ukv|(&a|hEAKDY*sQ78}_5NK=&T7C+O0hqF38#)a3BVMqi z!6zSn0D+|p;%*v_lMqt@n9`A^{BRm#jPyWD`eDV9loh~w##ubXmCoe_0ssH;83DUzUN7Dr4fI2wX^_idJ2E%K`XR3H31CzvjaYdZ`}f?E`)*)rEfw+;ioV9 ziXx(v4x<2Vi0S}>BMLWEyl`tkiy#3IAt44}7RD`r_xzi;OK1Jzfsqfe*t6#xWF>Uw w8HQ&a0ca7*-zN}sCYqzUIp`gIopkm50G1a91PY3a4N;$k=_ZrAMtej519`8+Ba2Cgu@r0!Sqgw+#^~C`C;nt*T0WMCz*QqEah$iG+ZVkALxc|`UfWS&AoHE zSVj?vrBCPF^O!R;XXcw@GahN72d(ExTT|KDp_Ppdx)y7ocYheBT&d9g?QL_kpO*;? zn2Gv&Gq<`*lPys)_u?s?HmBypIae80q(NA|>ClHD6apnRDlecT&1NM0c(yX|e0P^ko4iaxC`0Uxv){ueND# zdyRg4wngY0{D1g7!#bNO2J|o6NkPd@keQ2Fv>Z!yzs+4MPJiun({B$h(HJ`n z-%t?1w^`lVA~+EE^yyRTv>U0DozQ7F(e+p(ng4&C6bsUfzjp^b?bQ;$1Oq^dO2nMO zE`YDYz`UJDEA;Ib4+TGew@Wa~EUd2^D9Q^>CKMKLPJg$=C?Adx2H zCN8lL?pl0(xYUvz7rQswF3{2MH|c(|jb?drilzAH7uW@h@stSAc{3ag$)XvS{9$uY z^c`*vP?l9m2ZQ9FM?1mDg~Q&wTn#o2vYYrmiNj4=MPIUs${i^hzZk9AhXX_aA_hT$ zRy_xNkbi8XG2SrT9<13H0k|wZnJ>*uU5?Sg!9f=I=lfpSfQ!S)0OlvJ*aFXl5%*+- zC9w6$qIX}wqxE^(+ghWqpHu|s|M2Xw6Ry3zy{5mvU)sLDJ~KEtD0#^7O`3jXJLv`C z3Ijno6SEuvxm?c0sIQ+BO*EvCkec;qkw^$TQ-9>Vn~T|ULM7Ge<-!b)GZ2thQ0bC48+fdKjEu?dOdpBE=FbBSZ%C^*UQsB4_n-HB#;muape)*zYQ#osr$ zy?@&B1{pVaywF8oqY(m53t{y0Z-tzM&$%J&7lP=707M`t1oTneFI=(6_~RboJXT-t zMJ2-gv>ZS`+tzf_2RISDgo?nyBOC?CY5)NmP`byc+E5uMz8`OpQ}*}wvjDDD6GxK> z_QM2d;rT$FhVsLwg5wNG4@rYW@+a0$-+z2gS_4Et#^qcj4$?Wzz(y1Z%{;KFW+Q~C zU}04SZ06g5Pyy@*ZGpZ(W1urXy}@Kzh!h4iozv;GYz9@MexT4T`$8E75aA7z4WD56 z1j8p7K0(SDpCB!MU|ujVk_e2vU^xs8riRG|HkV4J6DYd?$-FGor7j@fAzAq!z<;~p z=+8+3QheD><2lv_T!7k{3%Af|`-KAB0;FTL_QPzNw;TawJ1!gK;QhQ5DNuy^6GHB= zKW{UzZzL3^TKg3xDjIj1589>G#ZYG)mSqW z3{tKA0K5V+oEM8NSyOAjRMuN8B!3r)$YeGYp>%V=JG8g4nX7A9s_md#aWlMeh&gQ_ z5TMuHFJ@#J6g}&AAtw7K7VUoYK~UZ zujVmw+W#;`$?9PAqykd9Zdi@#IXa5cN)q8k&nDql`iWGfSCBy@8Yjx0RNd!5gZfG^b_wMd4t*xz5u~*?u{Z$&1P zk@4z-wS}^Iwoa-td? zKR?mm)|uba*29q`xciu^lZ-YxMKT(${(kz7zDBkl-bWk-)wU?`WB-Y=fc~G)!p`0A z=;`e5BB-XYP4RyNKjiB0ze5{3!Wsqm!^liv2BH1`L+hr0PY_g7l#`Q{|392y_P;+t z-^I({OJ)~pDMqm3FheVi6J`HSF1jvM&bA&ND=UO-kdxWEZR@sea)1BiQPi40irwVQ znSw?s>w|3NJk9Ej!Z4>*zw<817rhX!@;)UkoyrwH!n|H{y7`I41BFIU~BxF%tZ3}`|TY_y) z9T?RWkR>%dYy@Oc4KlOpP==^&M-xyDi8-`HO%))d6_^s1z^S1}wdGA6jznZZ4S_w7 zoTQo|^KlMsK_-SuB@l_yAfLK!jygs?}DQXoW2hJdgd2&(~B z$_YeckdPQc6Tnyv+ZZqo0pkz?`$f*NRmNCRU=)>zMPemHV?_}p78oUfQ36^Jh0JU$ zlp&(P2zvyP07kS#6d3b>F%Kn*1tJDW#EPN`V9SGz0T@MrQ51pwVl2ZdV;dVVvKetg8{a$8Hn^C@s15m09!C@ zdcepAjBE((7u)n!7;&(OIJE^5LZVQ^!NmVvL>#1N(S^g-5ccFXL=S7$ki2xjM*1Ju z5chWp8ysMG4jj2iE{8*d0~j#Salr66paBQS%z~9RAPz7**dquB3=b`FfZ++l@Pq-z z(Ey|Jf<&$Znt-7R!{!CUbAaJFAh2I-@LCz(BKIONF1C6hUagQu5N=>>1;$orVG%O3 z+)#!r0we4Zq!k#^l0{(j07eghwQ>Vd7bLtE(FCx0z}5wfi@>;uzQiz6cC02VJHwbLuNJ#%8+It zggt_U0wG$`41}>j7z?n_C?Fbu1TAW<1Hc#y+W;^&17kA+`^Bh%RmQX?U~I~)L+Ub{ z(wYz?4Hz?lF%w#7g3N3hlp#&P2zvy{1V*%^2^dv@Q59gBX+UHJiMl2<0c@(USpj1c zFg78uUre)FWwa9kMv)>|-69b?@Yi<0SOknk(1HkLW^E9}1`z>9*ds_0Frp9u@ zQwNudKmv26>OiIrWEcu4R*ygf9(hR}sMLW9P9j1(t4v|Q6b4LTz!U~dVZamyOpu-p zLy#~e447aKNnk<`VZamyOkpSrm{yO#5{7QT6b4LT2<&lT7!!Obo&3MCQ6?jk%G;Hd zl$2ppQ^zagl%|xGl(%hD+KwnGQ>ybJ6l$|1H8m2{sV%8ftKmpEwIwA2RN&P9kf59d zwP+m)uQs)kCn^)vHz5?HB_cg(R*j@iB&p*`IO38r1r$@EDH4H*BTb+uLoJa+Br4&d zNg6nVnlz)PP9nj7JaI`8Eu|tY0D_J*uSO!Gg|L!jD4sMAEvpeo3(yc$D5Di9E1pC} z#HnG`Y9xv^6-;PTPys!_2r00p8UB{8Hn9eYmCZpHNN8Ko^c)c6 zXg9Ey$(^Q$uBoqf4TUkS=AiFHtU+qx!g6Y540zQgA~S3h*rcJO!V?!ss_S3}Vs3$f?NgTP^E+B$%Jfh4qP2@e}U1ED{-Vn zY__-K)!DInxMx^fkDUzb!wwDO)fd%PIPuF9&ViLfqvW2i^p6uOo>PNGUo#$AK5{93?!GT$_Yh|`?eO_QhVube-b}L~Vm~Q$_>g{PMk<bW~u{PxIn zz*$-D4L#IXh6-|>AV*4e-St=;KM^m+0RyZ{`%?d+M zG9VPwR2!H+er#!LebzW6!GOb0QjV?r^wGevJNzexVBe>2zs}MuHa;RE{8+$o&!O-ky}GWUF$`hk<7{Vl*!Y*@y(37liI%dFkBhy7 z#Tci3-FyQlhL98yJD_<$kV7bimutN^(*{XF@qK&r1=s{rO74Hh5Wjh^vHqG^n%wa6 zM^F9DXA{3SUT6I^we)Ahi~U+(FvQi|yd1Txtkk^hwA|wIyzJ|_*^sxf@p9>CAtQ1! ziGfNi@3)i}aI-SdH#`#Lt!Hke zXJq9yE+@{(yD2wg8b#qV;A8JV|6Xw~b&{mqc3Bx2W=RztU2UtqlvG2%@!l?*@j7sI z{8(hnpg{Vr6ch&Ka$#X!uJ=LHgJ~T@3@8x)W1f6^pM+X^7+98iWtg5$q^QX|Dr`T|Q zbYjS|D>>duxmjo8&Zp!R6=ju_mE~tKd3u=|m~;K+6eUXbrU!i>>K10 z8WZgA;~nVl8zkZ;!MSl`UdAU3vCm+yq{|L9QQ7S>((;Uw$~yYmwpvuwBY*I|E_YW< zwXdY0ASfp*?%dh&)SOb(wh9VzvcNSROzRq|JZBMwZT6Q6ZLY)}vMydU8h$jVxUvBUOdLD^*l&{nu1gcFGe>b{J@J zZsZUUU}BRYX>L=NBWz%9`FtW&^j}lGQjzDanw@<%?p$)t#e(dTt5mO_% z0UxvM`B?@(oBa55mpWH8wxO>={M7NF_%m#EuaKWEl+ob%&t|2kH&pU$4T;TRhwt7J zv25@iJdD4%^@o%||?t^!25^aJ*2megkhq8SkSv*IR0xL}P!B#0FKKb~p9J5L8`0Jr7cOpE*QJ zD_*X3DUJ*ddsUJb9lrZutviAtMEmt0owMLNuX4fl>$KRZScwxQ8_O*67QLhrUAAM0 z!|YQFrr})`CT8|qJcmAs#@a>BvfvnIzj8&x(F9eEG!U@TD; z8DXGUbUD{SZlkK?j_XZ+Q&VEGKVjj!OH@_0g|gzWJYjoBmJ>&@Hsp`B4f&jx@}xiS zE;-*6>PQh{*5-PLfu(h?d$=ry7*G|`NHXbItlp6z@Z#G&+@J6Vqyf<{^CxQ=Rrh0v zo`P3}ua61#?_=NcP`94>U2s$e%RA9&(YqT8wfr%}gC%PJxWm&A9tXWrXX;8b=NsAR ze*OzX?DtEPk6vO3V(@!p(>GVey2Ngojf1oGsy#dP6GLXTPB`6?y+&@M^2Om}Lxw*W zeVnb%8SmuDEWCfDwgU2k@uNBgxT8^K2v zLnx9oEG$zATiGK#CLat{)jZy;vB|pQ6g!?7`BRLK2G3tciS+&Sx#p=bVdW=1&8hrk zsOs84Ip0k&>jjNDtBv?(6ooG%Aboj!Q;&Tbh{u_T1BX-&A_X)&>WU-toP8IP(^`4) z(Ok&l^)m4LFL%r(2YYcGn7;XO^vGDVE6#&=8_Vxt?cUpio0##@oXGs2>(|S`>z|$2 zCMm1J9m#2Wa^IUq>d%fE6BEd;U5Uig#+x-!V0+Y`>uF^Ol2Y1q?16??0N0^t+RI<; zb8r0Kmdg^+m@m!XL6e6PcSQXunk_@9Z9e3@+D73rmc8DZBCg(;N^weur_kZOzR2WY z13nr&Z~yPAw6YK5y{4mIg$6H7>`^#x0x#(ZS4zLN`5&ryEj>I=^}eVDXqcTC)(Lp zIi?17O0-QN9BmxN9ikn^9Pu=gSAM$@p#G~yvf{^-vLdmoNE=7RM4mgB%SmUAsj_oZyAC7I6^Tz{8pOwfyd96v2(R#H5CQ+xwr0jNcw4Bp#@tsqkxwi#F z$g=y{if%VB6$+Zv|5bD&hc=Nj-6Ysu@rb>64T2%I6k$b z(R!89^YD;|^{cSKyLPvIeCn9Y_Xs)|NqI1-5#M2mF%9~!+SQcN)PxGB>Q_-W7xZWB z2pqcXnwH($doTpkqi-fxdea#D^n*8T)7OQWTGm=;COP zc~1+!Kx7m2&yjqCV~pDJKkjhoz!0A{hpRj;t)iZYXyL&9GB4Ni4vzhBDfXMJ7qO-d zLr}Hsv@(oWi#*Wx?)&=yywv;W7o3STiC(s8H*Vg*5b-kJpE?W;_pv0Oq47&|(6#J2 z5EtrWu#aO4)sH(EqG`Lhe6V+XMwo3M^$D}*fvHWh9r2svXDmWgt}5ZJ!P$p^vllLv zFdIH!diZnC+k=;lGT&#})g>2E@a;OruygMY6on4~Xa6$CSjo*+E@79!*Js-!r_L8z z-+S=zp6d4pemPIQ@YZmfFTU6p0`6Wp{MQ|}jzUqU&!IOo<#uttkc?V9OH=!HA?GO1 zGZcsypO5Y93jv4Uml^b7>#e}6yszi3eMqakx+SW)d3x4tTt^|8jUI0exB24jezARD z;PH*7tEbtkD6L-=v;ns*-uj#zz526G;ErShJM$B%ngDu5+v#{l+%FSuh>F992hzkfTSU{`gJ4VGhhHoftzT$%fSNVl0bJJ2a zoUrHI`)K_nOfh`k2<+Omo~CDS$bx)Zm~L*@H8EN?w;FSk?qeLe^n9Z`7JldFzsFm{ z=glrACaX7E2_X|NMdIg#-JeAqy&LFYtI~R9E~=^EYIxN3jc_f&=M76!lMha0VyoR; z{cINf{QgDnPzV35;UyhDBS+PLZLQ9L%LN>NlbMOQ>Z_B_8Q1w1dtOShFfso0aZmDs zun%8!J$r!dq#E8D9KV_Nu7b#4v)kLf(_QT2+CC);H0n4FzghoYagTi52eDebH8_54 zz;=Xz}-pEDGOWl_IAxJ5eV+q7PQ{3EHe$z;x(Wie4Z) zb>Y|rff8!d;;XkXgqY<|rBI(QoIV0MzkEf6TDnuu#tUuAo?)Ikn@7IFRTn4CCeG7u z+_Xnm&dfD;|nChGg{ zwg+K|xN$kIj*sppZ5M->sxK=sJIqvtD+#QR+SFNTVX$hibUxv>5jW`ltui-p=hS-^ zrTsSiM0q5$p+g~+N@CSse+Q?v%2GViV~`Yiu3N=;&himeiRxN=?HKma z=C9ZoR(xDr!&2m~Fr`M|`Bw})BqC`rUsCcNvJ@E>Lvnq>tYqI-CL$)~O8AT;E zH3-~NC{3fmTV+HM3*ORTp-~9XLDZH&BFAlM$!RECQlo$%9~P@+CeEr6At;~eJ8s&0WmI>mn&;-^D8nHZ}bqYBoG&%LlFDIT4DpLl{C+CjF)Q_PY$6{Etlhn zbE-rYBE&owREerk3N0+h=~Ne>feyBTq5sYqd1n8kBjoA* z&pCr-BG2+_yHLUoqs3us@psmiZ-p!>o%d8kh(F18XgGAgNb|zu-I7Pnm%l=O6jMsV ztx$Bti7@_9AMenH5TO2R*m0Gxje+v6Cr&mvg!$Y1g>k5a zZQ@XHJ|1%FGC>kEpphM`Kbsk}f-(X$T05{?Ypy4O-%BlTwZD9(g1GF$#Q4;Z!=l3*ZMT3+7~=iU zuif3PA5QdX4Ma?Sd|vbZXMa!c7q5mMozq4iFhqID<;JIPE@oX4%+EF!raf1F#{T$U?{OsJ=Yy9x=EX8`3+S1BW5!Id0Nw^iV>Hugt9n#kECYs~(@Q+(n zw;n$%scdZPe*38@HZ#T6hLJu78;(^c*64O+$>BvQF>cO{f>QEw;@gy!rNzsJhFh9G zx(C$YCE-rU%Gx?M6X+#cdI^HB5XN=#%#z~kMK+4H3zqesxLRB9&iV^433o!)R#q_? zJ7VbQ9`zH(mMAG_8SrCcG=nS*EJ>Ax<&`(KZ&`ZZ{>l91Kg^+6t>DqZQd+4G2ha( z&n*B*;Z8`0nVCaWq-Xy|j#mODqHkq5SZLYBh4?nLy+7Hz_q1^?UJ~wvn34IV+1Fb) z%nZ(*9~LJFoPi-E#6&5&BqT*8MWmG_#YBW5FWFB~mR(S=Sp(mSbiRpU?fBV$tLE1Iy0XgGUwYnuYK+N9v2$Qx{PwT8 zDywcD#)*q_bMXjB$jgXtRZ*6dEFT{D{PvS`pb1`b+4~)k-NR{iM5RRxIz5Af}$EhG2#7|%wI+?G?Vel|eOv?#}II>de3wYcOD z9|ekdEoxPms`EI&d@lNahKs4ueCy=9MG9_@Ek|Yl)Z&4pk4JVhNy)h;>}h&q$+s7? zmzXFPxeaT%DfQfrHP>K>ZxL6^y8@pk=u)2MqEKSyRMtA zgaaev7(%nMauZu^SLD$m)~a$Ga}GP3sxwv)6iIh=)0SooCuj-#G{4j2`JmH2O4b$bNWO z>B3yf!JD=o^8Kov&!;Sy{MZJzRdia*_BLUN$@PIYzthA$s4dSM7>%*iMBtA1zjQ10 z3vACfx`6ip?|%rqztpwP;T;rbue)zeX6ls~7!vz_;IP&hOF*~O$4-3|g+ByeggdOZ zeX+#(MN4{6dKq-keb{S$(qXfnt6nkZ>uF282Y7#uMe{@8{nvM$b4lC0J3zquW5K(^ z-cD1Bs{WVZvaRvC^eJ;F5YI7hV{U#3yubXrV^%VfQn~$h;lAHLI2%!{+rIsIhglK9 zZOTjr?*ZPQqy3nTITyT#`2Lf(TMBC~NlUz1`RgC`FJnR%e>v>s-t6}yWxNfA;yF5w z*=%Pygs5dt2z+wgSyFQFh3V8!Zy%yBXOQ|#b;z3=Jx;r@;c#^RIOxoEh(#&qcU{^z z>w5;`Fw46@l};xSR#lpveuFfQS{Zl`@ctbB{(>8Xt{?h($%5_75Yy8$xgR})@3NfY zILa0K;#p2dtoV9ZPVoNz&z^;!{V;RLY-bp^V@%at>O`6O*>wWOD)zmKwLS{>D>l8s zdw}scVb}MJ#W>wpCY939^m~mhK4lmaj59F+8pG2lX=FZhe#Z-)Z@J9 z%yIw3on2S0@gCs)hmZ~T=e<7<4)J%yN7`^zaqKnPcWUM_qvhgvujzSC%uG0y2k_gT zjj^a4aB>Tq9=ON$Y5QKaU1h0ZMjo7s7~(V4oxIio^}&IIPSo~Sg-1_w+&VY#BbfWh zw)S)63p{5oScBH;gL1QUk7CKb9VJ=$A{wIRtP@7E~K7$VC~Y}=D#-=;X$v1}aQzU!&op1QGjxoOI0I$JhUvach&#SvA)WqK0obO8>g9X6pR>$9R(CA*bqj zUi&&Oo8bDN>}$={ib{Qvzvd3QXF@_R5t2q$}2%Ei_lw$;OnUod-$0GMOa@`7E#sTciT9Zz>k-_=`(t89 z#2(uX=X}EPK+;#Cp7Pm7bTaX(alA%Y{4Aq!88PA{MZ`l2`Pb$w7^27bz7@SsWX6{L zIf3=3%!eI|IS%zZ z7$W)herp@i+?Jc$(|lN-&?~)dtcuFXV$$w&N%GUj5GJ~J;Qg!o??h4arM*kuNMQ1LZ+S;*H_c+XDm55Ms$50T=m9m zD~6EWVSMw9_~4uLPNTq#t%Db59qjtMh_b|%ug!zsFod+^maV+QlJ>$O7vZk!3zCH7 zckepFbY?yVX`R3j0$WdnaIa6_d@<6 zlis(XxcYCC34Wc*+2ZbpBoe>1%wdRkHov)?lrGSP$Q$%sL?pKPZ@eS*oUe>ARC!oi z1VgM7D(<&G7tbu>f1QiDdbmVh!AW%I8M?5>J-Ox0_+;?@b>RIAToreF?T$HjXW@gO z-r+sYm#5c_j4DTG@##J8hxG;TUkBdb)zY+*LmWqQoB5YbNbSp_2~WcJ`jn%+-|w*H z?ZYR7_h($puLJM@rN6*8&aJ^~k2x|!6X4spuwPi(!pWoCYYUHc848?XVPv$)&#wdb z|0v6jt?r2IyZ)rya<8)2Oh*M783o?iU-y!ip@c;T_s`hAV3VIxhakZp@hWG8S%VnO zpKTtl)+u8g{;d{1k|;Uu(kR}ILffF(1sl28I)s{HwE^@ESHe&L4%WP59P2FQ1d!G+-U5PjUicf|I zV3l3ZcjlJX-JA=0rJX~8FF*R6Al_eoSJ5DA8&5sSKx=1JA&TpG5E)4wyw|o4&wn^- zKGf(M+pdmNDu)h+@3c5}F?G5qGW^;oJ{kOfWOFkIuPwgdpy6xvhI@mPi5|SI&H?*6 zzDS?mpJu%7#!a|h!2dT_RSxjbG2K)pDrh_{IK1A%`lgrmIfeqh?f8#HICIV;_+;?^ zRb8z!eZqSmX3CFFw)HxMMXQ}kyit(fKni+0^n2fBIeaqs|6b(bZ}XYA#&%DKqrS^+ zoH;t$p~M>!Z4=mFeW~?QBxWdKYTP4n-KTzLS%n?gSN!qv?>9~p=}Fhj!nGeRzQz!z z?5Dn|@O{YT3;XpjZibVsCr@^P{{;lhN=?I=R+AQpFS_}cTyOREN(>)(GxC}%9uZtwj&k}a>+KlrqTi++EHAW2@k z4EnNcu-T94bStuS zLdKLf(@wVX9|Ejg9yiYa7lWP4)Z3qTyRlv+|D3RklJQR=OZR4q9d@^IHLp+G{A;jf z$6nt0$oO)1S<1H#pBsD?vt@jz7tA?p7YnYBTjP`e215TRD=8|G&_F0b3Ab(TZyc0} zy>W=fJR$lBkw@$eR@&v@B>Ea8T1b9t6~bHe#94@OsxAjVvA0$kARdMzPQV+VSPcZ= zu;3*G%~Yu&B8tXCi4f-_hcwYra;y|eu%H=QLLk$@%bq9@i(yg|sZ?=54exbQ{1a}2 zFdp=3CGv{K(3sHB9=Qw)i2iqF@Mb7P1<{UDKtKlFs3EvR5+wvW z{}w`XU`+59{Bj|VIEzLyQBv@CB#08jtEpIElw!GeaBmCm6hpvyZ8{wB?q2@nu4omZnCqng91;^6F9r0Blltm78;tG za!M*Z4HX476ALZ%1{x~rtG7)K+8!PsAtP$4PdZ<^ezdf*s;uz-^}_3Ss>AQ-n-TV! z+sqa2!n10tGGfoi#m2>FsLD$4@bTZRvO`gLR|vhv^hZjx zgok;c7?mI+Nw)hR5vSpZ>wGpyn3zRVcqRZm+qJv<85vY zbita##q+A21;xTI*b>rqj^`v~#4ES@>6)B6#idDUM3!MZn_NoJ*2VIe{ z@BrF|(3t4M7KdG(_00UjP6r%6%D~MwJd~fKfDPwWC)Q{~eT`ko-P>0#U#-0N;KA)D z_4T#44Q*`oboNgy_~BXM%lE6sMpk)a6W5v$v#XW9N%;j23u|s)xOKHUywcDNFQvS5 z;$l9Y6>h#7U%zIN&1Z3SC8njtC8npx=cUBOWkwg}7HyXmkd&2ecvOpLg`2O}SFYr< zTy}L}dgSNs5qSEbv7Wh?pWkVxQ{fc2B?^{=B)D4O=IcsX*=4u8weB?c9+zF#tGx1} z>Cxi{ckkW1?c$}U{dr;`56=oWUuAxNCDpe~sVYi+Zs=79)Rn>uv$t+N(i)i89lrg!ZyC1{yj&lGB5ZFGKVOHJzRZtHIC8}I(o`Wfq>q5a@iHtn>A1GRy=xI zTUT@2=753jtqCM}#a#R9s!OyfZ(I+kQoSC4n%4d5OC?oiMmR97o~pIx8W*3U@iQ+z zH9;jlKE^LC4)PZ-DvQX7+5y;O>0>AS={ea(e&*$+ z|7))GFYei0xpSxNa@mcVhjn+JJg={*F|xHb(AFJa0zb3t{c{|z>f*94Z&PSW%d3)9 zl{*qeq%-69L$1_PHh}l{6dP}sJs)^?M_R-K_>Ea+T`T<7Y28|R1_%U)AJ@4T!o@s`@?IOgt$V+kxUcICd0HVHPVd-9PmKWH{W?w)3ev)wiVZz zMq}!^U0bM{(zffT`F@h>;Jtz&Wop7#?rd~DG5vJvM zdaM@i2C?-^VF;SJlF)ellw|JJ^$=VtnW zBz)7+rYJ4?@eB-675YQpwx*napx5L3bNkQjiaw87{`{~?^MCGs?i+?UmVH`OyMy
    ;M8`l%Bf#m=fnKYCpX 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ේXjq@qXgflu)0hq>tG8U4GGgMq(vT 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°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�PFub9a8{*|~D#Btw{2tTiC<55( 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ŗB$Omobc|!4qfTdWZ@5Ys~;_%a8)gHW_FN@jelH{>S}DO2D6S6@FxV z-a*vj!<~843J(#E=*`wfv-xAQ`QeoYbBEWF3gj}FYc{{SD7FTxWBMCn{YuHx&_ca|P`xA2 zeEpiB%RP?i9o@7nGXTOkX!>fyZ?1GI1KA{{=h3=lASlpg~8Jk4x}Up$-gJd zhY9)GlY|y85XlAZBV?wWzj`kSK{Rpy5hnP6QO}45uNmI|YCkEnz}kyUIvDWogw14l zIFfUt?Rf;Krt{1a z5JoARKc7L~OaUhNKG>f;{!D~utv-GO!ssAti351}awLw(q~jL!SS25uCcsVXWe*Z? z-%EIJrHmLo_u(Sb!Pxh-tn;@~_-$a5`gO!>_V&_SU?*}`I{dA&NY4HZi8}87^|-T zUq+Jg-;qyKV-XkmoqYKjvLT1uS%~xuKmLtCawE?NWGf@_jl(}Au}1Pe`V#dGIs2)mndFn}R zR2lhYH(_Mw2YcaCW`39uzo{UA2r|4fO@u?{iX`pip;+jdiryrf1LYSEd=>urfRcfa zZ6j;IZjh-Rvtayj@>ZPu=6;aOPsz{DfSMzL!mg0vkRAnlBrPDvWb+w<*+7z@>Vm1+ z-PCGjl?^Zs3+R+zkL1dsK9iwB(W(aVUwbyFiBd%I}RjLN0tx{$?b% zKly?LwYM3`D)KrZX|maQ_$VUA5cg!qXEpLV6aj|XOcMIE;i>52|^;|k+0FE&|}(p7XXbl-yw#rr1BFYUx&U7)_G0jO-$6lPtw7& zaxizJWpiI#;qxGl?_iMUieWxA#^+5!c8?;P+WKOu^p~N7!}M;;SJ2a~-5}p!e-K)E z*g+nD$J!Us%QJ`h^3h3P>3iA!FWySnCs{C1_AhRb!s3HhKPFdO>gM@;8{8ede1yRu`LIGxg0hyaa)0SFVQ7Q_R(eOg>DR^1i zvJ*Vi{-1F!q)@UJ!_es#xKeELdu=Yb}84$zcEu5*qtC|Mt zu@I%TSu&(y=@qaB ohZcti@;K{fScj*{E>ncfy=OjxKti{TL3-?Q38KkaH@Xhp+ zwOo=$O45c3gVeER_E01z*egk%VTXqSqa+_gfZs3%wUBfu+a8~ntY=@G04soBx*IEz zZw0VW01O|N0NiuVH=cPn_~$|x!?sqgONT2e8g1it%bRJR>q4Cm{f#U?g#fk;Nl&hsc&@mvD0CrylkicQ! z8k7TC=m-_@R@Yh-cX)?YAg3+!&yugKtwc5hSYDxR1akpIodRCyY5~ytUWN6!5Zs(N z<;5l-&wZGYHFycuU@TEav*)0NN~txnt5R(mE5n(da|yMvwYnpssd?pR{52w!4aOk( zn!(#*FD(T;Rak{Lk0U6u)`72;aDIC2x#gcz(Ug@=Mk#t?KcE4hTS;< z9aRx480wF+!F}vl{;^ zorSYJ-%|g%$V?yiHf1Mvv+C^W$f29duH`eQVeDiRL|&0z0*;EaEyzE~*y#L1Aq9d?smc)wpG3?A;gp7n^Br8hRA3!A zZH0KUh_hfjiSc2~C>+<=24gy7;czBP0ke|!2@5k88v(L3H>aSw4qT!O>k@P)6@G54q$D!C5Hkz2qiZ=}Y78(b=%EYlhf~tj zEYQg|=@hOx1ox}@#$0HqGDH_yxEq^?L&KP@f%%=l9j;~mB`nm)Zl8dU7xjcN4_6PV zo}{a-WSzK&0pL>&acm2cR%1khSxK#X1CvLu;Bp2lh0+y$~s!5?vefvghr{^SENSCcbo_A0dm(yG|<4{6d3JiGP=5vwI_?_)?jO?7 zN=F(~%3G>wB%V?6C>e6j+U63LT3_7pCfG#vy{_pG?eE8=2d^9%7wO|XvA^h z?pQ-ZzeB==3$!*9OfJkPvW`}tI_*b|7o5Ti>Dzr2Wj4f5_bY1^rBJz~bQQ)-KN_c$ zBV4fA6~LqC`tXgC#_7>8dqY znxltW>IQyh>0|lqAxn_aa_y`~O7xSKi*Optx^>qwxjp9jW~i?$D=ojDv0T;LV+)AZqq{-@c;7Le~O{IgrPUW(D*+`bpLfU{<|alu;zQ_p$pW; ze++(l>c$}EF-vFsGv*Pi{Ek%RfQPP|F^ILkJt|R1!UT}$AqPFtj;Y(SP}xOYc0STf8&V_D(YvD@+UO-z$VciePrMdHW z0EOwdiI7AT5RgoKJRNYzp4f96NF$l=}b z!t-Tbzp*dyyJI+4mo4?swMQ>q&7EMozC2$xyK17xl``g!PD8=v72Eu;_N zBOLkdrTR!j;W%yTgzUj3XI6{|4T2et)sy$-tKWS084q3KMl%vmn#Zj+KmN(LsdIlZ zn42g6V3sG2OE(`m3YnJP-1axKdAI|-`a4wD;U2mQO7vJ)|3Rj_cjgY6Xx#fO33}>p z(2)E}koS+6uO3yp$gfXfsSS2_P*npwbk{hEIVGD}E|?K~)@PEG*$BHMa^9Uhwdi;glPFG zVtr%xL{bTu07&=$u=nm^F|F?(a7`h~`IwR%R}P_sp^y+;gF_Ymc!5%Q3(*5IPf56^VI_222tHKwF^< zFOB*MG#(HkPPl#`7kj!1S_#taKth7<^#G32*98ES9E(HYd3{hjV(V@~hBvph0#u_& znC(b60|tgE4R`E;B>|v_aR3V51}(E6SR^bKs-}AJfNod#4sk zQ>#r~ZPh?U;?4dtL@g#m2^|{sR{L{$>US&D>e#+R%w5&XDE(KTSYi0#^BKNcoe?)4 zs8DG(5MgJczVW~hhFp_YvPl&%m9RZ}CY^Jia9JdiAM+Qbn3xC(LUx0Oyul@tRfQbw z=u7l0nMi0u+i-y{jJ%Xfl?s@H0-Lb@x>tq4=OiC~;{AcC@}81@|~b|-w+9qCJH51D@&Z+-^1l=3}DN%4QA zr10-i^bPt_dSoERk_aEuS3~x15C|7SVYgE7^G{*qJ-q^g=qSWX3JnyeDhG4|cOc)K z69yQQvl37tFA7Mav~GeGC|5u3D+7Cf1N!d-nLD5SDcqs?@OeFQ)7UDq*?6~|JLvR)iVvU+2JuADUVs=prm_K^`pUua-7xT)dac_Rljw4$)9E>n(^m-FF}~iA=bKQ10MEQ^01CD0l_gBF&(ZxB#4<;`tD2 z2CgufAPkHu!P`v)8chCfRXnjBoWrB|78nwNp_5BE5!Kso+7R2V5f6oU2JZOm>)@-; zCul1`>l?71OEdyl7Bg`iULdW60eJ7AQxBeZ3T*Qs9rh6_)lmt(1TJ(_DwK2&T4F;< z-UHK$ZWNhSJ%k7ws~!v8wPH0|S`kk0swetF58q4mtJIQJ$OPPwPJB5GybyW@Y?UAa zcuCdP7EyFU2wmv)^XIzK}Lv`namTLc+` zuZkUqKn&W2;#&Z-*rQfJm?oV62Eea0;1;bQhSkaPDZsR8Ptl4Jz(R2jp)0%)qlK$s5X>Ja|(tJ05eQ< z=4-2b{Vg%ai@4K=cmo!rY|WiXRIdgAs~iC|F$7x9K#ZedSBz`}YM=sAn-Z2IxXxL9 z)9oJNN{op207Q|91Fle1IYCJcNyQ&RBN|gBXCbR;K@rm%cK*R$!(v5gjZRG2%`Gmy-h`cm_B@l8q!9CE$ zdteA01uG4}`ic}K<-#DG1p{uYX?r|n@}ZE#)2+Z0^hyL+77YgPQ$deNWe*Pqunu$j zpxpCez+K&k(jDRj&!r!p`UD0GXAo5yLs>yoODO6k4wTC66n%glAUg%tCxrf`v;$1R zq2vQrE1^t`0_YY{xt9=ehK3RVFWMy_3rDdBO3+JH3J$GrpL6;;#T-bAU0(4)P|j2f z%Aj0|Q8jRK3@F4UA9G51Bb?rPmcoD{W)6Y@cQL*e7pg(q=pk-N*2h~7aee$k>dd}+ z_}7Ct?sP2(hxHG)`-~~Xr67LpF3NML z&esmOzmbR~y}IWA(|F4N7!mXH*lPK<pAw$?bxp>_QbYXTzK zv}r$K2o%5euNX6UmRd(qD|!C>S0oyeSLy<20!6NodX<;-X0<*?wbS~|NWuu|AnEq< zQV>-JdEmVuL+=%}IKnTFUyB9&bTNOr*1eguv158#x{%iS);j!c;Bq5~0dZA8n!7g! z4S)z}$-i!UFPG*Y97KEk=av5xfcOuL;o*}dW3=tU^f+vu$7vj=%_Chm=po0Q55rYf`JNDP^qhpA9qrI8G zh&=xg)p~82)N8q@x3&Lie`zzI>-Adc&#Z7MR5&81T{n(C6gcp2wyxhG+q({-D`NkwatIqp{c1e6v3ou5p2n!xrtDJqN$>_JR7* zF>nK-HTyITcdX$2o_-*?lmKB5z^nNK$TYJw8VsBhgGCxmOc&DY7^^v~(ag~Ru#l*0 zKmP-a1KoSUf1F{-j3jBQA=gTf{6JD9noWljV>S4mjkcPmkq~B~17D^2o!UxiK(r|L zefazEtH;Clj0{ivC?SRaaNuL%BQ9SK-$)AoM*9(-9{v?bI`CC|R3Fri`poGVi4$Iq zXfoKbGY5Kx4aW{5$?ivsv3&5d^M+w2-as1|1HS1faA_b*JGQ+5{7&$2(_Vsp%m`p| zSYjUF87}UD^#UQHt0hKh9|I9VoPoS4mZja0<)vvF#^V4zB?c6C#0`^@#sfbh9!jaf zW@EbJup>Y|u*1;3Q2V9AD;zUHj-oksVim>$icG@<+J#pbhfNudVL(&43ChbZ-{6dS z5t@#4RHYst&@e*2?32nH;Dm#F&&a-tm>!5Hgn7*bAN9V&3$JDjx#ZIv)r+7Nqt|^8 z;9Lc5o9ozH2`pe3*9SYxIqQi9EvT6mz=n{YHF{c~ziXyi?Svqe5B6}qOGB{e&-oCg zgk34=E~$ef%@AX>MYxF%g3>=ipqJ=Ij<;Ycsf%@{58*_^bkTAk-MH@EtfQ zZOiXN0G{j}Hs>V9;b|7PSD;4Jc9vmAoI99i_Nn*Q_E;ASBgUV{26DoSc9uv|q2UQQ zf<2(!8%W6E-2iVaSmzGobRC9!aa-6I``G*k+?aKs@{LWdihyMUQ?LQIv~AwuI6(ky zW>}+s)yKYcd(A3tUk5ROZ{cbfsec^?qT6l0$5B|D_BKp21Sfz8`cfP_EE1ANgOrXx z1^`9}XD|pY0Zru1C!mlt-&+@T0L_O4B_8$z zEWr#`N8E$eVgt}kF#q!^G`R_D!gg~m8;^&Y&fnA*`y_{x%P}$LSH05|#j|aS2{?@E z6M{NO7yH11RTDu99`grGBo0V6Hg}hYaon~;fZwdOC|bjYK>@M&4g&zuU$fJ(UhNB)&~#X? zau_%Y!c8FttH%^XvSE-|qFEfH@japoycM?{ApbMS{II6sQ7t;X-G3v5XR(2BV$lv^ zo&<~p5G&fv1{IzbJD})o)!3`|Kw~;Nntm$*!L*5LJFWpBvJuH#cjEv$e6rVQc90uJ zekTBl9QFs`DM4yE;3K-4roqQFmT^W@4J<@mIE^^s_`dg?rq`b)-;Qgzqp8uha4YIU62tXYk90S{#nN!>OTgnYJ| zLyi`gxiYmnTYcek9!cGt13-@Y+%0vXxRRu9+M#~ka=rs7DFYqUM@Z_O@rf1T+Ct-_8@op1fn82_L5*ZLKpd140 z*L9=m{Rbf4@8bZ!W5XuOE(%R`Vlsu2t>lBV(YAs@#9Ydaf{&tOHk(_(ibrsI^Jnle zln_J(5d?aaZ*h_V2r?KEWdPbajqhVXw#OWNfps7r;YP}b^Ls!9qd`Ijss}nP0NBciUXK!QATNCN`b!KkZx2JT~i;=R)(N;RBt1qd(SDHlMf`pT08 zit@CDBc-|#6k6f4FU7!KTPaO3nOu=fE+gw@k>fv-4KKBm$Ui*#gG}`w8^{b2`P=$e zB}IM}4sY#Hx@T2_$GTBF$^Josy^z12^*XcOnX0?9<-~#t8J$8?wZK zUjtd%33Kp{Ux0%<2fowS8i4a{M_hM=Wx=8dBrPL0Z;3H_i#~YAcfMz9MnRUBoly`1 z1-`umy!X>OX~2RYF0Fu4DnYV@SBzFV>pH7lNe%btfTp7ur&jWA!e=aT7KiWWi>`P$ z5QK}*XSi+Fzz#{Z2T#(%o3igFsu1E3yahit)k_KViz6VXVq*ZS;lU9%Kp;lJsb}ra z?&hI|vpTba5Sr57>Zl4M5X-=vaJUZWiJKXa6Vho!=jwa3Vo>MlG15og{v`t(=fkr^ zd;sU2NK_KiF@u280(#V5vv$Fe90-w_v!cG;8S0o1J@om~l>6Yi>Jpu>7+fq|20s4R zntOq!H)6t&4*|jC*1gFfAPxMK2TK42pz!9*LQSY05eLyli9~g3y#wtn@xGjxr3B3v z5Wg|1&V30gIvE_e8n6m_KtKgNUKQ#jCESAdaC5rD*7YSm-kC!X_raV&P-j#p!2=W` z2cQFJa(NaS;JTBIAU7G9GAmk5hkRv2WLX_rzt8PnCqN^gp-n+VC0qhwRG9#Yw6-E7 zriHKvPn`oKiEPC5=xhi01PBg?j4DBH+kQ?f;kEZ3=kS_7z^HgAm00~398e-VS0`6iLPb2&qAs9$M1Ui8{3u=0gLW#lge(08U z-9%K9Zi`B2HiR{`zc&EY9f(x=YEKaH)=M+?l1dX|Su)FdVP}fXJte8MX{Z zBPgZg`-;it^C3v`8~o^luCor}f2~+eso!-1h!4b0yYIm!CqKfvKR;x zHg*u3m<40NJ$;HU4FH1VTZl|yhtr`Yz|%MjkwVS&*YhW$rPn~C2F~Q`Q9gB2C}zXT z9XXresA(%jMv>w%qoL`PrtCCI+JMRRNRK(h2pAowfm3ms;=earHJJh&EE>c?wtk*W zhUe26N@#xE8S98I2R?*>6$$^cW*i4Mdiw;=gFqiD9`hZ4ITctGAgSC2VLv^q=0c8^ zH*3D(_znEg$OsbNY)~{9$5oT?RV`~sc#{-&n~;)%$KV@s@EQ`{=~s=bVYHpxC*@;d z;$To$jw?u6m_jrVuToMPQ)Zmc)l2Cq*Gp-2_PLy5wKfI#5ir{RMj!tFj6VFMI|5D- ze8L6a4f#(<7Z-gJM*D`np%PjM0y%D4HwZac01+VJkzOATt^CycU$2XY$P+(5zyAy| z`lZQ(0EAwbuP=DD$P3fDX2?0ygOX9HfGfbC=*oIp9cSb}YJrS4#C8B=!2p7c+R^Up z+5NNuMlG<9%GcIT>p=fnPV67g`zMp26Ga;#hC(kd0MP~dYCpRF#4`T%&5=KhP6b@z zS8IBS6j~a#Ds!+WP%;@eL3u0g2uKn?vhUL++pT*TNpXF-d)Tv;V_}K;c%1l%QR( z?I+^{(jY6U6pD{B?A5%{wi3z()a2jm0{-w*83^4Y?d{W+_^ZkP5Igixr=t6YKrO@> z0Z7L1c`FnQjq45eLKQ`pJWL~B65_&mt804hO7 z1$(_VtPS-+fA-VH#vvR6qJ~h_w6_fYM3#o|1q2TK6NiK<)*FL|0E1pbMIlGpxIIHH zM~Gyl(PGa5OIce|r+{JNTMt3^OzIJ#&fEHxH8PV;>W27XVsrUwFlKvnrq z_}=NON$}!nI?c+!@zd;^<7BLX6?!`6lE$q7etVN=KeYO`zNR0nXl4zL$xwT5jmElT zyhc3>CL%vJ8||F}OLuGF+okSzaKPqiY<nM;uM?9PoX>SNhI)y9}~8uf{;21Ts3(E0Nux&$3he+7pFLH55^}tL zf*C;>ve|x`W}-&3{!jQ;)Y7^b)8lN%$~xS^xsCg#k2PoR z;DpB*VnF;D49lWj#fl}IwK1B_i_~85ITz%cgE&!G(Lv5pth{s16+lJWr(&>l+al2a zd4}CL!>}oZSUG3u$h}|{D`40GQJXGKLr)*<(=%*wBRIv^Ye0Xu53Kuj7wfAq)x%n% zV4Zp0Mor5msDEQ8C>C?V&w!?hIhE$z2WvQ=gnEd*4is2m{izCI0Mx~EG*g;1>dn|- zo%h2*6NNKICu#=pP^5yMM~Sd}8g$`WXnA~ptmVA}#|lJ0PO0@^=DTM%q^Ob9cEhSB ztf#cS2Ewl}&ae%gKw2pQ@L~RPj5Z9wssV_=a1d3;1!9Mw{P}D2u?w>n!$seKWH2Y3 zjD1qY#t*>&Z7_qSu+S}Y(p*IdLLJukW-*X&%63BkH>P7Q*mMI=qdpu*6bv@M1Bx~V z@ZqiWFUZozTm9z=FxKPP+$o%7P{FYTsR#thv~h9s5X!k zKdPSn7raL_O|3eEHQTpu(g2%DLk9R@phrK=H(2uCQInK7P_tA+)tnjvxjQ;ETl|j! zM7cm$quae>f<8Roogom#!q;eMK#S^OYHVOxLdwoj>Je~yj|VUrx&~Tn)){KLOweM7 zz=GNeXo;o)0&MW^aovBxTf1b)iccW)NPGR)oQ>ghv@t; z2{17+u-p0Z5Xt20UK582CSfKfGnP!@?E=ujWDCf!1l#DFwEr>WgK^9sKcNN-@GWTI zTinWR8L||g3(cZ*=dS>^!uOe3-zl}NHk2V_E5X&Vp;$wFiWkiD;TxwutjKIcS-&6} zMm5SVgR~&ZE`3S|&8L3T3W#30mkav7fEIiN$KoD1BTHbBE6SXpZxq}QCiFij%6NT* zNPx0$cWM|oU6nv@058ETwbdEK2{wU4bG*@$8jIy8O&29+H2M&y!1SE`UTZ5w)%# zxnVMye2~1GOqh?M3>iKaD$@?0_#otZeXhPmL*KzAcYMHk<`FMV?eF-2d;W5>GpvBF zgiovKL2&-py(kcaTxmyK8ACX;y$SM1SUo-nv`EbXLa2XF;g45Q#JP)O5cqgz1!XM?`T zL_!CG5WsPEXoYG)7>i8o2++VTXSB8!pa7M-@ez>YbuwWJWhfKhuRx7(?na9s`K5w* zM(0GrNRMc+fp7SC5&;8wM7u!Fg&a`mD8k|WCaolfhZ{JeH1JW$_h4-yVg*nL?9Q5j zUIw5+l%a*-a<|m`z!gl0FgqYMbgRC>()7Dl5ah&Eh)p40>J#7135bC)xJSt_!s}p= z1^?U}KIm6&iW@^XINl@1f|qLpFbS~_bV&3$&`EBf05U4>9tHmn{D7VffSgR{z>4f_ z!n%44&= zn?kS&urPpp($dmNP$oN5@Dq1|pmGTXio{o5YC&?fbG-6z!dcMb-S89ApJ+LqN>s!5 z`#^jLbz^*4}!y1n4(ymcw`-4cSB&v z5;D3!#1Nnb-~mtsz&rq$1c9`(xgQuTCI6m2#OeU5@)8OAGIkNfuE|FZ5ul9Z|1uTM z2aq9tA}}1v?`*<17a+u-Nq@4M!WjdwAV3E*(K1o6di=K_$}JfMw2!$`j4y`Mdx8Lru-G(&GIJnk zBmvI}WPm}TgmV2mppA}aQ$66J$wz}w7c7_uBS9Q2(6<3-O*8ANDf#t)K2RP23F110 z(mkVaZi0CD%4GS)QC?Q2J62M#;*g8aPh$$ytyV5mV?UF!VEPezdCK*a6au6}c3;p>XEQp> zpIJ*Gd;mf{pyV(p`G4_eRv45F!6gYgp+6U>`fs;7IyzxLe_*3y|MLenx<7xkI|J7- z_ir=bzilszy?+}d=#bDa_}3SH^x>xmekP#(rD5<}N5=qu&~bE?{y+C&qcib8_D%m| zf53n2oBzkY;eYHK{m1^m|JWZ4`>4Es{`G?$R5rT)l%M;s(V2|)d*B~zC;i9%2(%AB zs4f5g8&vt>-#>nJ26Q|88&ow?yB$7?_j7wlyVd^sbuK#Zvi8tmf5+Z!yIi{+5__w6 z`|7@SJ9O_F?RFTcsCSz*qj&p>)w}&MUb`JmQuJ;ICHHPe{w#l__~+m4z1vZXv|IQE ztC}tD(Fq+~xL8*wOefiuj&uF#R9_z5)78`0GdPS-_i$o+Fhb!djSfdWJbXPpVb9-l zvj@$CjYIm{U=Id(ID9RHiSL8pNW~=pN1t29rzm-A3b5sSKJAmBEIio-TBM zwC4xuK|xHej~~?+rTh9&gCcnhI)lsRa_LO}ASPVQ)pZ+#9?2sybh+K3ToPTE8Kxuj z4Lv~f_kc5kXxweCu2iOfBo~#$!@2aZARdbV5>zOIPNVto<8f9n`*0YS$qkMO#Ut<_ zC^8qL3^CM#-gIQ5< z^l(fN+jTLMAIoJ>*Rr+gp`mp#WGFc3EkS~o1_aZoy_hOm zL3Ae7KN9ErQrTRB>g!9T(eN;w@TK`uovB2)Hl5y^?&RqTXR&-Xb7@Q;nzIkh5AG|4 z;^9i8G8rCQcr-edwt?yy7IwgwL8ZA+eNp;aiYKH8L5q0@88im&*B=at275kK>Sk&%6Vm-zkWLL{^8BfEHY+@gOJaoSBvIMy z16)^M20xTVr_x!h2>bwx$)pBxxuM}yI)mX89L(jp`UdgCwCU`KP%fKA$HBlN;U@U{ z()=TifJue(BUtoMI-MFB8X7~>9_4a9{eAst{={KuJ)cjoA>H36631f*xHv16&kbO) zX}99f+j{#l74Udc< zSPT|CUu+he4T)Sh8j6lG=qyG6m(AwV86K=42Jo-hy8JL*7MB<9Ll5OgLdY(i&4x!P zl8Er}a}997dGL5d#^8KrFwP~S_ym=3lpOG9oI59uyoLL2wD2&0_h((J(62mB|PQ@aNx-wZbu%QSxoc}W&4+qOR zOb>=LPew*Y1%L&x;<@~=&}7yTIy;<)!yS&&T0lHJpkX=$vJrMX7r36*qDeIc$AS1Kua0DHh|Nqo<0aG?dK>ly5bSUe00fy<+Ge=q^i{R7o*vP0bD%&4M5H1V{R5m@p%LlFs=@Ai-3(_NT80cuo*dpM8 zWpJ7B05G9tkwI)4JD3QM2xhRDTm~G)8FZY06L=`>!-$;|#A4*MMM} zKaJr_XSh1i9AMmHd3w0|c+z2vr!#1Dx~mg?IgQKq^@ns{2e4E~-%RxgVEfYPOqwU| z&!h+OV0`wZvFUs^3*L7@ga^)G!aJ5u_lKkYd??G8>ZMI*`%?K#ln$>8c-4mK+&sYK z1xMha{4jPv0F8fAd5+-QA6Y5X2RHs_V`?Q*`joI1RfS19vm44 z&p$k;q4WTMCc~HOyV=zv2wp@?x<8KvFL?%y8RX05!OPs=pTYFy(p)!tFyQqC{mBdF z!s84R2OlP#O7&+^ed$zZCX>OV`uWg!RG1Y|edsJI75W`sNz7m>&ELlby))i$sWdoa z8&!LT6U!qYlneFrg<;dfgXYQLhBK*agFXGV(;OO??%}${Z?h{*co4R3gJ}?LHRHdV5P^;Uo)G<>5dEGI{hkp0o)G<>5dAwL68xW=5CJ?exchMB>6^*f zf|_!7pg4xPB^Zz0vFgGxtJbls541DxF767ehpugoVRd`WzdHRLnlcP0C7hk*<`|97 za6i7CrsHISTP}Z4zjo5AYd75E=@*LhR#{FrvUOa{jIJ(Qd+A5GEE-+5E7+;7_$^+k z!oB*MOg3qYH6rH3Pl!JAT5eDzN;o}`bAWBBBVMYPzuNg*%$BA#MFY;3Kkp;5eiWH5 zUw)>bN$6O7S3l@M)sE#S3NqbFraFkdukP_2zWbKR(p4r$|F~+W2@PC!%Pf4{F=FQh zlZSt`Mdpy-*yfcS*Q;7`iQhJEu+>Ui|2DlFtN!?yGb=cHkX|3p8l4lZ_nmiG_Gv0} zr#D)yx6B^KdONBu@BZdTM_0DZo*d)ys!vrsr-P{0B?A8}+XctZ+>U-Vsr8cWW3$-rwjQMJe5?1i?v@Wn&+W5f-B2Rh@`R`T z8JD!M*SXsktz3F?*d*$X%YCD5tMRItL)-cU+D20>XIrjZJs`hsUA_CMTMbrIvZFc2 z3{PwWd2hnVrCuH(BJj|aMz9vHRLuSw)nB4a=PVlmp$WWjSfzIXE4 zRnqvd`ZZA_Zr8@mt0SL*&~VED1Qfz58e6^+fQL9d`#JM#o)11tW zO!{_op8K%&MqbNFp4%4Fk&6>PEk1pS~bT7Y)+aJBWd2fCC z&^3LEUGowgo|n|0xwU$|bB@y=$N%s&T6(WBsoZ*(``i40rfr$nyK2+>AKh!B3wPW) z$~wO#+Dw@7;^-cei?beD&OA3N?{3nxGuI9*TR^@tO;@?i#ij35pSOV~MmKAXpgnijO=P2$;PclzF#40vXmfXj$yC0f$;#~9{FGi+G%kT#$r@Bek zj@sIGi8tiQvz0?imTqrVIk$Z^!MA!U%uD7~mb94|zN1_lZqfBc^*XZetW5_GyzpDj z!@7;0&F${n7K``kAIY)S|*4^!;PJ=SdnwS5fSE2H!JJ<*#a zkB&9G`uTfFiK1la#2fxIbAwy2%JWvHMORK(Jv#N?wpXjXF52IcZT%Qs65?ZDcClod z$ru`z*Oif~uyb(7k2-}<5!<>8f>INYr|Q-9n{^uJx8>z^PuyZya&C^~6rI1UYGsvs zga618?&d{-k@DIEkA}#MhbASIocxLT*CMiWdC^VtDy!#zd#YS;@=U9Te)OgXXYyv0 zu1mU_*aR@NHM^rZ^M^Z+R%d4L-N{k`58+6?31#w zp7>MhWyfpBGrrBcW^%VV@>PfJ!;-IUi&n7wsFt!*v%hbBeqVU_j+c8FU1nQ0@j#rx zlCnoevpe#iPg#9>+5R#1Hwzm-kLW9R58Xe}KuFrP+TFS!V&dVhqg2~9lEoFVMT0Fl zljj_tR|47|b zD~raqHBkE-ZM))FwwxZl?VRnh$~!ra`dP0WeY)<`2bO#Ea!%^XYR@BF6a1;)hi%0n zPn?t7JG;(JPP6KtH8~=yPxC;rUiJONumd5s!cTvQ(zcYeJ48(A-i$}jb5HfAi=1SR zeMN`IXND0EhF4N~PH`h{TSh%=T`fK5p?v0kaj(xrbH8unWE;zEXHHn^!a1myYBJev z_qsC!Ft0%a_Vk}uqPzXZzQ{>=Q#6kg%3scb6}e3|1*y{sipkXe2ld<9c1BuOM@Mfr zZ!!!to;UZY@PbEmjupAEBzg3n7oxJMZ7tEvA$FOE@7j*HYPPs%alpi7qQzo6#BGU&>HpQol zzt6Mf|0r?ZG4Xhc;M(-Mw|^~K`syz4;OOpKCFi~EdP4YN+a@Rdck`d8zvn-{=Rd#a zKfmWczvn-{=Rf}k=RaBqU>oiA#KoIWI)*8Zycw9e+jnS?e=N<=kYJY|NWZI?q8MYi zu~M3#JNwHZs}`U3tY|yo+ny`^O>FI+DW=Xh)#)49mK$5Vz1wizg>D7u%Z!nKmgH`D z>qPr9(bmVsWd6bx`WN~!Y52leC+nL|{hemn zd+`rXbW-Hr4Km%rTxCG9%^g;MvEQP|tRFx?G*{dW&@KIvA+U9dwPT%qNZq#5$<{P? zYp!{;Z|(EQ`3mQdIKxa^+fp;1IC^_!eR3mrZE+SCD~ z#yM44n7kf@EDc9=Ttz+OC;XK%gM?f1up z_jWtB8w{{C;?8jrE6T-rfm`;?u}d6DIkj*KH7~0CWVl|?qDQy4=Y8khI&;x(j_j!a z!?QN?=iOcZ*6Eye^~EI8mMfL~XV2pMjM||uZGW0!di>F*h~)EDts^JfeIF3KO#jBr zF;2|(^?w^I3rw4vP~~r#8(ubJn_vI1orh1WzI1W}v7OvH#ni$3jPzWO1}ff;60be} zHUB~F{Q4!=`Cflt_gTBf+&sW3Z`(w*6;@wvv`qe2_Jj-dMaEx}&e>D#&ySHc-ee^z zj(6WUGgZe;vDa`0OE-whkNLbMFYsBy>!QKdSIb*(v>jBh_PO2kx@1Axip%%y20jd? z-|e!~xiKS5UEX1xk}KWoX}78WHN%JILx(TiWw+z$AAy~rw{KJAFP@cS8|p@o8pFlp zP0ilrvw1RwOU*8+UG4Kl(N0_boV5g7v%dV!v@`PegIZ*z4%vS%U6pZdWdEdR4@W;< zsMxkXlsAxRdhpS;8xn=?hsuYRS*^3%YzH11T^+h6-TqojZsz4JEmqRKzbp%8 z#wiQF*Cb^(C*Lqr()$#P3_DB zEm}?fTuHjCGi(=j<*&q+xx*~<+{-Y!byt*+-~1Io`FDlxFh6f%n|uAL zXwn_e%(Vj^QQC7G@2)v4Eq^_#kiOUGbKa!ELl2qvGY!-)b-1)=;2W35XLGs?QtXbe zf9-+U&on==b#&*<0NaM}*e-IXZSCuE^QOw>-{fzWe!iS9*;KM=dU;l-o*!>BP zdHJm;wyQ$rlP82v4q5&+sK-$;!8&D&Vzg!uc1Tw;LWzZp50qE!yTv3WA2QDNwB7j4 zZS~Uwt?^~*h=nE}=Wkn~EWai%x2!6kc?rw9<*1l_w`4c#TApCbWQGD9hH!t$Z z=4qoB+8^3qZeAju`J`e$w~=%l*w=GUY{ z-W=bruoZ+vny<|)`x+?HOg6hq_w}ClTJd-AGIG9QC-GvW`J?zB(XrgBFY*3zrwL^b zqPGUhYp?sI6<@Wp?NmgGG%ZCL_vO~*LfIqol5py{=DOI^<8n`L?L*rcU{W^ zFY^XheFGEG-$Ny<8_9DwX9wo2U&gb|j`R64I%1&97V@q8d&WNUU?K%?Z z9x>AVPEeo$RpFm$z5y$Du(cKSk8PMh`C;4qa`k~frWrm8+#WVAMRv}Vv|y_3sF!<} zN}f3lFm$nhWI7_y&wRgf^o#q6&Z(1JYQ}dgnXoqy8@pj=?!L=+bMI8?s2d){9h^cH z=^L0aPT#~VZp(ui?g2NOu1;eyo*nXDkyjRH8&)5n zA5Y818_o~~1WruJ9#B81@3)KYm;9Y{l8leXXRuS zDN99}=cSnvg-k3GisYiK%*>puOrcmV&PvY|W=a*1exWF{Kv66b3B@`>S++ouBM=ly z1wv8gDdxdRWYeRSN29B6N$tUNsgjeD9(iRLMSXfT_6!x$w`thowG7IoS`g~ zOVtWxsX`(W3bR%371APUol+)|6;&t{YDFOwlU@2=B`;Ela)g4?cS@B-X48ihios;sRnl2*y8gmpEA()1)rX|1e4a6y`pELA~zsp{Da zNUxMv3hQbM)kPAusCnDoRVG3Xx19DJqmg1Bw*S3RD#`sj5_}6w721sYF_sBb30sC{jqpkglvO zP^pWhrKLqm5u_JM#8RQSN?9rtNEK?5FkEmsTU{zE6iEc)N`)#%AeE~HIXMEMP@z<) zbA&m9%YvWjqDn<6q@T}9hu_ldbh%KHExep9%z^uU;e2MgP#}?HW)urW0^t=wrczm) zQy>st7UbN9``(*gD9K8fmlX&litNm6r9>z!kdOq$=>n-FM`H~AMlF*mr3#fSPbwAWh}0@6lvVSr0;~&+T@IBX2_KiLs}$*yBBAhC zx?28E`fHK2v`EqXtg1?!F3c=?D<>(!bW%P^>+*_9i)flN=TTbd-3 zmu8EUDo8GX7AlmgDv)8jot}46A(u(yRkaG0q(~uGKPyuUgc+if&>5N8*>c!Z$Yh1G z${I+QD&^|R(u!5_uH zJaMT)T&b?A5lM=q>I%6U9#{$7YPm|KC@PX>7f9ubbYWqs3JgPBAXS4U6ch*~y#^qa z3JQzl$_!yaX_*YtC6KO^%ESs$VRlui5)42fF0E4*f&o;@MT$HLy1})i93bh7)OB)s zW*$5NqOv*|EJ{nO;Q;F;C{-of*UDuT{< zD=Skd8h)Pf1M;b05Ui>}eUN=#B&e(^d{I+T15c_%R#gjqQP67w3XuRzKqRQDEU2wf z*HoyA3uVu0%HT9)0;;MC7>%I2WJO>Dic&?fDqAEkh0&-GC@tb*sk9iGK!K!KPx=Fr zWu@8TViidZ&s~A22pIvKDiEd%Ps(M*1=5Nd1q_yORz;~gTbM3}ql(N-Fane=hxA%V z2O}v}t00#c89}A2LMADch{U2&g{VqhQ7MuZfsx47GB8Y0jz|ULenx>rEE1P0wdv5| zvI;OA7{g1&iduLSvZW$%CK|S6Dm`_aN(2Y1lme+3#t#_`1_G%lFDn}^Dnsp3L;8!V zDg~S`EGmM(;c+dHOThdk@-lU0p;Ra>QkPZ~6-XuWf}&Ct+;vja;8A}1nMsmTt1&u z^fMi71cv5p=}BpUQYpBc36I<5%L1sAL?FnLrbs0UIUI#MfR5&5!{aDIdqpTcv*@I> zP$A2{3@?v#agk6gl;nsC($5P|!l)(9griw#gclVEMWXccq7>rF zGSudq#S(cDycFSy%F7c96z{<%rFAMrp$r`@ErV*q(YJ6fVPr*nDzLNHC|&ykE-k85 zO2GDH3WX>Sy|(2!8R?mY;wtELv0N&Xi{VXCm?M+J%Uq1oWy17yc&%3{p+DtCa(JF$ z+5m5Vfk2EV3xdlMNr4>92hh+Glf|NvQmlQLQ$3&COPQ(;>`36sFolH`aUyDmWWh8~r^U`aK=`JstWz9r`^T`aK=`pPml=^}jY9(((jWbx#;_>c#mSo#Z!DXZRas z1l>71WBe0ia&+yBb2pNclKqWOIv(pv?kiXrSx+Rx2ZEFLS-!mK)dqhg-^cgp1SGAo z*?0B9`dKSaOOkgEY%p3TwwYAuEn4PZU3X+%aj>l=91&Af+LkJhsInu5^(yZt-+ESIn_C7Yf?|p zpGH-qEUUxM9J-(*Q)J^e{Nij98*XfCXE^ya95OjI^}xg>uFDNQt8)iTq&+t1Cx3aY z`*ifGjSKZF`u#XyRVW;I;Cb{`=FA(eU0;%3IhDi*xaR7##ns-A@SON&wN3fj+@eWN z4#xVqM>{%RoQaNe`fRi`BYKGj?N=edij#vw8D( zfoV*%@$@nC>iR{$&dzw~em2@_d{)iWt;TxJ$;_h^y7TMqh$DJSQoow@jNiM!!JU6h~CPTdHfhE>eXDO=TK!?q74MUZ zi8R|`{>}_~X?zg5CFQ4qmC-1uu>aaXZOo>ieR$bk)v}d&SAT!-B<$SAb-@mt7 zwHfbocyeR@>V}iS$D%IGt+(aW)YB|BJ(It+`o?HqA1265inG6HkYTs3yr}Gzi+w^x zYQ(_N1EL+dR@rltNvm^bKJ`tS|8zS(tWh465i;}X>^&0;_m%P=n-lMcq}pV*8;t*G zoRm&pba-Rtn8gL&^9AwlRvjJ}b4CU}_-tTz_7v;eU$kCySV=S@W09yk=0IMvopn$>3cC-*~05;|#LRm55tAvs&23)a&D1 zZ}JRsnwBS3q+$HUR@Pp|x!G3-&<5IX?}+O-YCP@zcfHZcZE6Edc4}~(!5MpIg5`Z< z<0N~l=MP^QJ#fA}^g#Wr#nU<+-l>+T4jZy5KU}<-C>7-r8u3F3HK*BbgQk=^JnF z?rEE&_bu_L?@d9F^4-KmrZF++@?2U^ZtNG(c*ekDUK^vxc!$@`RsCQ1txvQ0to7@>C3G$4EMjz9<#@#@S1+P)$VysuOF&T zWsHAEZlbIh{%-UB)eqkO(P)$sU1nNsGp#nHw8G-_DuP*=X0s!|E8X8XIbi(gVPEiv zE06!kjm|%j#5!l^5TO(EvgPaq=dYU$t{pI*bt3&hv}s#{v2A^|c!u3JhlXm}uI5=L zR#tPZ_z$g~)^bC~r_VI*YAG1XyAgQCVusrquKTuc?7-x&N z$aY4T80?%y*|XF;bZE8S+scFx&y5j(8%Uy!A4GKpTUb?G8CUgWo6yY3EP2?)Tq0RG zbxH0whm6yEb6?C$vT~_-XZr5um-AN!RNFXp>uMHuPk$R#GbU}`w~?5x@jff#jzK4O z%5zWZ63LfiI#d&;CG}l2<=x>`pKL!V4xf+zo17fKFWo4=SOb(FHc9*0qHIB|Z^TWnr*hkWx83yB0 zEI2RUNG2pIlhmBtDYLw7tOBDy{I%y$icMYi75Z$QyRTk+Jdx})aELegQ9ZxPVaz-FE2u$={Oqe~Nx4KT)w}4Y{B4z=)$s2fWQXcG=dBpxPMExoJ7k zbs&B!ValAvp~eMUT^Fy+uNi2Jy*My%3H?Ez6<4DkB`^436ShY(FzTE0k$1d3fszP| z`biZN+wA^K+c{>zh3ZM;yaTco!g&wI8a1!zyY35~Tur;7GFt!FpU0Bq*{m6pmioPM zIFRg_$SOK%-2T-}^nCe`(uEVhYvS?++1_rNQ*Sb^Saq!2V;My@s18WhJiPd3>&~6D z+o7EE0|JFtUStY}l{5dc+1D5{)Bda1_om|Vj8hKoS6fBPZ+}bY51JaZ$H@O|Qb-zi z{loao|HIz92QvA;|KpNMr9yN zjo?jRZCk%y-?i|;+ie$#D~IBUJ5PR@IIw;7YuhCh|MXyu+a@TnMN6}?i+b6hvNXRU zJua@}z9{7*aqE`5yzrd|zA5%T<@5|$HdrihG<=N6%Id|P;&xzMOHYJ{Z^i%qKJ& z_qbcNhO0u5-;QcM)$#R9`@N*}$F>!4#`ZLfs`%rM0CeKETg8y&*9jvp^KY#DR4MQ= z(K%IOu)SbiSbg!P;;G?nf9^dlsFGUX9-NR-J~qKtJP*6e@M;qn2$8hxP}!wV7d~)p zbe~-?&XW9C*J)E@FrIf4r*`AvHAKsf^&__{Is%XUxS`S)5O|PWTptQGV~j{k9qp;V zk9{~;;@$UC*SOFL{+>9#Vy>{%ub!~PN6N@NMW_q#q1st*D6H}+S$DU7uzFyncv^{A zb`>J(cf^D>Qy!+N6NvLC0~h`xEbqQK@p2tuWCCGv*g9(Gc}RC?nDJe~_g3dk69mQR zmg2(iBPx?Gw>{4x=|gBl+a+mgw^tiC3VYz~gm0MzkBjAN5$kS^=rY&b8nnlb95&Hi zC;6ls;!+%K4Q5-j&S3T7PY2r9U)0hV!I&Bxb|+5i28E-~VF;^{wVT7RgGT5t`GR-B zX5WPSMmkUH>b5UJ`Mr2|ut}lIU!Ag7S6Ae^^5V2EB&=!aON}IGq*T3FlbQ+(-@o0OI~F|hQ(5Xd zB3{7^Xj=F3fsyXDU2d0>rmku8ns59*C>h;1V(`vn-sa3p#r@%8<2(TU8}20PB^T$F_<4r zEZ%C;RO7hy=-N!(WyP$eBSBrN@iD5!*9`WgI2_&7Sw+;1_(~+4nO@fTy1j~?cSHB9 z;BgBPbKiopKe%WE{xNCe=A{OWJJ%jd3EOG^5wd0rjQrN^u}ka)UHP@O$2QRq(BH%l z>aVa^Y|Y!W`SQkvJq`x$fA}f4waw*W&s}$pzEUgh*n>3RtP%FbHvg#C!s(2?sI;fM zYm1E^>7MXvt%x({w0$myXu_YJm#jRaMBhEq5lYh`TJB}8A`mu2e1^nqnPYs0*!gYb zrH8UMi%v;!Yvyv%kn)xn-x=yG$UR5i@{Hp;rla;NN{Ut7KMyF;tB9-Z zqpz+kToM>`_}&Le((wrc>eq4Pp(X>C`{QC2A}iKA%tGSeMXo4yjP^StczVd7$RV-# z9Ph}$)C+gNgz%w;xOBpFStEvJY-mVGX6>#j) z@36UB77|yx*5j8ZC@)W?-N+gIw(O_M`_~fud;~%BNgj3bTB!eoW9k#xr;~TK(ANds z?fdNQV}t22%BKDZ|&pK*Fb;$E2Z zY4mxq!9RDMpN(YJ>k^7XdOL+Jx9cQ;I#BPTH~%3JN-qgFS&HXi+XGzD`& zE9}ZZ?vy2AZ(CKEW#-$gcg&(Ovgw`BuscWUmn{RIHLVTXQkG&ru23-TP=yj0YH|h->Mn1qG#JXDQxXGfN()!cHTM%mM%Y$~$)RwN^aK4P_ zcxc;+OUy@$ZuRKYxmw8l9+*W06AAHkkNk5r0_nRm4Ngw^N_PnEg=Wkzo|rHOFXetZ zvgh7gL!|NhumtX@tp3lH$zu_fkQMztx=iP%Mw2&q2Ye5!?ueXTI)5^Kec{i(&bZoP z2BhTBhPX?L1-)8b9HpuE_u|XC*N(SKj$FzNyQr~PaOq6{#Wn9wZPhxrbFW^^E&a-o zen-Q!?0yZyHl6V6%NId5!NM-D2)MD}ruMEq|G=&9EMLGro@_V;OYSmtuKHf}J5Kl5 zzQ?7HjLjIPH=`Do`a-IH@VE>~wO3g&e2riCBO#tVnC9W#m(Z!6`M2L6rsMC6dj$vNhgvSVg&Rmyu7XP%nB(M%I$BKt;dE zw_4}jo|xvBuUDAuMg0hzc{ET*73YGNrnEhK|@7UML{2h|;#Z zxUPd?&v=!^5&TE%#lyvOVk_pO2nNPSU8<^LBIcQ|(77^pWznB%_7TUz>AVfq%4_F8 z1+*`&Qk*G#x8Sg@%#rES)0|#RV5k@rMcPgr*(fZ|Ip@*Ewk_^m@BFzude82#5ya5d zGdYs&_92fB?hINA8+5P2Vo_)x1vqstXFi$K7TDlm)%)DjMbTB4zF z1jJAkRfmDXEnpZZ6a}|{qO5?`%n*TuqR`My0JpS6VW69!@c-c3NLUmCg+XI52o%!N z5|~X)El>y&Ruwe|13sME4g=oHXNiL2urMU#Uk?it6DSHv!k|!=7%UEhu(QOX9dLGd z90~!0S=f8y&{k*%56NLE%P z3<>7uW@%-rWrcUe;qZ8p8_5do1gsvemS__#6n-xT1vNmMYN7FNU@Cj(y#NQJ;2v(4 z4px>9_INiBumCd?C>D>l^1(Y02xycl{+X)>4rd90Krwhb6atEZnEu7R@eU4u@hFu( zHxD~79~y_i;80eUXs`tJ7Cdx zyph|BWL6 z4o2yjnSejh7N!^&$^vd^0pEl~!1VPXrZ6Z91zCrMA)s(0D8$YV3r9iWhEVt>1OjfL zZ)O66T7o@e?NKlk&ce*X4h4guELEY;OrU7gCOisZg|mP_!Or0*6bujuVFvbrQiZ-U zg<7HDc(Cpn9A}9|LJ?>*-VURRl0mJkuox3K${vSC%vcFHEZWi%YKg(%@K6K_1#k@3 z1isDQ?qA#ihe4weI6yEG2!bm7J(57iqL6rd0vcgAW3{t$RfWrd6@xKDg4c~A9o)g$ z*xNh&#VtrUoSOp%V~57sV~}Vx432QHM}xWCoCttjfb3YX2vyiH-hqTOwX}l&7w+oh zfWd-McnktfMxgOlxWlSWQ%Dmy#L5e+iUSV{96)<)vBG2R4m**YV1`>DXm0`>21A;{ zfCt77hXXhmhnc}icq|%2+G~%uLqqitaFPQG+QW z|G;RRoxPKTgT*G3Ejl8DMAMaIENv*;_Ojq zJFEi`dX7czZw$Bns^SxBvqG9}1w+P)jSU zohb~32N8oJEzu6(*f2;tgeBAoZ|Ayc6BLPex3dHkAYl-=EvUaC27yO7cwn&*B*+AW zy$2{3c)SxR9$QdQCp(-g0gJ&|+Rad4Cd43n!G2v`Nf)5m z1VGaN!T|-4Ae2_X^9Ts_3)mwLH5BA|G{y%|HA2D6dr@d zI=R`~+gVxYA)q8D%e`&{SCGXh49N}b6ZJ0va0sZGg+2o6L_)c_I=B+>SWAqvn?2yk z3<2z&2o6>#a8wv8P~vcS92P_vi+6Bzu-pQQ1Qw0P&JX~F!p=qC1~3M1fyCN_QUnrp zh5!x(2Pn)0rh~y?QD}lI&JK+RJ_Njj1>6Lw12znSSYS=fB`uSnu$HA`lf#=g11AE2m}&1ZVZ8h0oBX_ zkHoo=NcK=P0tuNZS(uq3>0pn*?Ik(cLD5Kr84Lqz0l>GIS%A9&oZ#>;PQrl!Fe@wY zcaW_pP%`cDmKb{nk|i3BwsOD|W=;izvck{w2vBZNR`$F9;wUQ^8q7>UTUsFit3cX= zrK404;5h*cLwy*?PSC1QV3T-IIV_P|;AV!Po;l8N9BQby$qL|bfP*T4gu$RzI%t%g z9n=sU@fJfvC|DB;3N=IPqCu+!RuF<2E8GHswnWTaSz!SVvC>6b;xHD5pm&%ctzbwP z3XVXT=)rVAsX{{_CQvgZ8V*(kLm*7_5V~*-dJ_`ha9zMtv>E6q5Tq3xfk45{a7asp zPOeg;rhnbjyo(@JK5m+mL&!_?mO9T{(oY4|cpe3GR zp_?q=Sf~XG2?YfLd_fICHv*~xhJ+faqM}r?WiPeh8v6S?0&joQ8sbOT>S@`!cidaiWhwFb%*0Q=9W5z}t9sd6 zvrqc=UMaJfr$#~+gg4GBK0^v$6{%Mf?+ylc$~iEqiYGpNRH`FL>s2%$)+)sAy?p!mE?xgO>|! ze9kbOv(J`q^lfQ+R?}2k^!u?#BAaw%_?acg`K|M>OO>vAURT2h$#zUE$G@sd+WbrF zAfi1^i?=Q}SF@y^FZEAJ?H{5KrB;6$Shr8y!TF_2AB{czO(98%)WKWN%SI@Ix@BBb1Fo~`K{P^&eYJ}36h%^owz&m}3fb<3)|PW4`le)^KMB%c-D$Fp0l z(?ULVz2m-CUh#hV1w_tO^tUR@Yrcq6^?g%%dTu%-8=d=o%vU+v`jEX{w@t6~Wozx& zuluv-Nvk|uYvmoofdhke&Z}0NNbemy{|4L1ei_~;B{{F+1@wRK3s=`#t|eWcd{N_m zU3Mkc&$j~+Ua370GxlTe_HLrd>Sf^%_hXe>;-Q;@nu?$Ry?Wg;sIisd%>gdC@^yIl zDeyn(vU<7y31OXY4Yo$?yUl0%=zf$=Q?A=}if@rz_(wFHv9P<$j{C#+qy1Fa3F3xGZgUKmgK%P_NTkV;xvMzP+0-0Lc4v*5hOOa>(=?}5p(C~-z zs&AW+d-b(d0nGmn$q&tPrXKLWy@dAT@T0!8szGhvqJNl+mDz$AQb7Na6@}q3_xc_l zV!eyh(RW*7+cI(_%ikkqTEV)9*Azx%wHBT<&g0dtAcfRkmdwAUk;iac(Ea&vDet=O zE}#60T>mbW*SHOxfiDswC%%4t@a4`wPSWjXNw>l@ivyDqNk1-k=G>AtJ1f_TB3(1J zUNs+*U4Qb{ykO2L>XX&ZshgMk#_u(afAu>%$vN9P^Ipo_d-d;^TH3xnL3~BNMBK36g6=2 zO2cW6^KWl@pI3huOD?Wb$Ylwl1@*5EM?BL|k^-sUH@rMbI=w8(_Z{ndSAy2^MYYNP zNu|DqwD!kU*`%YFYn@A`>D#(|_s?Oa9`C<9@R6~g=>E-3tXg{VxgXh+(IoZkw%gC= zEq38QisrL?DjB}FdPeU&wFs-7FI=W?+7#VYkdksgJEHqu%b~g@=L7d2yqFz$K=74Y zn)&-f`1uwKbIsAjy?Qsatm86R(Fd-aIPIu%h!&V#`sI#nV=C2l|LHLvSy^0oG;&pE zWJha65Y=L`u(QaoSTOT?tUDLmR@7{b7s<=xEPQxn{Ec6_b$l0qlUI>stiyXLTT~OBD|}bAjAfr&{jKbP;MS8)XMym5;d%7Cru26P zMl0W`J4=Ur?|tY?CSnVnNpjhwn{W9MG1+;9ZScr7E5`{5Fucj*QB!AAO zLy50+6)Wp^ZcFStoBGegOONl91#RJ4X(QuFzZq9d^I%)9Yi-O(ACt4jvmO_oytu*e z1@$V1oRsSf_2Zm5dA2y>l*d-yd>ScKdhMNCnF0Bj!K1V_&%*QS0^)i;hUcC<*;3-` zOYyBu3yHt7?O3^&kY#;J2D$hw**TJSb^Y6)_g>x+=7;+xD~BEa_;xy_+yoYohvWZUi^= ziv5+XP3PSAvO4#q-L*{Zg+4ze=byT>?KQ-y*K*V zm|NnBHy=x#{8>-TE4ZQ_&y%N)Y5Z=hK0A<#taE0OpI=F#+-(%EihoV2xXe%s7s_tK zoSma@rPkQ?QGILoZ>WBD>ay0MssmTv|0y2jzsb#Bvf97zP80@XtI24{y4NbgE3bK+H;pQ!~jbrdwKWZ%t>xpCb)$oI(t zVbgHG&m6u1`@=7Cbxq%K_xcy!a$l;k+0{NCDSR?JKKj}Vw}giYm$zmub(WvFW#3uV z_de~N*2a)FrZBGOOGxCs@+;jhcYXaMdV8)l|I>nJ4lY?P&N&LwJzDzyxYyD-!5e*h z^UU{Xxw1TXg!W3(@>^tvvuN;zkDJ^%_o?f#{p6I?>+JAwvD=l(lDBr>D&F3>I=0Za zy5I}tX<4)ApvULs;gdtPW0&Ll5WYRzue@(^9+mp|w{fQicS(Ea6}BHeAHLSvcNb}J zKkYtOEA_q$zyIASKiDQDnzNkUs0MjH;u{>?Z*cNu*P5p{yx%Y;x1^_pU)EauZ0nwD zhB42ro@Ad6no#>l8GQEk?IAoq%l9cI*4c*|ePwVHPF#9jYh~YgovwyG)+Jxq&sNr+ zD|~uyBsYEi(~?Zza_VhqXoK_k=ji{Q{`qHC|IF&2S^YDse`fX1tp52QsDJ+c2mrM} zmHI~6m0PAAZ9M1ck|hVWqkR;cbF-HgUo#EXmTOz*)~W7lmsNhm6rPGLJMD|MH7e@n?qfSg;|Es^QhsW~B2WKpQ6KA)l2x9EXny3Nw0=EWp)EGk#*VcR z9gk{1xZ$EwvGm3gMt#WGPED8U<6)g{$=au1m0Cr$gf+)ixv%x_mdEL98xgfqnobT; zdvktw6k`NYRCv3K_*za^fBK)(gz*XbjnB@Uo%lGJ>{xiUwLst zdle(sc;yrW+!&-kT&W~tocD_KJp2Je9ZREq_Y=ebUV4) z?XBbVN0SUM?VGCdapFPF%hY|hyd3%<-Nr;0H?;+1a_XZ>#*lqUhx!#`#$YcPRI-Mc}~zsgu+qn-?3`z5}$ZoASo(;}knVcb4eWa*xffKvaX(IdqB7uC$m z)>4q_dlXSBd^9>f|p8-uBBh}Pfifj zLiaEIW3yE4rPI5Z1V$~f)TM(tse-+&^T}L%emSOT9GX*2Nb&aO`-|A@jm}*f-0eA=~<06IJ?SrK)OfDGcpni}cj= z?pB)XyOr@b+^?qHuhrJ}_)SQ?KaZwel-qrE@%VSEqi-f(nHP)tej`JQ)e3f2?2f! zP#CFs)K75q;(__&NNr6MA3=Y>uYEDq_p#aq176>D%@eHi)O>v~F7lC)=JZzFSn74S z+EMYY&!-9pIwoCyym1-83TlZ<%^RI*LmiD1Psk?6R~wzuucu(dIS2F5j&*>c?-#I)vuN;^zAk--5Ub>p z$=bEz+?$MpBh0PUjK+DYYMo5=@Sy{07Z^tMN#}-q%0kR|Z7Bjhk45uyJ~|C;%PD$1 zq%P1Lvv64djk)KI|F-n`Nn-(`HfW{VSpH^@fXx?0qM}tjaF>%2SW}PY)A8T`kMoOgmn%Tgr03l`l0#s+v78$Ax%Aw6+ef;P+`<}t{L${L@iS7SHoU#((YkY zm%`;VGCJ^)VTa5_lc6HMprOXtWA0YmsOFX6@7M8yO8ma@NL&s1nq2g%cCP)dFP&aJ zaZW>OTiuQse`H+XPw!HjUy-5`qJ40?_6cpcMn-AOK?3bp>90%XjO7Wu_ut&)7WxjF zt?Zw#_ZL@&*N=AZIvr}?7;5n2rK7c_^|wA~i#|Nv6Mn&bdiuab?ZZwPvOxW# z-kULP)stA_Rz^alw#~hTPR&KC`4=L6)D~%XTCQMpYCpNZ_U1>q+I*V@Udmk`fAK@^ zga%V{$h5AbC2B)*2CuyK{-J@5Aw)m=c0aYx(9tzc=JxfaF+8$9W0%jjql1GW7*t z+r$Msca3QOBrnU>)J?M$kC|KaRDJP@tYhRIFu!~uyIB`;d-5CYFFxC2SyQ)4 zTQmLfN$~?g?S1piqU}iKQYruS6>W>l;SScholBcG7lh@ssxGP7dFtarb@IzY`}I$7 z7^j1qHL%GTqB2 zuikx(rb>&X+qvO>De94gyOApyYMPZ}`K`N3JN68%?E6Rid%3OIizFYb6`#Zg>rdxC zGEX-5IANPTVYIN|6MdGBGm(*-;Ro#M}@d%Ju4dvl{ibT3Da7gGqVG&-<)dHH*LgDZx&hZoI@BLFyw z>%|mAaH;-uZyJwEVfj-i!E6eR?&ZQ{vUn7KKN^ohVbZ7+CI?u(UFnROs{nup2eWw8 z0E+(%PG_)K5I4YRW77L?9LMEL?ql!`lY%V7`ipSz{V}*iPK`_&w3albNS4j7# zQA8?_VjL^Sv4+>wz;hc^Zi(}bLQM8E5q|rptYyq7oU~yP%umP?hjwy=ev4J&;&f~GzOir*r zjRj)C6|xyL8YfD^6p8s9Fm?uyrTPc5X$(nJG>yU*h*fFPR2QmP#0#dgC=7`} zWIl~fp}A4KqoN}GnG~8U#eW7T5xoH(97tm_W0*9ifa>ihWYK6$mMW#qox)-Iia3Xl_{!EdO zO{dV=>{vkr8+Zltc*1B3oynwfxjeqRf3PU(FV3OS{ON4E01!+9g5d8@W5k{Wl!_L` zvgtxPogxtm6KH>}Jf1hhKY+#%CxhLKL}CuW8B{hfiNVd;LJ=>J%>j3d6|s2&Q9@iS zk1qgLK3Ie*ZCE6h2;5m*8V%r_zqpvk7qSI3SB7^ooh{-BGF9WERPyNVG%s!nUnmru zVJ8Q2qxn&paS{p5CD4m~I@X^?3-p-5c|ySq4#x3>6h}Hu#OLrNi6W7ZLm|>>5-}@5 zB2E-V0}=x(_%`DM7DT6dQyl|ol2~R!oH#)wn!yveECvr84KG>}D`qp_dq)VAEbvQ zK_Fsr1w3(_NKB!Tfe&BkMWyn9w}8hB1~UspOtz3OmT)+9dLWz6i;d%pBUnskAe}A} z1WID#66nEPZmgIm7I4^X2Czm^DDEs~U?4*zU`WIOXK^{=SQeAQI4Qgsf#9!)h%cZL8U7+38=N`d0GH|rcq<7`Oo&YY zsXW60uv6y091zec-c;fY&P+@YC&Y^Q!MwNx4vWs8;eaSER?KCB!Y_FhL>_Q8{#m7Zubko(R;* zSP@;2D2a=ra2PYq29yH|haTud1$PB_Y%CZB@L*mrhew+sTP#ReCXWRYfCY9Y3Fgo^ zTybKuy;7)EE%XEreB64ixB0|`nA zpfK57VKjplz+wdYd%Jp3gt08J0g5XzfD3Sc(AziyaJ;TmjvbpRjH0-JBMx+Np@8Dc zq)@y$JK0PD|F4xXWAz6lX3?L5bK#!%<8NkXAfw}xCK7VnJKSjiv!9lwK!J$O3_}o~5P!z=p45U#6r$vAj z$s$4UOe+0#5 zK^tPx8GJTq@k|;k*q_G-t(?JNvix~8cMmTnXkOqn`CKX$G#Va-%A!*!3^v7|PH|ze zn0!hAmByz4O+ca2*%S&m^}m6lfY#+Y(=nd&C^X>V2O0_8%iWRf6)5C^b^3#%>E%W9 zX7Zw06cX2)@mJ)~c)*7o;NcGB4wK^LL-S(tM4-B|y%QYT|JeE zJML5VQKKP7$(e#wIS?^a#IWj*b%m%hQo;7LXd76~uId;(bi6dhP z)wQyt$K7dY?wDuG_v9NV<5S||x;;mp?J$HaqFe3O-{fxk;($Khwa56v?fbWssj#cV z`!d#UvTy&q%GGLR?-8!!Xxj_HK##y@zTP^$sYDI&<`m=jtY-@K)|%7{OTr^KFqPUJ zbL;oGd`uvJCbTZ9RQzhLL3T+B6+5#UK1=P}TGWC&1`q8#+fcH<9b#8|;Oa5&iC%-lij715NzG6de5F*W!4ZihFO zaBlq4x%0e-RnAV{b~yx__qo@TK7nwCRcNzcteC31?a_4#KedUGir+hLs{MRu$ffn8 zUIqt$PmBn9|aAGS>`S-1PX zo?ayFtVX-_niqS1Ru{LAy|>;e(25KiT)A$4b$&r`=>X$xQn&n8)83Fq28F9cJN?d6P8>uqPUs^XuTPF}ITyEgHQwU_F2J>r$M zC+yD3E%SCcX^G=uXT5E+TnnO}Rr^`tcVucqAIHbfkGCEY3~tn#nipgpPlRoP;rA@6 zA9Wh@Jb&{OVtqw?`02%G_qG!~&V^h(w=dp0nO+OquX$Aa>76GzXVezSYQw7g)=lXqI}<$!gYakE9=;Zr_>eH(VXJ*)G9Q_4k=06K8_lyCYT{4)|O{ZI^TI zzBl)=4jXzz7lf=MWmK)pKj;)OT(ESs=jBvjN_*rh&tZGX2+v!9>vBDFC~1FhLB`Q; zosZi{yo)K#&G3fCfYsmIGc611^tO!m8?m>+AF!=)5pzS^Ge*@Dz2d!V1^2hAnI9hi zwZqz81-!}ac7RS|Pn>$Wp;dxm47sicd@6lC?^yh@p9eo!w+iMu?b!Hye|+lJwK}i^ zxhp=Dx~cwpv&lsFdaqYbkbGz>-{>#{qNFR18RylF3D&*e891yTG~k@=DYEAT#4n$; zEyL$FI2vi_&Hwo;`!(tM(@>f5ezLx{}Ns zb(z2ht(b#2`>pvNf3IL?l8xTkm@B8I+g~iMlRR2X6Bs>Oo-v0&sGHZ7R|WIzYZ2I< z%JT>rE7T&)YjdwlwR_Y)mUVNFvrDC;!x;x}jUBfp()*A{JYUoYe)a>uU7e(V`;F&t zeAA(ur`WmV__flaC#R0-U54L*ZOmR#*OI;=>skbE+xGkob2|N8UFSonFM{?aPJPL2 zDTtv`Vx+5Gb{#0{TW`Me&qnY24?_D8+dgTCrgGz_d*Pw=SBsE>9$R>9N*!f!2wm?% zq*L%u=WP?7=DNMD;oG9#dvwJ)chb|1GET7D^g7#b3yM8Yz|UsKH~TP4^u8_c$b{^d zkyiLlUEyoqe~8y?-*IrV$7O0eYFXWvfkq_rFN zm31^6i~5pVk1QI&9w?0PA22$;B&k++s;Ma+R#Hyg+?MBue{(H{1sjhqU+Y^J9=CT~ z1Q+Iv!B-%&&{iRz^7Oa0aUb<1RWYI_8$H$OU4Ugxkdk)0cEx13|R1u%J z`0Bea?d{5TEtBhvjn&-As|q~P+h)Lc&&r%zeouG%T(-R__k9!J9!a(Bz1+S*Zxzj~ z?srj+(#FnHaLO@yeXX@;d2mkJnVh+!3*Z+7qN%$0_$2Ga?b(|f&(lS?LHwZSCx)($ zr%`K=MDaM)>yxDDj$S*lvfiZrT5Lr%KmIdnV94_0gU)T4S(9FB@%uV>PZl8Rux~eh zPmyFn;GUOj*CyP$t+%VEb^Dy7E%o-P>f5pc)_P8Q5(Ep|cWHT&RcaOl4@NDKGnUlJ zJSA}rm6JsC_lHuJ9jsem%YO4udyR&2k?Z_V?-OZS4SO`}rm96nooW@C@-^Oq2b4Vf zYiEi+qOR$+e3d-?X?>@CeCmVhZaD=eKfmdV@1xt&U z_VMj;M?wyNnQn{vNk>d11=Fttjm-;VAxk_ja9{~U(XBJuY}SA=d-C=a%hK-?Wub;& zzJ2dbdc0q@HEy7}vTFenzw*N9+t+N*_?_W7_#y9;JUzjKfY*L)k@sEFJ%9bqURQuv zSh~(bZasfV?cAZ;X;Bf8*3!2QH3j7MA9k_E(;k9&lxNNXdX1ypetu1|VM&y@WBCAu z@0g@h1&ez)xkr}m)%ozrwdQvwMgboURUWZ)21Z3#o7?@)%=!ugq|yYz4cdqCn2lnqE>!bNON_rURpd(#FaPXiXh?l3Ewe%-2$#h3dcS0?`W=p2+b*84Uj{vF%(=0B#`O%)4U_3JI zqm(C~FDW_duNBNlq%B@7=JZ7rwkX#tS1sNHSi~H|melcpK@9KluywtZg2e zF2Y8X&kvfaPHa0kz1Zo}v{LoGh3@h8YPT1TwD%^~R98Jq^hs6aT82_ujc-1UQ0^dK z9BwQ)ySr&Vvih!dXe`8wI+Uu!WoPN@jSd+{RcWs$zem|lDdSp66)3v^bE{oSf$ldh z&Z3dElK^?^m6_6Dv@nB(*LGc-2o3RHWcE422%@-~v+Aqj&+TD|$GvYhRTicFOM-p} zHRPxo?^@GfjVyWa&kmdPqmRr=^{dyc**Ey|=dCr#w&`m}xepIHUnEVuG+QYwx4!{9 zM;DC`oeyZ3YOm9E?^K-L_VtZ)(e&fkkTl=BL9Umj3#Bd_54d6TAKjdOdc)rH$XT$gwdXSMLFz^RO={z}n$1_eRPKJdShG4Q z?HFc{QQzBR+NBC3E_pv@LxYiG<=1&{GzC7tm3Oye%Iv~zcJ6&LX*3kp8k8kd94jc; znqC{HsvP_IJSBLGrjywn;j?q&M$t=u1q59Qc(O;KaQw5pXf)=lV&_Z8=jRXb7jWiS zPAR1~%-A-XBFKm{tE{f&jL~izUrJw?BgW}a63b}9q5M_#ffH?xy;s!rbDYnmCMj50 zf#bMe3p|=8KqopP%N!Rv!fky-$tI4<>Xu-AGHbUw(YjiD?D7IDN$GbZae|SuC2*w9 z+Pd7@G0}#7@eaig?`W-G?OSaW@BjFb#8T-JnY6gX+PZr!HHqFg+!XU@?XbeSGkENK zwYPTY9~<4}y}}g`lJ%k$29AT~MkA}Ntw#@z#LV}+`dKyIOQAS_;h5rBXY-u^YDMLa z^k)-E??k)z>3*?+4{jm6Ijl;_S3stVZp^ghG*pfQPfK^BLTKEMlj5?frq38WCUXa;g-l!6?EL3Bz z`>7!1ixst`GvoCgk1fZr#Uh^@#Z(eOo%%AU&d;PDVK&yMfm8fbVSH(oVlkWs6MT#`N!@R(*cfzO7(a z-ff#DcewPH-!>}OEu#ASej?9R%R;Pg*a`X|KLk}E+ehI6ph>9l<`^>hf zuC1PkuHC-x>w&&ae7Vwf_=wEr@gu8vNAhtv){NlX*SsN1@oMQedAD7~jUBs-uIVmJ ze|Tr*U9{5AS;${vR_~#I?Rukf&g+3Yu+qs*Q`SpPtQ-;&3T>}_t1ihS_q~qtaJ>+p zxob$)x%oP^_Vk{oe#98TLLcs}9 zU($C@>{Mu`!ye-bA*=%lf-l}ds>IhMC^Y^3PMSWQ(dRL#8#4Qd_HOkeqt}eb> zW7_OpLR!>C{82s8LP(bNJzLR457Bs6N3FDYWVAp(NUhuM%CRNST_+xH{;ht_=8W?* zFEiVXMrVCj{@NI5{V6)}_x4}bkDnQ!APU7t#q%BS^6DG+weN!(P1#m^d{q$kOUp*y zD7MeF$Ea#qD+d33e^H{y4C1+-?aNc;acp9GZ5n+Q*I*4r7`jxS-JAVQnM3t8g)9&A`OESgP}KBsu?F%S9n|R{kVV6 zgNVtL-u_s$-WyB5T{_4QqkXW!zKvJRN^jaLH?_1MWnT+YXhh`oi=jW5SA5KRpAeKM zk*zjJ#riy@f8gWCh7*jJ`|K9=xhfar1V^n-X=VGQa;best=*Sarqy2X_pg)O_t>x! zZF?fDk2R?l$~o^x94nvsE+I~rsWwr6teOf_B|wAUe!~nmv{$?%D9N6TUs2J}C)a;#Nm3V& zT0_fL8vcm1cVAMytGW<=WApoF4@M&&_H}++!t|@_QQhbXRqZe#S1L<#vVEzIZlW^yx016s3QuI5T8D3Xmm}c`TR_n(z-lS zVnizG9S^Gcux@P&-TwgUneqk~x4nMxFY%LrfO!YL$0zaz-={DXj>f$m@xDQd$Hf5! zZC7oqe<|Z?K74B}x~)L=N#$MJvC$NRucL_<45}~q&ZBu~t2R$1I~GWNj6S)msq59; z&}!T>v3-k2MbM#dRfdLJxu4GbdL&q(c!%BAd)~ayY=`@&teOqKkDLthjMX)22JarG zDAx}6TATIRSzFgEO#Ea_{BHeqWKV>{hQ(b$2crzm$+PuUw?V8|jD+lHeCW7nv8!#D zzD`hpQCR27C%4mFa!g&h{|F8lhXk3eaXVZcn%7d@JgCzDsUs<7J*7rXeJ%4snVET& zg3I&_Ec<+Q1DpBq#DQIPy-C)w)%^WPmD)SdwY%($%9{;-PNyBox|sXsg4}SiMNMFk z$+?O}V@v0MyzF^};i!_n`b_BdRqT4_4MyakZ)#}Mub*#M*(yp;Ttv<4pIQAgtAA$o z&#eBL)j$6m^$&PdVCFFaMO{hh#fHKfrJ}Z`yt1vPq_DKIw6(LlrX*KZ(x{Zz)<|m< zHKipbm8B)pT19PXVTrUvrUdw<){+KgTWdvSO{r8~QQlZtUfv`tm)4ZzH8eKL%PT9S z^78TqX+?QM>tAb4ZFz&Nyb|C|O^x!3%JRw?yr#CXaX`^f(w0);g+`H@1OMtwrgLgRQLt zib3h{8Wn*iT3~ZoP`LLnqo?O<`E$gh6%Nu2lvZhLDBZx(-QdSG_&Vh!W z{x%sH+gT%*->aysl}T#{JG-UjGG)K2G`c*mqQ6_-RMS{qJD}{TESD+z%PT9(rBY?5 zvcFPVS)Nz^AG~HjDXp!L=9U%$FIh#QLfTj%&8v`Bg1BGGEh&_iH#U|OwMlErrTOJ0 zot}doGp0PI6NE;i# zJpqxV;Hsj$yr{gjv9i0dR;H|IY%Fh3)Rx!CWZj(#)dujGK)I~7O;K3c(4&;q%-H*t zZ8G51B$q3@%WJ^+)>b*dn|eC`#iiiZvKl2I*Z>GZWu>(C-m|vG+U}lvvYO5rYo~Hp zI%6G^%S&r3tE9F4qu_LUdiww36*4fSUoP*IDSPB~GMTiproTr9<{Ex@Pp(h`vMazM zRHb*j`v;YUjjdAY|H1neGq^Obw&Yojth-hD_2J-PZK1TJ^@T!J3EnpFRyJDK+TGUq zb#P!%npamMdv&i;Dy=K}>(QxH0vwE!cb4bYNPF63@`1-a-JP*XRL$w{&_6g_)7UEOzt`9RibNv_wW6oz|6%Xl z-o4p?vMLzHo99|TPhk_+Pe!Y zoBH|zG58HFLx2el4dso06QHG~ys5Rlr>L@_Z=en28(RPY>e~3-wM`XceLa8x<@~*8vK& z%(nIS^vtz9<+t>;cLM@E`a^(O(4R{SSwcK-8|d!-@GnF~F2AZDh~U`7(jHXg)|QWs zHBC+oPk>HsY#VzF_M+i$3Ut?&0}9lZkBv4wo*0@K?(b-7doye{#6rA(RUMZG9E|j{c#-x=e5iAOV1u zR~A-gw6}FMvp<99zE z9qq4Z0Y^)+)z-gyD89cI1jl;HTlh<(28cmP+}hC6*xu0E*AMF6z4X(-Kx13~&?snVATdCT_(0_v zTid$(`TW`j;o68*S1PVusRZp=URB<>w3YnIsz!cYRmruI@}3c}{@U_uxmB(I%C~fb z-Mv=PlF`!8(^Gz}1hm_=Yvte>8q3Q|TQXZ3yW2r@2?L^46`&n!mwswp%9pfev@`+z zD!fuyUdV5){eUu0m-0ZQ z8>$)`Mtd3o^V+(*YwMPVc6(J(VM!Bz3~V{Sy``<459UNuRa-k4<@}|5TV-J(80up^ zU^m-aD=NU4X)6b_zr38kWEIMOq5qefp^N{wm?7}~fb$UVaKiJ0i^>ugCv&TW(w{*z z7-B`f&6hP4M`U$*k0-Nlrl+MdWHXG;{Yqb3j)|FxN(a9f$hha{83GlE8aw3%-I@3MfCE;Xhf75^Yc;A^Wkxz-XGg6Tx_kI-AU(?4BJuhIU+jGjtA<7DWx|EtdE z8TT@6W5M+|zOfxClj&;xIXVq_CQO^*2T(QX*lP9k?K`J_PtARO`uyg3;2 z;vGDU5gA_hEfmpIDIPk`b7AehY4huC+7r{xWN(`qp@sOz_oAIto*mL2B-iNh=vlHN zHAz2yOlI-oP2Y&^FXFkijBh$x^RP)!oN?Jx+fQNRc`a&Qmj3p1Pc7M5?Ps?d0G!vZ|kI& zP93s6b5F6O=Ic6-?eV-Ki-wEO}NPl5dGmTE91J2u}LR@H=)x;(#{%^cC}V4#)}_uc8Nv!{o3q$-03FS z`uW`U2d+ELcwBOIFu=v@p@JY-qL0M)-ATScR zDvPGRXeAiNxC%~bqqN0Lj;^cQs+L}%T_7v8R&X=#(909~t{L4bRmD*PsncEt+99S6 zw|93K?s6g?tPq3~4NLiEyi9^X@OA(1ZOBbKSG^tNA}Ty@xgZu~1BoLy(T6@{1e}Y# zqBWxzJTXI4Kk}&kIbx3a-6DeR>b}b0s%VkE`C#k76Dxz1;hbpkZ5wz-Y(#}ty6~Zz zy$?Op&=1`?QXkuWi^BFk)I6cm6xhdopcM5&B1gLf!TDVyn^vfcO*mY#9oOKBE>Ctq z{BXQlCF9feMpXauMZa7NCpXulX|nSA0q2R?qxFB)2H%wID3FlVxc^z~~MvfaTMUF~K`YbB$Ec($L zl}ETcw%bx6{etkWoV0HrMk=5I+R=53Z`~|YC=OliDd^<1nnlN?k^X}Uvx!gb($YCW z;=5JcdOIdO-Q7d7zijw8_L$4D#HO9~sQZ;%Q!H!o4FR#u4K|XA6dBKdn~0T*PJNOc zqn3VP&9>{z%)Im`vQDng3W<*+vbqY>>=VlSw4{GfN`^09zaGaJ!Lo8n(fjw_5FIR_ z^R}sq&PH=(NwP*7y4v~Cw~v;7^_Qg-E7+8Uh*o_vOdBpx`bjT~0&U}5t@MXANTr*(&YF8rS7IKs5N~ltf#}LP!!g2$ zv(9hJnz-$<8McOA)sz_0o&7C4X}o))Hd!`yzvgQOWOiW7tZmStuII)d#WHyV@&fHWkHh+g)h`{4 zVvQDPd({6bWXPs_D{hl|%enuhQ(l%=e<95;Tb~#$6gTztva;nnThSY#vhWLqp*;D8 z6j{9)0bfJkjrc)8JN5-Ghd^i{xc3ncAG5<13-^j44wp-Y-1Ny(*RVHXJGgbKbZ-$L z>{$g$&k$*84Voje6}5J4M|qv1N8x5C_Pd5l3RXWKO$l>49DPf)ktZt^&JUJ1e1%n^$&ovfKer6H__XXR(h-sa|S5NMk&u6mDIgg%d**j|8| zlTo`V()CmJ$EFKM+iNmbMWtVh`_ZqwCv7cu_iVz!*LttJ6LOPp>82+K){DXrMn37- z^bp-r)0a1(m~7eM^v(8?1*Vn}hT(sH_Tq_en_9W#RF?5YERlwaLsPGt2V-ihxp{spQ$}vkx$nYy7Of6)rE9ZaS2!5 z-Wl!~aXU&sGm$_2AtXo5eY7#MSWnVo*IatgYu=;w3&SQRy6bvEr9B0)-*)~uruSHy zqAk0x45nfu&bgSfdmk=bw!y^)N2;F?msOh#701)N)*QGV+ncWQQaj>Aqj>C`W#Vke z37_{nG`&@aRTlJ56&&5Jb48%4;Obq`U5V=2A@=3KTJyJ@bOG&VznH~er_QCdSNLhD z?)Q2|3{7`R^=r+L{r+yJZhz9ZK8(ue_wn`R6|VO0FFq^ENBkh2fW_*H3cS*mbb$D>@2A|6O$&zxZLDpZ|fgi*68oYD<{OQ}+bXMhCW!9|F~;Sz zumZM>@{VlIm9T-l^9X~i2H&UOWV0-l@AW)K$1m2U1=Z~;7Pm~}WQhIr$Q0D1d=?1$ zGw7%C*O?wuNEb12qRSf8@0PbJeE3@Dve`C4teIir=Z~(svM&w9DV}M*V)s-~Q5tue zyL+j12ll_puSkoH?Hb`G&zWg!JzxhLx_)gx{KUUsfNs!OXR7!Zk(D(-NDAn}S(Tm% z4%R09`X>0Kou$xqqPxk+s?h+%_D z&>Db*qrg>WP-JFw--hgLk5 zD)aP`a#qauT|N4>3h%DnCWzd6bOUi`|L&=K6-Rsaw5?xN{{VBgv%B%b7~l+f!KWT(avy{aDTDwy4E! z#OCV|?vN=isG0I8Rn)|6?Y#H;pC((f_8T_sGMV~_&^W3WVR#YJ7Z{}cfb*@@Li3|Z z`?OYZ;kPNF`B|N3Ib?YV&CEbNRpg$ma$|Tuywl`sM#1Ca;i~%lyHhgE9e2l!@KZ-s zWOl`TkU42t9H|HHwquuq?9mUdox3kficR5E6^`1N&CB=%V={3jvPk~EApDq;%v)up zH@<3L!;eh$oRg91+<{>HtjT_!{}`LK)(*J|74MHxs?)23Om4#_S=bx?HQ=EN;B zI?@F~V~qBbtJCjQSGQHmFcq39aNG`}O!bMN{vbvyimc$<2od>k$+YBD_3eI9$2Y;z z^HHcb{b|+DP1cA6b-Ya2Xt>|EL}l&zoz-pS7en6sWpZyvb@fn<_m&UezTRCu<2&`E zyVPnbYAe&LY1iySC7Bxstgpl`+>l~7-}>bqGks)A;f>0geaSLcOLxjC6wTyo>t;?% zo@h+8&ZvwzZ{p}al}3WJK36_E`hX>TeLLlP&pnSof5^9I2=3uM$im%LH8mw?jCW7* z-k{8iwN;vGO|_5j%#hh!%-S^N(<{t7EnIv<;ZU;iam}7;GnvpYW+vwsH#ffQtfpVP zCG&;z_>LKFM1x|__|WO`n7nu2CWS`BohOom42|X>JG5YSudN?jMqiR?yRq|xCf$|( ziZ=%SmEuM{w&uR8d)N0HE7<%FNxmng-j*K=VNJgfDegLiRNp5S^w}W)xa0c8^uwss zCkOe(%HuL;99t`5)%`m@6+zs;5M@DzP1#%0Pf4pz8*MEq7P9#?+Kt)n z7;sSZ`nE!GZ=a*X?_=UmeN>=+d5839QefFUE*3IlMLPv)#27o;Rg{`Wx}E1d@lYr- zK3km0e!i19B?K{34zIqE;>o$PMsNO(+3z2Cg)HsA#ub{wG`ER5WUp1>y***JMLT2a zd4|=C^Uuxuwl93?+w~CR=>QRPf|L^N>`z%cbxEG7+XVrirMXbbNY2?_?fvLpZSVoF z6XU;vR%@*{leMZRZHnu@x{!J+XYA|dA3|?m#*o$`Oe7|+QRi<2w*086m~8owcwdXY z%jd!1CnslpZjyRD?btnbe*R0LiJx`~`wV*bW}6vp7@pWGnW*?X;t|pqa#3tiS8Cjj zimPE1e$6fW;*JeK7r&aiBaMN4ui4~_XWvUZRJ>(V-j-vEXYTf-`oHz4t*bU9y;}MBId6BuUC`q)pC|oi8#ydyPbX0*xS8(kN-HH zjB}L?${WpHK${%ys18DByv};VESj-Xy&o8K|5*Lz&1RoOq+nWQ$wqU1qM9a|lf^C4 ziw>!eNV8)G+)VvKg)PIF7gso)Cir51{l>s*xtBiAJ62V1IO*i{dTQ$0)K;9DI%AF5<*;L zPJhwAY-`=&b0nW&cWjl3S#|X-nQK$69ZiUx?g5X^RzhB0x8Dkp;@d0dBz@$^Derh) zJcZV{6|)m%5HcsI*18hfVEz*J?1+QX-S2aUVpU)5($qJjrkFn+RMv~{gxtQidPFy^ z*t+Fw>H6=qR~r?2M_VFyK@Q%kS1_J>4}+N1@u}}rHsqAnpEJ7)p{C5bKKw%5B)jKg znVG4F&Y3IB@eOzTrR%ITTHGG0h5DMA@ao1rbH%*r2Qw5B7hEd$bA|)c*A{>LsLbKW zJefK)Z2xoo*4v=CfTXOUPgMysp;eHrL(VcxiziC+x7e;OM}_x?EpA#npSHX3$6!w^ ze}Vxi@z@i4rG4FiWUqg>s#AUSD#VRboiWF*WCUFn+sL_ce(3U!w@KQPnTChuPT!TU zni?`yOwAq=Q|yoqzPV)sL=zTtb*tB{b+@Gs9Qq5cCnaWDbt*w|0hZ9KYEk{I`d6&X zi6f6o$CcF>s<$K7m%2czzq11vF*S~5#qb?&ee-*ZUJ`CXo>=|-)@~YdHEvD0Y1rO3 za#8x%BPV~z+>Pc+3hqpOs8C1}!6{U0KxUDCtUPTVdP1ms*8wHxz;L-p@$@Y5An*1e zu1k&dn?n+ZU$<>lJB<47{c+ai$L6DT{g^zh;;XCc?_9xUB&kwu90I3^ikAvZSZ0+S z4+y>PK~LFL#i1eNyQ3zGS4CIcX?azxeB83S`gG_T^{vu*GkF_+*Z3VXEnK{|r>6VH z#SdPc8>`#T7rt3{RHnt0>D=F(R&2r$QYZ>D_;_q@crg|_*WhPRJh0p1Q+ec}gF#aW z!S(YwF}g-4$K4HmwozA2#$B5#z6S9+U(z@ITWDMUX+38rm+FT>B?fmRRqP)s$X{aI zUHmTa`!X{XQ{Y%~MA_8rMn$o)#yrK+UwZI}%l&Q{YfQkvEt`Fp;5Lx85$EUB$pgId zgBLGP3CRjJulS!8|FhzMR{YP3|5@=r{}cVs(nkb}@mdhI?I;xl0f$6DHSq{F6*agT zmPkTCZhF1Pm5qOT?jYSQ7%lgaA&~&>%S(;jsh+90nyh5iwY-EdlrEEUc;|ij2jQab%da zH5wdYNmc{`iA1(0V=?9+YHNkYs7RtnhjA#V0!CF5L$U_9GO{=f^585K1Ohe2qK%D6 z*0x{)YAR4X34?Ve8Jn13P{O3AR<;BJ8eniFA_@UTK~(?bok+&UfASGRgIE*{Mj~Md z2pj>0MPtAtUV;Mp{79u&w@e=L!YWZF(^$E3V|hPK%n5s0R{#Lgir&|ff9zkP=#Vqa1siM zA!wjbP!t{sMPM)_B2F090>xtSI2Aa`h=4&XMNJ5J3>pnZ<8TBL6amm!EDo;%*D)gg zod?g0z#s^KU}R7PVfb65i5(t=BpI1t5X7Y@k!U3hZvjypP7Mjygd>e@z}^@c8UM*^ zU_i(iha+MLMmQt}1FmLlgaP-mHaEfH34rW)un1w;1j(38P(@?m|CP5gH^$+?S#U+9 znjHc|!V-=On=c?$;1H}MUYGzrAmECz)xwhS#G~e9bC{wQ1mk1^hry7lFo3`j2?US_ z=i!J@IRu=9$Kc3^jYvey(h=Dh1ulP>1d8}4ibI1a3@iwtp$3)Hf{{&7Ru;xqf9I{R zC?pPS4UR-MHU?Y){e=M?0FoezBrHWy2n@hrFrddEOZnB9Rist8zepMgB8jYukOnCN z(a7A`SVL1qOPYYkq3~pDf)N@^z!{qx0rKnu7(4-@p@9Qv0^lT$Y(+3aVTgER&}$h*%9d z1e9!!K5T7b1-cl8BU^*#MEy+w0s^Y0A&-EXlTp@I##SaIJQ`puB%5K*pKi zP-vj*2oeEdZfrtEV6cE9cw-#sVK7XLfa(y z1CEv?3%4Ya#zqLjVX`?9ia{<-8lVLrucf8|t_t!d#((E^fJowCSS&aO-HHN7MkF-O z$e0Ycfx#M+OqO;9hr*JUW&{C^M`4W){>h`TFbu{R2oVyF0IULS50;J+MntUQYADLX zKzD*sg#r&r0?L6#YQfbMfu5NzaU7~Br-=o5ILKoNV0#szSZNH3NQ5eaE!I+0go1}a zL7{3G84MVeAi9JBQMd*IgGMaYfK;jVMS`epadr)APZoqp>ZHe zBpt*68HW-bK`DW(!l495BfuJ4BajEv7X@^kOa$EzWEwmS5`}`};Hs(+G?+ku4nW;- zNH8S8d|#U5f9GK;s$imnvycejBs9Q`!9g|92q+Y}(#5!HsK* z&y&46Z&pP41d~UOIo&V#>#>EHr11BQJq1jbdUl>{+?7FJ$ zi+(+}J?lq4Ht`hgZ}HmV=anieImhe4V|GL)-ruvjy0ZDFq&uQBR+7CdH&>#hKBTgH zh?Xm$3sP!6jP5!T)#d+FhCUsA?rU4|;qGV`j`!r7YflGL2jMeK$`)Y|v5JrPMp}$o z#S<|bEbHv3MW0f-TCVxBf~QatG~V?+N$ao|Y8^2YE4CzLZd7y92P! zbhnahe49(CWZ0?keYJM1Q%9&_opuE&oUs{(os0YJq+_pP5$x>gMW;L=PJZPDT8Ld} zkEjKQ>5}o6e3`m8Lo@r<<`br0HMJ&Fk~+(aZrTO94*#&Qh@T&R;xY(V9C6b0b-7SG zI4Z(dTg;4d%FUip$j>ErOUabg^d=2lj(jpp7SCq|53-4}(s%5VZg!1GUMsdAG=8@I zI_7IN`i2W4seW)lPR?4ItS>z>$b6BbGl(4My{DQtm@T>AUgk&tWNTZn-K&YK1Y&jt@xk}bBgy@tLG28&8=k*wUEa9M1mF1sqg&7}(wTqQMndgl9K z-99rF+0DU^?D5@_QG(l?+6o^pxd#tV2PewdJQH5$Qj4#R za?x>KJZ_JYZpyX3NpUG^3;)fXNMGMqMhy7wGH0|9boKRM!*50rxg52p=)?s?$>mjz z_i;JJ>+Dt)xzsph3++ldyskwgb-!(C-IcKOe+`{9*wgUa|HYtAc)<0S*aDcR%ZQ08 z%Yy3ac~6}7{pk2$YW0|uOVMA6`F_;R=&pOZzZ4PUyWINSL_t*L{+Zx=epAXb!GcSFooUe1v4s+oSMo_)y^BT_iTl{jO4>}I@&fflT zxV^0bE_!$I0h5$Gf~?ed~>r+_Hh6;2B@)qDbp}T%AomewA-g zvPjqIb+KQ?N>NY9=g%?L6^-21Wbx?!ONY}hG=S+n>Xx`bSpYONqO`#gtpPOOZbr%;N58K`&3e%SMp=!(*_7u4lx2zU9 zSXKO+`d6sERob_2efus$+aHj9Q%UXZEX*o$%v+=8J!K=RBlof|M+$XU*6Xyqqi%fi zlXdhkMN9asMTN`uJ2TmtvR}(wId>;}EI8q=iWf0&n$q4VC~bQqYEdb08Gb*QV1_TW zAh)&5Tf3AWi<-sdDk_XyWu11(l}oYs-YlBxQ|Ytq8hta}UpCH;N)9-j@_i8bA=|~X zOM7rIyLFFCwDFlY_Qy}VxURocXzsj$*s0JK?IIyeNDNtZ#pCP?nf7hDP&K$eMV(eNdPuO#ceD%a8>8`=6jfv$E zpYGKE6WK06>ZAZ6}&nOWtrGrqkkz=cw=gHgwCj5I`PRE{dQMri$A_qm z2)_%hOu$i`1f+J-sgxzr`4ue$uS;JwUnb=TF-Nwat9k4n;ug1dNw=R{Ds)L*WZ zP2M7bhkdhyM=KvxR^{-7ES`#ZHFXs<3uQmZK7H$^laI^fx^On8d}39Ig5Ud}b~Uww zr)=t{N*8C6ao*G+bSz6?@lZR<(_OUN3SNZOB8Mvl?NYaXB%Qoq(B5%2C z$FSgzJ$JTlv&em7mD;EpoO07II5^5Wud3uV@oUBFTi0jSyVMkXraUQY=DOQ{+7di3 z;Llu*9YnbF>*l>}vY4)P_Us5)7&}lou%>bC>esrmLWrLlH6dL zNR0m$zeW+rvndx}-ywy>+1?#bZaKYT%xk432Va%k_*DDQ4aL)ErUEO^`Fs?aql`U$ z{n~>>%5r%^iMDX2M&^xa5~50PN^TpxDBas|NU!9x-_vdU%)%$bQ@LropOj>{lvD3j zuK1r7|FhzMR{YP3|5@=r{}cTWcnRS9>Xh*ft5NHOsjs?wbIYV6l~+9x7kAagIJfW1 z&E8aeL)BNRO-e79zx8>C>!IF#=u7 zlvCe4#l5WFAm@y4Fk=mM(-p?|=HtH7q6mS)j?yr*)02tRed<~2H>X^SmMO) z8Ewyxb)rpByK++L6ffi5i^s_(-!Jn+DmFJhE)_1#Z4%i|<&FgMHwcO{ zk4L@e6?i+V>rM?q$0W?tQ{V0QSX`N8C0bu~`J>c!My~SA=S;M7m_TGvK4mOe;O_dM zRwh-zD7xhsa`nRE8Y#<%9`^a_pECoW$qS|qoKWZ2F*05lEZ%I+`y}OI6w@~(jXO{p zEYXACDUd?FidHwV|9EVYVRypd)x3oxV_Mg)#`?AC;+#slqttETws&Uk{+1aIxS1|-eC0(L3ESi|zx}dTLU(J6`%QHGGk#4h`nQN=r&b#F;XI7-+(F^i0FI0Ol@ zlgOEonTcv~q;~nAmAVpkG*>8DLVC*u1|E5GPW~ptWP^n7LZa2oPnl&tP7<1f5xNk?KlFX5p*0Rl^VaW4UdnFFz zlGBed#L^`)JCyCDr?l(M;xtZ)x>tQPFz!vG(MG>d34Eg%h0RhU#-%B@-=QWaZv2e8 zyGys*Dnlc*<5BDpR#@qwDX&t`sIR&%bV!fL_%O`#`5ec;4^jrT@eZ|z9({T*GS*c|gb6yD9 zs|_y-apt_r_bvXGm%LMG@#C~cdlEVFjmWhpCs9GA0nI}Km436k=X*s<)9+qBm@f6^ zU6F@+Rj>P*)b<&vKp{p-oBb8qR80u=yL#zoB_{ryPWtM(wdv|o;&!vICO5SeoPFmd zU{oYN&!72<4iJ8*e&A!Z{7k8^h;=eU>cj>)5xECd>hjiQA$vw@Xd`?nDcfHrDI;rW zQboCa*EhcVhCTjj{)KumckmbTWbp-Y@9ziNn9~=$_6Ev+y50BDEHy%M^!szOsX9}! z91;8Hk7mrap}LMht8zK__uWzxF}sT$RNtE3yY?j`l`2w-9B2$0Nx<$EuBaC=u+hD+ ze%D`cGhSSOkIIuCY;0+SlnAHn3d4Az;Z4|?O!x3GiQ{gZxQP}^Iz+K&vv40+Ly})H;Ml9b^MSXOK z93K1iq4D?i=IJlyOe~|y7{SL+-4$Ehu5M=bPV5b1RAT1sr2E~RiVnwjyYj6|BfkGK ztwTucEp8t9_-#|fUBN!HuCJvLcH`0S7*RsGc6L(ysNCBO_bH}!4Wn_5ut*OR6^e}) zxx`SakIxi1mz`8&cO-MmtDWgdFvsgt%ge#VR20j(05 z$=_$|weK=F+b&gIki%2o#bNYRC5;cA8*LZ9oooh`-{Kn`_;NlL*7`T)$hkk`{JtL`ggqr{t)g4X%p%F$3@_$ zN~igy^>^P(ao;~V6nsg2anbc7|4~m1vOsiB?$wNxa3bDJn-Nzfr9Zshytzm?|5BK< z$Ofq%^w!{($;pwOx98eK*6Ocw>^?B}Gvws`KwoN(9j*6xiHM+$!7k^Ic#Q5nY34@P zbrbmno!()tZd6}-nr$b~IN*%#CL@K0Xe%sa-(RE)sq6!QT$V;^QY|fUDNi~R?QP=3N{_Gr9 z$GGOIe)UpzGuPKqcxO&n?&!6wuq{rWJ#yoZm87QHX3kk$*`;$qBD}U`c&%dZ>UWOH zDozcz&ACO4ixS=Gc41S*$zK@Hs0;n*+Pdvh5^0YUqaJejBkCDNy2$QLl_4+lq%^Ju z8|&rvY-)1O^iXIO7Oyo-np-bwH|t?9f5xA2&bL_%pI|0|l(JvD{^Yf}iTqJrwFNkD zyU-VC8E5o`*~}TZ_OBL$3D3)Gcy4u%f4-^~;!4@yHuZ6YYt8#2)h}j@_Cv33I(8*f zuyY3^)6qk1zFx$3pLB3Fq{MeIUtLUUrebH8`hz*Ir}8QirSb_95<>C%*2nhx?Fn>O zirN~Ps};~eG`|zBEBKkJAaTF!<@~E7b^*B|miq6T)SIGk7bLTLo2LvqPriAu5mks# z|D@Q-pbM_5%zRuMuqoq>X?&qooulvdiNWHZ14kH5RT}a4a)aHHMZ-)Ugl%JpNL0<_ zw;m|%IwUY_GL8CHZlLx&-Wj{~LzKeqbGhT{3F@|I46;8etuL6{_9Me?pXR0CF#~0< zp78`C-^#3%B6vU3`=qxpEY58jT=73E{%6JitoWZ5|FhzM{wMmMa4`d+@YT)x|Mfir zd|W_i>1!`eL`V-OEQG`T77E{NiCaYYo&0M(Q3L}ODaEKdr>*N;M@J6bZCEH=f{jmD->m^3Pd z=?|h#R>DF9%WxqaHl5C3v0_4)bSB%M&8D*$zAON;v2kP4V?uP|KRcT0>Fq~j#6(2WD1MwMVcIy= zk{ZQj`_fqyMhxc8NB!zqF8 z$MxrA2*-}oZD@`G$syt4ob!GO-T{#z5q~h2-j06fqCNjFT;1Qe$jA^T#gtCthWN8% z&T_fo{uDDhEhdT;7ZY`s8wm&uqTt&S1}ulZ3@02FA)Ep>nZ;m7Qt0f+nCK`!rk^j1 z?eFLB&*ie0qTx$XCf$$e&Gz?a)0gA8(Nvl(od|NEePW`bsa`hTL{12s6%rH2;j#ia z?5J376oqC7Fd^ZN)a5vKGzZ*^PWSc;VMoV?M1``LOm8}!%khqhj*X-H1_VS$v7QqgQ_gY z#fC32z{{J>2&el}Vh&2otW0RWi+j=TW_{F2$+ zi12j3M7n=u2nR3#U;qP>qiD-K9l&IS`uT_cssF#@ zxKUJ^jkn?7^^b}MmA0V~+3XOeUvyk}xW8XGn;ZQH!ytkka&-Jt|9``=qeA?cpuZWQ z{!uaPXg1TADNG;dhSOuCqGRZO0U=Q_AyI5VO1dXlJmsIb2%%JN42J^vPxB9mii{3m`mxwd5alqJ<02VAv%DEV;#dKIU~~q3=>e#gW;8#rUM~vMFCZLX zyjToxPbVu!%0F-sLZ_*gY^tRb*k3EEKhcjF9zn5m^k;foT2g>EGbt1&e?vbeC*)6* zu@v=Oj-%6AG&I!J_+y0P%LB`O~@nel!Z#H_DO2WPt$-W-W*^xcHN zAes}-jqvyOrcpTOxPTW4T#oP391Z85_G8g$ltEFl5PaJSAv=F+Zjj5lbcQ_lY(i3Q=qa)3U$&O@E$N^4_KkkOc z1{gap+y90G8}@(hgFK!7n_v3RoX}Do{^^+hV<$vgaYFxeOe;=k#R;uAp%o|e|5Yah z%;Fm=%upsit>p;2Xz`J!ahZIhsVJy=MeKd{9e+s9IPC= z5%5xpn(z^N}3@WB)gk$jp1LVAK9eEB| zC1Ih6%}L9U1J~pnSo8W0=g9F6Gwv3XrVMeaRaIBNjk#d;jKiI83AYk?$+5A04pUF} zD?&C1EyrCR9A9&N;z;^VO{30F+pVzM295=oPIo-#jP`S!*UIgZTR1BgwJ%wjm-Vz= zw6!*6Ij&0gnO;@<&*oZWZ%kpkVOGPZN~4ZDBEDT?9)=ehO6)r!M850w6HZ%>-O6oe#uO7qaaTgReBS?CTh1E9?8o#Q72k?p^c}bVGzW6wSauh;}z(&OiGkGt;%Ya>I|cwTI@7Tahs@#-A9a56#lgw zcaxKG!&xs#Fiz*3+(k~W-j(le9y(F5X}W)Q!8^G#?1jUGQOp$Ei9_hMI`0v0zZ|Dl zeQaZA2D+e5PV3!}lAjLzp`RWhbah~7`n2d-N1hX(Gome`e)QeX{dz`1;6Ju4$5Hl| zB(qQOHve#cuh+_1ZN7i+Gkac&_D*S-Ywp(frPjhfUumky+#GPs@o5uihbS$_Ei53? zEwUZB#NQTjB_=JB6LPSfXBMx|$^^cdM($jk@Q{nK4*E$iCuP?M>W9fWEXUP-%>aMu zO-b&%SImW9G17JKiaKTGp^DQJP(!HZnV+a1TYqPZEk1Ra;=>SI4#6Cj0Wm<;ci!TJ9HcH}LL~0Y8?{n_kxSxMt7xc9kma>_nk7-|pxUd{oqBbiS-$>&q zjc-X`WnxmdruSMk%wg~j#~|sN?a7%!Ns~1lHgze)@y?m7+lMSHm*egl>3sz6r;eAu z_sU^{*W__K$uHNAx3jWnGU;qSdpBM$=y5jr2lxC^Ac4&b~ppSkj-m$W|qi(-O`l-v2P)7by>&@kr;V&Y#B~^=Ijpp%u2M` zjVu+J&>6HS1$S^x~D{I`=I!{lUHY-?+8EQ_hE7 zc)egq>r@;p>uNX=@j161Su}-rEe!P>RXQae&zD(fYU064%BlN0uDLD8)sYH#)dfH2 z79P0B#Yi0=@~qTOEZF_#UFlwq_=Y)`$0v{r4UgA|I*jt_){U%IZC{S7TU4Qmao)`{NYH4>3jeQ(A*L{}`wHAeTZVo$C^)Zt(6 z{gxb)1%W$U7xN=g94{KW?72LCty7h7;>iovYk$2F9q??Ou-KH4{tAf?2#6n1IJ~SNgQkM;4{^ zu=0wdpbDYe)S15R#ANLNWZ^51C81xEa7S-Bu7*Z*$PYT%T$3x8+ErK(pY`h{41bmT zdJUu?;jm;y+x2}LUQC;qmUotvO*-hM?tZ#!@w|TD#Gns^Dxhj3T-dpNW?o_muQy zoTY8t809}0T6m{>clY*n(`nf6Xt%@GiN)C-l6z<;1Sb6~bQ2dUmM7|zq(evaclGG z4vdC4QUxj9gzPMNxoLrNM77jzySFHVh3?o^as`U$rH(z&&5`*UK+q7PjGyZ=xO_=& z$CGiT@G8k&7U#!fJvXR*3RQx%KgiksrTzE435f0RSN&>@(jjr5Up@^v!paABH0U8q z9{#moKP^OYciUk0w$E*gcLlp`hQ6eR4W4=AVR4!KaaL_xc)8InSSFqOPH@qyVWG25 z#-^wJoX(e5l^YfxN1se}dEjGZ_Tf2XE2oT9u{YybU7@@x`$ceh!6`|Lm*>h~_kQXj=%-cJ?v1{5FY zJU?t_kK5Cr)V}S@npYAW=U?3qba7?GV12{Glk-Y~pjMx(mi7|`1=?x+SmEw^#kQ@V zMP6<`<@B>_P)Gmf-d`usd0vx;+S^TkZz-BS{iWS-*7Vs$*N}DotI!MGmABOV^d-2E zDGOFv-JSDF2iw|A7NrWGa6h*ZpPS5Nx~%GZTVy(rCn}#~k(m#5U*+$W)!4Ub&v>S$)6D z_bF~9Q$6__ml`FW=i~7hbhl+#{KgVJy}q5)c>3T(QyJDIPVZz^k1O?n30AJ!`D2dH z@2wEB-iECTreo?#Q``0QrroDbuXVWoNjS~1z5U{)6YVE@n(up2E2{RVJ^i>|M&4vp zO>uG?7W>3)lDkG(f5ElTl!IEw(Z8|&^qXyyaHy~j#wzwz`f8srS2R=d}=Q=Q5OeYV=g2~$2E@sKz5P@5cYuW-4s z=w*E6g}#To=mwY=d!H%4dyro@a9qZgx61XyVRtzbcgW*MrmXK4X>$Xd&mp(7uIle= zOJdx=tc^z9v3PEpjTBr>6Sm7Anyq8Gt$JRKZ_~03C5|rT3UGX2G!T6hYnGzKRxZ#DL8QLp1%0~0Q#L@ z`a(A~B8CQkATw)PPCDryS$|{WeeQ#Ul&X)@9q8+Zd3W{1dRX$Odv%0&)_jcQ>mK>y zI;a`a)@?O$tVRFvIF@H>cM6VIGqD(K-jmh-V$;{QKH`UnTAjn6T?XLndtH`-qjx^I z-pEp`x0Szfv$1>C%hCI=(s|7VJ@GT!1mPxy1~LVDb%~d8K+w`tRNBxb z^x|R9-jZ+dd8}A;;DkQ9s!90L139wWdH%vJA++0_0IB)k`ti6Py6am)0PBCT_wMmb z|Ns9#QmIskO2{dr32jU^O^v3^Ss}-%9NHYqA*bdLIi$$xl~Pg;k*TST4Wp?IQw||Q zB&CB26)DyCvGw_W-tX7mZ{PRlb$Ne(m*406{rbbD+w;+N&*%1d+#mPn?XsC$T3h|( z&I;cz@n5=Bt9`pRfxlr-|6276;n5f(Ir~$|U*oGk)Voi}^=h5?j$(f@=Z*}4Ycwyq zZFU9z$Y=kjxwKO`D%tneypXTD(|OM2mrFtID*YnA3U-zB(N^^Lt2&OV`2OcUawoAO z_k^U5s+atcJ)^tM;!RqN`m%=OtdB~Jou)U`WzARh?&qArRBVdgBi#5)(g#wUoAm`Q zWv;qb@-$>)a&Yh~4!yIwJrZ%$BI)jrfzFj(mrr-fo=-|%6`rY7C}&txQA$^BbRi#q z$*$?3J&MrtF+Y80{%J>7<-Dl}O>;nLxxBw9ep;9*-KHL`=+Eg7yBjEyds>#nR#l2sjWT{8_!HZz z1j}>2Jy{_Q|2W#E)!((PNWJo|DOcxSi(l|fe~x%mad!grTR@Skdgm~Xdk)^T6VB<} z*4L?d9YVf?ZPjjU_B}2_%2$k)&1edC%?$PE@-wtwL(695dwJC+^*U_bfZTohM3+(v zV_R>J#IwZ1jywC0yPOZfclx3ZtfpqsFL`>Z)3=%rDr@@Z*Hm}D!n|>XV&ylCaE0HG znA2Xkt+x1iTcp9`+s3&QA~y(*Jge}&(OkOIaGsk? z|2WfB{(uATqOu>&B&UY=O{5dpIHiu3WLG~TS;_9K`3m6%By-=ifv!W9 z|B;z$MMb^PsjT?{(t6H>(T>hb8eQrxijxPHEZzhF?bZMVW0~^~nEltinZhfxO5Lh~fH?A~ie(7)t=`dFFQZ2uhx#HHT;_xulY(f=&^ zpGE((=zkXd&!YeN_x+Es=RbTsfZju8aB9hwSL(~?Tn>Xyp*7RVWtFtbrnYuExsXL> za@hgh~2i^HZf84XM-r>d;1ib?Np7O59zgN%XyplIA?AwiPc z&1Keu3%50JSl!&Vb}o}nrB-#k=CYbtqit*^yQzl@n1*^x=x=MMQdrz>5$XV?xT?FI z-9Tqj7=7Fhz;L=LG#Z6U{WDiaVOExLsEjIVVPzShSXJPNSw$_bqSC;sUn?Y+Q7KF& zxxAT5r%+2ME^OoOeUqC!=TVvtoAmJNc{kX)zr)>qt$nCS#;iLH@BI`G_cv+_P^t@cw8Ts zJ46L1X3@EH2Bi-y0gXmw^t@8J*c>hkTof=O)W_}J{aitAroXR`TFfB7ptIVWxL=<3_cO|<E`V< zI=vQb-|l`+cQdn|SxcvPaBKT|o(?e@nwq-1+1*?bRy+fYwowGR?v6GVvmW#aCRl4u zM+dj5iB(n4;&98T4ecFZy&3haZcqyK^%N$r0tC7K-xW~HW^m~ZRsHR4paLk2_R+Qm zPyu}$I=7Zt1*+tk2rX9lHobe4!x1Fg*$lAiR9X)QY(P*03|143MhBah!{H7M^|4uC zZ}MvZ6j4Waf14mT%U@pxd6eD+_A97}{#sB2tZ{ZnTiYb-1%uVj;er}?%CCX(ZmJ;H z+0JHG6*6cYpab>~@n)c^kWT6AZx|lx83Nmw$?ks!W`bWQ{XJZ|AlKbp4_24a%v;%x z{vOa`z+|zTKnZZ$xy>C_bWS^HMGfHhSs2YMRx`f>{+{aqt6Nrk5j+A^03g8;HIKt? zu4nZOaofOpv)g;xyQ`>W3^2+ilLa|WHwRph4tfiyfIfB)o7upmgI2|*_jmX7(OFHL z?mkX88Fn-nU{P63-R(V1^(-c*zNx)~%M|3=8B{8h z!2lhO*~I2{Fc|cD5&A$?@ii)|9o)qzOx`>)s5B;{mPRfnQ~tz(ZwFKrv#W~9U~-GA zSb41awl+#J8Em%VVhVT-ObVrvb&5Q^#Wt1{T6O}<_(&+VN zh15LIvsh$sJE`P#ZF)VGPA@B@U!<}HIkpHLd^>ys;4pQ``VbG^w?Z3y%yZoX&hR48M%Sc5AMng4vWoUfV)Hkjm@D7 za&$@+y{W1S++^4kaObCh8llkWlwu~cp2IT|95BiN42uG$znFJ3`ZEWN3zY+m3otCT zTsC-?G|)21WNKwSyPZk7)>O#==7s?t#UPiJgC`}(feHJs+aOvcS_rhH23VEgGRkBLrN`q7nMP(+Cy(e{O^x=RP1E%YyjEU|#M0sVs46xR554 z`x2r_6fX~IyrQYtD{GMQY`EZ7ZcZ*yHV?cR@Mmh5b$Px^Vd&LR-yED?SZS-ZHa4G` z>$7@F9K+C4ZE&Y!h=Zf&tfrxN?&f~F&i{IV0QpNJC%1GWD7iUvI9I*n>W=y%T!4Mg zW2m}xaM7Mj#Hb9&>obH4c_ zhGIrT9K21ATh6bblj8mBwFcuZpS~u<<_dC6s^-ScxVI};xeV5z-_nef4t9mF344tKXlrWLbxm|T9f|$`|#zIH1i4ZUF9i< zSOaT(YMwLTVb zzUlOle0Qha=(Ivf_guZ+K!fILK`!1P?3&Ej;GpTCyRumJ>n4mzlKbFEJ%pY(&S!b; zdiC5Yy&JMZ%LZ>1?R#^q#63@tqmXmbjQ3Uz#u%GaGAvRqVg?6icKzA_U$a^GeOElJ z%Il6BY)&@Jxc8R+zNx&>^Mc$rF~zqL?uUhUUl%LiY1P%#`P_DQX3y2c)f-l(m`1>= zbaO@a)ogp>m81XUFiC2fBgplxzjhQx`c)&FQ)YlVyPv!fUGJ_>$#8;wcfL-O@o$|F z+j-?uaG|x!A$Ok~S^1rU+@9B8Ip<$xba-F3ofQ(hDe|Ueh5QwQ>*SHVdusi*uk>}# zN#_g~eb+sKvdF^J*~73r%u~%XI+zZE?TtQAY>Mez2gUUH`r1nQfO@*xWEDYjM7;Y*PCpu8_{v1j!G5dKz zl6vl*r5j2EE*9kqa#f`(J@Mq8OQof$#9mb3)k^(c+ir?=-5{iFP!$_bjF-jAnra&8 zl_cKvshkOs#S3z4TJe~5K3DFp-hKFc+V^zXt*<{X*^oQeEvC-Cv^Gub^6tP)tp~EQ zIlEy451)&-+6ZzQVrBaueYG7nd)|?Yx!;M@yK(*nbnt}quQS&JS=Yjw_4a%`Cfg$y z`+hDYq=LM)Uy$o~E9RBQ8rQ4#`!%Ym&G&? za{*1VM_g|Uaw$3Aafr(SH+DSClP7nLl+YJ3v*-Y(W=&y)vZx6*6O+_$bd z3|md&3Ub)2*_yp?o<9`rg83mny?EGhsa$c~;FHCkb>j{v_O-q;n-;&A(kVZvxAj?c zdyhuGASe4{rv6KdylhI{g`D7moyLhmsUtI2lx;pZh~12m)xJ;`l_EcvDQh@3$k5z* z$aqSSYfb(UDh}IEk&L|Me_2EGATGk`P>Tw8-5~5>;0>jhu$-KFonF~0x+B{srA5p~ zo6o8LjT4p)gAEQgxNE?AN)-Bg4^cOpZ_bsvUXzeZg&5UL8kgrEuNg+Rwt$f z6Xf3faqRRBbDLO`m@=bnvbjk&EncfVA&eErJ8to1diu3o+$Eb*dwEvRSn91vqo$aG zAeWvKATPj>rlEfxFKq)VA<+tD$y^=|fPY~9dmS@q$l)kcKYrGgxN zz-0F0CLLeZ9+kPBCvW&{+;MGCRl(i2ic3YbZW8~pXPMP|QtqJVtqyVPKTe*{5#*Y? z$}bsoq|de^RX%@AtD{u8AN+XfWqAqgJNB4XvVqv3Z|=v3*I&B%_;^;wgcq(9@;HJP6W2RrfzCrg%_A63W|#kmkrddV3#jVa?TCka_ASvVTJC?pxobX%#~^VsAwn1{U!fndj5x? zPx@;PD7Qw?Dg8zNld$N2{_K+${m-KRS@b`P{zuT)Ec&1Sn*VtW2~?vxtur9SR1C%* z^IokXbrJ$uevY6Wd{gzn#*V4I<|h@3N;m65@Q{A{1KunOAxVmJtn%c6nN415Nf+gH=PJsqwBI)wd3eaY$XC9c z^leMqPP)Q};=35pJ5O)I?(I?=c~I5rd-U5Kp)POV!;Teo(xaD@@=wpHat&+b-xuB4 z-F|m^yay|J+v3CeB{7wU>Ts)Fsl>c=T&=gOhq2+-vT9fImdADdHGLZresW=JOU>WQ zh>*x0wPxZjcL^8HnXxy+wp`w2(y#?LG7Z!8F^o021ZfXDq5POM+hnaXjpK~!R+P<- z2z?#j@$#yrJVe!OcxpS;8x>=GQSDJ^m=f}H38{xxS8{(uCScS3ep90n9~GG`NmDY% zZ7SjnA@SXtwkXK@Ou4tHU6B+YL8~?mOZ&?<^f^o2sk3Ykb#D&Cc9kG8Q!Qom*);lCVC& zyJ5@t6D66Odmh}r81XLG?7l3G_PClTHMvt^Sx|<|^~%k13gu%ZdIlFqC66)B+2v7_ zvT)9aM{=-`rdP^7eUAf0N;l$5+a4%vk}rEvth*!cxkOO?S=$RiJhR-keT@RsWb?6%6DFpUkWIQ;j_>TA*(B!6uy1ZYrbBQiyiMtsUq57_ zsk2(X-dG_hJuCZPG#OK{5e$Fd?=I%#iKi|u!P#%yu z?c7wAtP#@usRHtRe96t0y)bp1RbiiY75h3_$ePAowJ@*v1UaQEtej=hHZwBrz-8p- z+rJduKTuMho`l)7Boqmu+*hZ7nl{h0b7_@4UAqMWzDIMRl9+LIW3}(o2lVhg-p2-hoLHi} z!a~-z4!b6mdwnkZP9j59tqyVX4>BRWU;~ZVzeP^rG3$Fx)i7)7+(TW$7XQaxpIlsb z#;0qfc^-WbQBv|oXlUM1Vf*e!+X^g9SN1%+H+i-VepJ=3t8?1f#V`(6alEsJST<95 z`^#ZesD8!Uk$cie$hVp`K}Hb|a`siMTT`^|sN(7SZP_93gF23vT)p-A5HbXD^UZMM zIs>)2YT2)1s8y>J{n}#gJ*XA;y{-K1hSIcSP@eR*Z@MQ3s-aG}S_R}+Z-p_`hlvHp_c<^WM522ebP3yz1K(m-l4zQ&l2$ zsrr@@AHB;$rwvw=ch0`P(R#6ZB*1&BoIFxep)kJQA|03g(%D2q!QhK(vA1siuf!c< zWgRo)r7d~;ERKv+SKpB-9%*WBfNee;`t%GH@}~6QdWaO`pz_u9X-2B@rgs%1`kHr= zHY0XN77c?>$hRvT3h7V1tMH0^2KzxR9Hy@E*(LdKL`y`)CRSUyzo@_}vdM)q774cQ1Ygye_HoZ^Rle}oMU+&a>dD=*~ zxng!fx42@nba{01X`jLiVV75}JXx6e_;NS-c#f2~Iql?G#W}6Bk5sLzXRCiC%N#rK zta3nEov3;@c15Kdr21P#C^4zV`F2Hg+UBp@(jKZ<(Pn7#Nzy^58pq!(rI<%=n~+P` zSsFL|UFLpbyyW1$k*O+$bWyZIwI*a79voPtm!dx;#NDz-^WCOXh9$AjzDYMF#7PV^ zE<@lHB=)~!uUFrX_~tu3?)H7HPi+UXNVnqplDd1>(0S>q9`;UQBgTsPH*kR#R2hh! z-W+l2mFu@P-i&sG>sK#2Ji5nvTdnM8Q(b*3YN^J0>7ucsmA`6&kD8bLEZ$nfy?JTM zyJb~1C#!5?xsQyJuQiPpA1SIXv+nwf>nnbK8ZCsNpp*5%yDK`?tUpoW_U%0}0vjyN zx|(EQdVJupiT?%<;o;Qck&0r7cNV$*_^z8BTdbyU$L=)^8{R%paxT}7svw_Fy#Mpt zVDOi*k)#{W|GeB=PrCW15GXLJt_Z#!Aix=6&@dPrp>Jt~fFaOGG#ZA0>+5Ty zp(?7H2$-dj2tpVQz8+xAqx2El7$YG;5@UuzAatNmV|^o}8O9ikLBO=MG)-MFNEFh+ z7>z)qa2N~@10JlYiFGkG66CZU?DSEpk_bx_$`Wmw2rVrv7KwqOF$k1C61)Ty#u{OYLnBSGNMkq}t&c1MeD;5P`D)qs{GTgAP0eB^x@hFgegJ`fzedgGzPB) zp)Ue$R)HcBI#>h@h0%mSjS(=wXlcWZ{>(w4W*9UQfq){6;7}M6i8V%xAO@f)lo47* z8)1q;!g!-Nj1f{_AF7W=W3Ye6z2$M17>pfwy)YyU1A{{?!6JxgzlY--jSz6GDGmuU z=8YN~+lpvUfl)O2@40R;f<=Q1XzOU3q0z=jj42w9M1r%KnIgfp?5uETBMcH;6fh!M zLs&CQj3DP@WofCc2v>K6A+acokBHSATtyp#ayAmdymUu8=%TPj#(=TXQq+YYU2xj} z$<_YmuvjAmR1T(%HA12-_nTskk-Q^IGlZ>`*?ufoLjEXPAB<{&rvnq|3j=*1ExVi%j1<0e| zh_|*#XSAuY@e!mW9Eml;{H_5w7&X%tbwzR{VqIq=!Y5)Th1*AP_+g zZDs^62m`$ZRDdNKheqflV4ziDU{+>0OBfPmWM*k(h6Z~W+)7N*zt{ioI75bou#EI|A^PJ&{#9@bWCBG{gzh7P$Zmprvbe{ki#MMQ9D4BL~Ef?I5RV_TM^*M z6swOmHM7)5Y9mo*SR8Ls&mcL$H4Vr`bIFAmbx|)W(w*WYN~Gr0k=tTiv^ohT?+{}Mee`|a>iIJ z3M>!Q2w{XW!(dE}k#JotD8|JU^aXHR(?^3*W9(ieXyj01XERV7f96nVG#sI=kFYcb z+aEM)(2d~;gf?1RRTZKS?m?g+K!*bixI1X0jkE+g7!(RaX=;MI3>vDb502nGF98K! zB37v02&$v0Z3NXszyXB>KTt*9{pimma4%X$Fo+6pExH&qC`WD3H6ai!bp#r#50yu$ z!-1E9L$%Owh{_fn)qmi?l>OJekhc0ic&3HjQ0+f)L%fyvvupaxZb)m<4K2E%|8z}@ zZb;km|139@yXb}%-OztOH}trm<)bHjdFj zs6V2v7E2Y(6f6n<71dHNB*=MXWOknu)AqPP+2(ey;RU^+vi!$0hcm&JM~7bMhgiR} zp1(%3m2)l)?{_o~FbeS!4dX3bRJmIDc`A@eeX(ZusJ?27%|L^qP} z@I>*8uIw)Du?A)9XhCiwVl20nRU8y3hwi)1)Cq8G8jz>T?R89kAkuz!RCX}@gg24( zh3t{c4Mn*U4v_`9>}_anCaHgn=;(I%Zu-%8TCouYqd#4Wgh(aS3!agVQEg(@qyV?P zKjd#~_!4yr1UW)J?5cIz*PiEYUD}GhE;>PO7wBDmq73z)7ZY3x3&s>m3N5)(GPi3U zrFUM5dp<76y)|kJ?lOD1u@pH|t$))EmR{F2CnskoZMjprw=3ZF)g4{%&PNYai@FLV zcO8`Z-XX}<$=rs1H4hIT5AUK{T5pW-?w;)m7n58kNmV<0MZCARfEIeltrZqdlj=J) z_HDm`AUFHm`qtwor^1y{ig)`$9cgdE!_(#0YqILtUZ-Pf-RMU21h*ZoKm86Oq#FwD zZs7&Fhn9zs@4D)L5z8$ph^^(vF2KlFgqaV~S1Xn~3YWXpI28zO$=tu3C7QjWx6d0c2R`}BSauBqLUFd$rb;E}GL)EW3YYPJM zzu~iLT?+)cliiQ|#_vw;=df9+@yqL8`$WAE=UV!D%x)d`vpl~x&21uZ_EDPx;FXG<89#O39^cXa|8gtHgF6?~1e6f0olf?RZKQe(9d3hQ#QZ{c?9C4U=;NCUx9KSTLxugIh;VG zu%#g9Xgw0_vFiDJpwE81uE-hdDz}aI#tJUV&fIn<-5+kVCdIfbUP4YZ_6ux%k%xf9WhB}iSXSyzA{_*tMvtCD1bGT&o$cMBa#3Dg1 z&@i2~+H%89$FxFg=%J9Ta~CS2(jD|7mU&u+QEyJz-BxfsrZAAb=|y;Pt#@+Aq#zgG z#Tlnc9`S)(d2!Y{+Ot&c-S?jHhcPALZfCheX20CptWO`!4B1DUHHm0is=Z!ImzYPvtscG8-Y7OCDV@-9m8x?P=D=k|izua8^Sy9shz zYhI+wOtY`QovgI-3LMs`3XSh@I+uP-{6}-mg}zL9t#zQ|%c2bYV`jp}lsA@Df}C68 zMA!X(YvgswBh~Ij?|)T{M!qd9SS{<-btEU(QDZaN!=l5r*vx3@IkEZ`^g5Ct7lMIF z9}f?ocqx_c9bptFx#jqy#wE_O2LkSPG|AfUdFpqvJ>g)vtQ#`YUlxnWJ1WRE40XGH zlytn!LEo#erG&W_3lpT*b29r8=vvdZ#TvtcKEa|{OcfN?0Rw+pF8z8?j>rt zfVphRyYS7{ZhI{I4|?{7N@n)jM0QW4AJWo+BSY2&GesdUN8Eyfx)siiKN94^>a9PV z9toqK_n#J>#P`2=_wEQ5d)e(dKGE9MBd(}l2a`~FOL9ZkCFw`?`wYpS1-ZZEe~NBv z3i_nK=70){1f9}f^go{${m-9$(xU%a^goOKXVL!%`kF=m^I!8nkEO2crhi+KIk0jG zV!4RNTkfO6+fs4L!p~Q)b~iw}a<&&1tf{!E8YIP*GAv|(HvsgO3FF_iKD>HMGFC}w z#HQxti3*vSlNZG_?8i(-Q~KBUaf!(ggyj6ddZ`3;{u=677J3c->uGP&jd^$C_)zZ;gII(qgbdg-w;w z7N>^Kd2H9XtZ{3^y&^3^PGaq9|Bj32_Tg6-66P9w1J^CzJ|Hhkj(VQGZI^VKh~j7C z_mvu-bDEpew^Bq-?77O^Xb@lb6z)J|zdG8Yk2~PZjV=6YrE&ffW`eB#DVxJNr*T_2 z%%tFLN%9Sm%EAWGjUMs6VT_f74Nr4SmkDa*fd>1O}7=Rqg|O^ zvH>606G~q(P?qO=YW(5AVe3e^`(wIH_8_tRj&tPo3qO}i**rONutekY#juz1gCl#6 zX)tPud9Qc>ywzCrNh)iAP*&v>aqW*EqLS9VhaH(~@=xLpP9Gg6Iv(5o_N%osan!)E z#_pZ@&q<<=)L&h@?+;=wXg0w3?BRB-@dNXU~M0mc#q1yJXO8n6v$K@w( zKc2CgAC)II+rS;mPXvEdExK27#?fEDBGPfZ=Ys*^uA|hL#JvIgqOLEN-=E77IMy(S zvasVHR2trHTV-%ZLc&?X@wr7@tkXWo2}g;mV=`k2EN73_kTX)(qJ0X5G9;weT_764 zk54+Sbr>;^jXAhiEzDtU!3*hxM;hC-Xxk;cy;Ekh{RS^=l8`tnw#93ogh>Y@OqwX> zd?S=N8UGYLdq67P3ZB2r%PV;%%Xi=p*|lramaBU19kJ-WqUjFTMWsz^z*iyoBR%c%NLSL^lAwy&qKwT#Kc`1EIq8;h z6QafM;!{AV7umYSfA$ybp{~~8;O@G;xl$7!%8zK!9vwcN%^8yl6C!4^4_@;esfqOX zrcwD>DZuFbj@%`a%W^fO-j^L#r#?KCn8kh}8TyNGUi5}ZRj9}ljXl%V@?(`EqIMZX zsbeeUMCBgSH014WM{ez{@$6+tNjdz$W%e%hlrov3$-N*8FR@K0NCvIgv_ww{DS2VF z@3%edfYA%y+rnf&-EE(?$c~ll`}WFWq}E*gs_4O2Psc1aAX*PVX@w+{2ma6h@X`$3 zIDO~QlzCQ+_xyoV@J{B5-m|D}B2{&wyX_4wtl090wna*6N1Mv?HdJzDtduC}_BEo} zT>V7!>7F#CrZA;;$*u!C{t#2m)k;2a?T*Vk8?BmNBdHsG&NF+KlD0TWyg8g4J)k7< zQx7wic}rW=FJaH8^s>IzuQuPRd(e`lPn^D(h@MnExc2p-p!F6XZnLh36U#r{E! zTb+GJ&4MmCi-hD49@elS?)nO9{f1lbn0Se^ibmfiIV04}6SHqCta4vZ;%xqK5)QsJ za7f*nU^MF>`Jz-Te9-;<@ZtMctD2oZY$>s;jQ#e*ycQ<0t)j7adUj3h{lV=PtuvLe zjsuAwhzUZ41r(0cd(~oFa?IR3j+R#}5zQGSIfs?Y zu1;DF?zme1Y*36OF{WvzHWRS#?UG9b#o9A@11`6YLBcudCq<3&tqL5oH3qMyXlx-7 z+i2+n-RJu_B6l+^pz_^8}ELN!_I z!4U@o;?vD7_mo>jXNVFKA&!&8{K%hsM3+@%2pyL?Y#?=7N?Sa)^3-9R=X~Y-H4Wmr z)QI;pc5Ka$gi8@WOqMLAr2jf5d1!|uu}x|iC%wy0RQqJ*D5J9O{zs|!kI(mo=WG1@ z=|0VP+Qx$45Sx^HJ0>M^&d5TKxI`uAi z)OSbNH-oE($Ff$~u=Ne-UtZ1QrPf88Ia)TGj_2O(O8JnsX}(bRBB5dF@PSP}hhAig zSwBGRsQLWzySt=Rl(d`1cXfiI*g}xsK5z z#=}35UI`aE^y#%5r6h8molAH^V)SY_DJeVG-LZ@-BV1hDn&S}FQP_xay?8{SNn|zM zBz@nnV|?zT*m8$ghaKe- zgISe>@=H?=)jpelTP+kXb?~mazq7XP*C4pYrM$il==C*6uU#D6yoq?x`H1@0I#GwA z?{8?o;v^mK;QXAl;In~rR5bO4yoyAn{8Ryb& z;C!}%#KYTfzP>%+NR~@myY|-^Lt7us;~Jrd6gPDJAvN)M6`~BL@kz0TNEp1XGB&*| zbWPrbd0Lrmt#eT6P*=r#=K*2^O*8F5Vfc;h>eHK>2}cL6DZiLn8nXJrR;ecz4dw~6 zl-=sD(p*vNrxFy@&KC}7oYinRy}MvqX~m7n4d3$|x9jBpO6t7*cINgj$jdV>NSVn~ z@>?>lKK)DnXZ@?@6(awR1Clbz`}h3M(?$QY=zkXd&!YcX^goOK=YNO)i4or|v~8D^ zkk&3qA?;lfLOQ$F{-q!O<72_&W5MHN!Q*4WjD(O7?`JbwNk|c`D5QkmEToK9 z_S1qxD1eX@DH0$Y@iQhugdiOF$txzxljs~s3 z{QwG_$!rm(&J|>ueCjIWZ!V6dV&D2~H>CITxRhM6wSI74e+s zDc+f4Vn|uRXMIECB4hKClaf4be4T^OCwh5$`Z{>>6@UU$lM>Fv$ANW8;{Ss;CwPJr z6Fgiz%zgO^EK7)Ryl})Ac%CtFNr?#ogx~<*h>(y7LV$B{Pyk=?&J>xHN{SB*B}F78 z$0y)D9SOz}kulC59uW@zp#VhkO-f8oB?N_rCMHBAkV1lki3CD?EFNzk7~soS0E)5q z42qABB;ttyAqnxMkbnSuU<7!@9)ysP---tX5#!>MA_y_Q0Uk*)q*O0&FG9lE$Vg{j zPcJ-QDG0p`0W*}Engj}gKTjbcU^e3ulVa=x!HmuGl!DNki1^r;+~9MBkhn+^n5Sg^ zJY^(^czz|=gL%qG;8j7;nbgEoP%XT9ii-yo$)6_@0q^2r!J9D>0YD+4r1+Rf@H`{q zK!FDNh6WI$fsgh);}9@bI)J8b?NuoSi))9Xx+4-m4=d zCnP2jf&jOE3XBBh5ESAW5}FW~7#a{97!eQ>A5RJ(kOCurD*#z|27{A(;{$?2W8#RO-ho74 zFBe;9d`w~>k-%2~0{bHXk9P?%2@W7d;%&fdBHGyC@m^qA0ttKtAW*HrF3$EIE`(rD zA|b$&K(IF_n0Q8nco74BD*y$1;^Tu7oJj$Jgn$SFf#~8HLW~ayB6;Cm|3d*N9u(Hu zcv29rVZ_9r3JxTA;$t$vT*MHFzZLIt4))GLVD|^h&pdvj3gS;XlLFXY71NaJ* zZ{SEkB;MP@GZGKF6yAdnjK>r3wqPFzhJs$kQ{YT40TFS5c*{^1A_=q!yk`W#+1}CH z!5;4w8Gz?29`wKNmY{Ef%LR=5uNx+TsPIo)=JcOhCa>rgd*))#TYq z%5FNc_u6^b*G<81JTE)hI&onS?dMEmM~^FgfIS2sQ(bFXvR4Z#ZfJ@QOd0I7EShaD zazZIN(X}Y+G9-Xf6dJa-8eB5wbZ_?TopUJ}$;s_bBQJI-LRJz`d*yZPd5Y(p`Z`Fi z%jCAm&7BcX*q))Ba`^>EtcjkPzdAfBgs;F1we}w|xlm6&*a9(TxR)MtS?70GZr5J9 zbhFZ(A7l6mKud1zHG50b4oz9JWU0%L(1ouLY>sFx{nY71n1)&N6|d=>AGknzTsJq3 z8JBbEX`yXw@VV8wTfr&!)R?g!UjZoEzkkCvStq%j_2)@@-|8aE=6f@(nrs|N{xh|k z_zFPJRlgP)KHhxhv!S!d&pOy^Lnp0=8+4cMv64(k`KC)XPm|9gz z`1w^A_P1C#Ts&TS@c>@|sM1CFa-&pBG~wjW7L&|FLp90UjZ+mxeq#f3rY)f3h5`7poB&{PQI z+C1=xwG%UH@vDv#8lftw4!B?q?4l%UjfK=+0^?p zo|5(ZBx>hs;>+7atMb^JTu4vw#ilp2_zFO5!%mf`G%=&jN8&o)>ju>JJC29W1B9cpH(EsCbX{W!}Aq@ zuF7pW=x23#rMl~ymB&^fT7(bZ3QJP0Rr~ljvulK}0OUMKgBdim?EJPXQ&AKqH&+E0JIcxIluWc!Z2>O#pZ}g)YrQMTz=Y_NdBI=Z>q_9gDf zgfa?mvk75vR=8Dx(0aFePeaCbpn!97n9$qxwKa)lLD9o_sUuBVPfC9Y*$u4^Fg8y9%#*p~eN%(_hF7hoBP-YP6@V}& z42|uc%_fRZ~R{%P4(jXNFyM+_OY3*`}OH;x)iLBN09n1nU4ac;%NBMheiGN;pDrqMc*(uF-ZHt&hx-%w3P55p-f5TG zC%%XKLA=ACx2mlPT_tkhoL}op8M;L#Ujc}0UAx9hM4S!WaV;*;YgXLAG8yL(t%Zh| zS#>sO?De|hi-L#Z+{E#oTytsfwn-Pl$BrMjZXq4RZ&z0IZM3nl~ixH^@1dIn$d z&U9uc_o&;%?vQ{p+`5m3H;JF)K6k3nh(*1^h`AsB#R7;jy%R!0D66f1X;>FcJG5C-4I&}*@#=&W5-V2eG`XkHL2z+0IlfEPwd#3 zaXM+`iSvqAH=(L;mei;;I9FJ#cxXPyR{&a`XP9X<>IB)PsrZNM`tO=V)MRYx{EqLa zp;37~z5)=6-S>0mWd-|!U%1U5okhao!G`f2hV`!O@@=>xz5-rC?A&Elu>$s4p z&3^2@&^rObIf)x7&M3Q&d6$&=YljjJIT-d`!+Q1pRsb5tQAb_H&41hyX5!~Id<_#e+Zy=x z%g({NX39G=z5a?OoMaO%;nh&Z9jeG?l_RvkQQcj5>>U(Qa&4(|nviodU=iLVncc5e4 z<@pLg6u-k?Xqz|dhD>IDe|l1e{SK|)aZ$Y!Vsv0KzlN^>6uD1h1&64E`{+Dh+)M@Mx|AWL^(dE8h+w$ z!SGZDnHL=oBI1E_Tqyj#iA$$Z`7!X|jef3h$LK#xc&A)rmFM!a-odApe;4Ea_U~id zK?X3$<>dvsgIZfCtG$WK;zbLC)OPS`N?mVjrq%z>Uk4Cn zfoOFQkNh7Y>i}9PKb=Bn)>rY9)B&_mNO~oMR{c9J9ei5(Pm<8*cuDAG%q9`)JWnYI z{Q`04qyH@KoJy@N2T|A{_#9l0xj?3QRb^FSEkE5HKnul|*OOTd_51*H-kBE2Ca>b~ zlFWH2LgC(Ep6Z$W zm~Q|rl;92KiI?yVvb=dyus}>VrM#ZW;0Jaq2>sw^alibB2ucv#UHdzg8=PpNz->Cn z-2NTC4WNZmwcC1`3_3qw8$b&NXM>z`IzK`iKntZ~vuF(F@0@G^Efj!Fqx{b(Yyd5k za?NU^Gk)h?^DehQlr@9QVEhiX22F)IvOr!nvxx#yt3h%#IMYI*)D#+s3+KmE^Pr}- zb~+j4R5Q7tfl%ojI%tu9YnDI(=wJ0qIs<%I`S%_3-9PJ?yqa5VnTsuRv1RhM6su>5 z+s0yX+3h{;-Br{w#_vY?|6j{|{!im~LHu0qG72(DHV^owe;%=$Tch_QAaMkQ?SgmQ z7Rb;|u-3FUJ;+Pb1-@yaoZKqXE$=jbVlJ25dulLuUcBP@Zg1dGxm5$+7@iC^R-S%ebJAA0G>#g_2?86QwK@ z_!+SPS}6XNbYiud3O@)IKnrEOK9_ZIf5}gK1<-#6x$gOMkZXm4{q0D8q$_|HN^32a zj2hGC=e7c9p-9%z&z09~`QfYp`djYmvOndn?p-nLZOu<$1<>FE;i}>mutOw%%qoBu zN>Fuo&y{ELvs3}JP)zFHguuQV{J>NIEtCZ|=y~*uHa``W_na08JheEs%RPo4eF~t3 zQcX)%4(gfn^GyM?P;{xOe=aJQA7Toih4M)+YJ`ux zx~DYxQ7%7o6hI5biE^rfHC6e+q5%45nV}?*8R}0h875cr6o3{A2DMRs(DsTS5elG% z(mxGk-|Sw^&jAI{LJ^;6Tk`2}e%L2~7RvD~JR1sW<0pCo=wEb8&^H0}uNr1<4S@b- z%S-^!V$WRcnTtIWY=r-YJ@fhTa+UoX+9yqM(el?z6yR#^YJIqmW2SX?a&~9e;ywcB zg!N4`4_moKTIG=g?a|u(pRUijsfE2z!-i2OpG5)%oYQo84eYR5*?WnG_5(=P31KzZ z7hj2yb*>&+^WtQl0?tW(N2zL9?M>~QUkCMnb`O=(?m~C>Cf;-Z$lN9~##dm5mQ?kZ zZ*Mf(GJK!XLiCxd`qk-0Jmhe*Hgqe5Fw9r~gS|J8hq7<~|1B*_5|M;#85+%KhM~cz zp;0qq5*1m-Qm7$@5JTD5vSllk5XxR?tl36pFocP+Mp@eT5|#SC&2`_O`}*AXWv;(| zkH_cnyZw`+dB5K0Ip=vE@8dikbI!b;Kvd^!V~^EUE2y$5QRdVSRzKbpzR~BOsFSGA$0#1@okpWjDKg zAh&PJ+#o!zuO#bonD~tw0nuy6My3R9bE3I~MCidynF|ssXBtIjgjpLpc2@ln0nr&s zw3dl1wLwMj!&O4b*{aH()mE?lBEE%dz3xfnMnE+CwN+q}I{v-0^x$~7q`PyY^2{T7 zi6SGjoC|YB+z5#7MkV8|9LH1lsxYP%Tpn{g_-{(t-DKZC=IgC8%Z-3&{8Tr8Oc;N0 zk?g+2{cdn}6;UGK3lX2Zu)g6%J2wI%Y2*%zS7u|T5mzPJisU@uC&?#Y#th0xLf7j0 z!?_U<2`!|VYo$yW*A^=bOGH{R%A-}iS)YnkL}AaaL~$b^x_Wp@(0n+*Fd=G>w1Cep zl{?MTvy{~yD*Xh1@icA(L~jwt8f85Wj}`wWdPG>Cfky4OvM4Vlgg7Lhn>faefJn9} z5WZ>k(d#P}W8QcY#WgRFPhURxJb9Y*Kx*y_Hv*#jHGW3Up2I)S2q1-sn-A9S6^ZS< zF_%)2HTZS?cWwkk391*4pSbUzpa0_b=no57josbq*NM0_{iEs|;^T(PoKd+(?dZT(3Y@ynom8oOA7X zOtH6KgKyQA7pJCKd{t|_tgRO#unwxm-JL%amW<~Y%g#s=6YwchR)(swI$z>wwi037 z2<%N#MXc6RAuHiyZLEUytKxAKv?5AQYd7uvNEI@N8v#*jv02O4Qla_dFW1U;KW+(8 zRxz%qm)$@9Zifo7jvFl=T-`xvi^C&G0F{W3sT+367Ir;pd|5Vr&i1asIc@|*HWKa! zCgi_W_>*m2_zeOVL{@%F-B$3uj~!h*O5sL8B>g5qb3=xq`IfL&8T$A`!q$}Q4~4g~ zHu{x`uTkMfKy+xVbXWmGQK}3UDz#Oqn)mmiL{(eeE`~`vJov_qfN1{v{q=iOJ~slQqVnSX&~J98-W&T4*>-hGnC$fdap_UuLFH0lD6A0{F92Tvh$yh7 zrRYzF25{6L94H`yE`fMLr~*_K7xn~1OL3f_h=0<2zyr9YU`?t3x&r57o4|w0zaTPw zS|ld~TT37`=K3D{m- zv=I<3MJ-Z7p#dmskzWKvOQDHiFa#G}gogvsQv4yPs=DkSBqET$x)Xm583N}Ch2r9d zz?POG38@<>!~S3j0nt*pAgD3`N^!wKK(rJS2rz>*|DXdczVRi%KM1V0!5;`9AX-h?WBQs3XwY2rkM8h?b)Cpf!+y;0ivZqJa8xg^>C3qK(rKX2MsW0 ze{gqzXep!)5(1DrT)2)LC}2ZOObJ)aKI$vGIAD0ylW+>n%uqd zESCr*cux7}g8BNd3g%+rS+1DN6?3^_f`#yZuwp*_O8^Kkz+Sn6ge)NUfsfn%3Hk8& zUyzTiJh8M?8#usyfREdjpm==2c}!!v7kM6_Z(54fQC&@M{>f!_fHSldjsvo;;!_(J z%mGA8F*mXdnB+h%ePb)%_!3-=N>MN3ESInWHnbExgCug3>d(b!0MSx}jPX{c{~xRj zAo^bzjE;X{FnUasq(!+v3?N#HbwMryCX-z11rRL-v`D$se|irWZ2?3}Q7a^5%|-Tb z`4vF)XEa6jpU@PazJ7iDg$t5G@6nI7<%Wgm7^aK(rJ|!l~m) zbrzQ?0YppTBK+!B1&eaQ5kRyQ6Qb-(H)98v4go|Nsza%cK zm+0i=a@h-uyITUQK)dSCG~@ynfM_Xpf>LspG@VOP0HUP;3AwH-{DZlu1Rz?9g5Zc8 zm;b=!App@*sDssIMP^xC=m8Kd#WR>(;nLK}B^vAgI&90T4W|8-GYnWu$ zg1#x~d-Lka?zX28W^esl9Zz6_0iMQ8Ky{1|=PAzD0EXx>G$F@%sX5ufQU?5vUXm zQaYjaLx>}kw&@e?DEuL-&fx5CB-NxGFZr`E+z5zVZB%u}`?e2?lG0M%N`EZAn{aS- zJw5ZIm=q;jfg1r)zUt=;-zk}qaU)OF+B(YR=erlmnsPsh9m7REc*u=_h_LWpG0jS> zlE3XO(b0S6;-OZn{e3DA6o{r~f~&X@5al-KpSL)LDyCV?^uN_PSqWT}MVp5Y=jyFa z7yTmwqRH?UEBg-b^I|!HF4?~mMK_9HqF@kS?`6s;_%+-Jh(ry0YJE3SR$JZjp}Y?r z(w{vfmOw&WUFlES9*E#ZK=gQie1sZKDQFTK*k5|F@~zgB(V`#Wt;#x`2QNdp5fD+r z17E6KbZb&4wvz<${H6lCEgtF!I@*tjXWg3NMnF_ZvpM%NpISVdn<)2t;p0;%Gr=U} zwP4Uh-7!hpX#($8rm2dpvzU4Lgc||T77kri#_Tpt zZJ_%2K&_bAk)QaB11pY;6=pxUxt1FN(T2zK)5P&Qf^e3g<@C@bag$cZq3!hSb6px0 z5J7GPM8ufb9=75H8y#I5EGBsFb`E9#+`ZRxQuJyBo&$%ilPTB90;U1pO3b6RE`_Ntw^N5fIr9 zObX{)DXKn}-hx4YeYAgGh?MsHJ>E3@HpS148v&7eanr!ZS&`t@5e;I;*V15%;fS}C z@ZZ@M7GkyG+z5!a99gq6>pf{iJF9SPWc4}GN$CDH7T)lF};3n1VmlFRQoK8aC!WaEk_hooKXdqUz5aU&q2eXoOdly z+}eq~Wq3?pj2i*bIQGfUT~6VbdQdfWQevX1WAWjS&eaa6UM|!@baJD`EhSN#gfVeM zQG}S~N+GYj_oMlbbs%%F7^&Z1wsRvOLa1K3{J3ZP4UrQ$86$Gilnkq5kZ<*ZM>ID2 zRjF_zAPScZ$wvCHu%zZ7osl0YvZ7tLUwnIc$igR^W~#@HfavmT!i9o^byn1yqkY9c zdJj<=>Cg-Jv;7Y^hfa6<+Dts#7O0;vJMkwL*>AwF(yPWC|;|IUsv zj0XH&7wsB-B7;IgLw%z|s2(1`wKJIF=1TQ&rtx%Yq&m}_j#yZGxPn=(lmK5E%@sH> z+B;Aw_V%vc_RbXhgH$RH6GvAEGXakfzG<4h6R>%7wCCD961}b6f@#1u(wRoJx3+fT z>F{W6>tyXg3!~bDS*{@giw={?oZP0Hoo?P~d3l?GY9lb|F3_2-x=qQD{L_AF4Mv0N)_q zroKKQ(H>zD0Y0H&zFgB^9}hR+K^h$r>SXT?{Cu549eDZuIs@C-gZ2@jTt8sSAAZ0@ zns(4?*k2eA zkNv}V*vScu`*4kkBY^R*cTgCO;uBBt4)Y1h5Qquk%U^WU^-bdKO6;3N3l3UzEe7*w z!HcfNVF5mi*2H1KKK8(9H#&m1VR3Y%$N89u^I=@0-t(cM0Up4$n6~Iz?Ck+ebioPn z0q(an+EQM|-U7huIE3Gu77*${2@Z>n0B*-VK41w&M?^Zf9C0%Y3INN4htY8mjpj*P z9QW`J2Hw44kq%C7-T}18n1F~tP!JbAj(K_@ySau1xkg6-k7TN^Peddw60BJ&FpLfW zp1r=lJ`Nr}G@kazp1uLW7ET_(q8QjGQ-OVQh&RnOnBwUW6B+_?z}_`1p0{%{8211< z0GyRWfU|N8a8`~4_QX_>1Fqga;5Gw{x0g0mc5-r!i1Y#af0!-@g@Vk9r}zT<<&5a) z7&oq;@{)ebA$$>wIpUK<3l9q7Ix>d^1YH61!f4*$oP!+jbsz#)>}Z~5%wXK(!ug2v zkzoOzw3zeZz}tE;2f|_^BYZu85A$LU@bYO65cF;f4hy1%Ik*Dr;piO!BL|zCA0XqRU(2EYwt{?#-qG^#d4^M7CaW9Ogy)#IWU`li(uz&XP zrA0>5B0v!jqXeG^Yr(;X;%e;xe9Cz_KRW=^XfPfb31$Ij=;$EOd^jx{Zbt&Aa1R<4 zEC8OS(7s{eR4_lc=|3kM9U4)aznJ-5G^-E|D_Gly5)xGUkwr9&Dg`3 zS2eznN80G|&9+t{6rMJ~R>6KsLUe(X`>l`-kxKCkiS~MgM$Ev4R#BM0$+6eEEtF`U z4#C%aVCPN3?x%=*QwJ5j=Sa+0RmYF^Yt}j5H10E^#5!i_VR@Pdx1W7Mrl5#-{9#+ ztQII^hEvh|8qh_^?7c1)+iX}?lOvPbSy&L4x$qKZkQ?@zr%~}Kr>Q%IvGK5&{Y|Hi z?9QlhGPEihpVzfUtfSjjX=k2}MjZTi596>udl+BR-TkyBAYAI#-HseP{oiN9LL9fH z#SdP)lU`9i#<5ZZycnML#>C3tE8;-{$=BgWjbnqOkT{+)z^~~uTD$m}%vpVRf@R_G+ea))_(FM2{?{(%y zw(WZ)B)py5W@g)9&%?lyXf$nvVJ&KkBP_(IgU zdH7aM%2-Bcgc5Xm8!5ed+s$JK0>=v0^YqS__@G0gT~BImhBq|2NPoK>lu=wSqxr61 z!CMFZ*jo=9D0qgat$vJ9xxDUq`Ebkn-V>2?_f)G-3ja9vUavJs@WAdJ(??^IwYKtf z+-G?y=GRXJZF_6vHYV#nXurEO$?&(SOeujOHYNkx8ujbebDn1W2C2=lHZd!Za>kVXn48`Jp-g!+{a z@~dH1oEDz${x<7&-~W`xL7udlx##xTu~hZ>sBGIStFhRo<98Fib1Y-G(s>&HuYx$t zxF5PO|0ScPAl$+JzOmk?y>>+$6*Z&ZJ8T|3KEpxi@MHpb{xH?~WThtA*Xpkm^44N! zVvr3bO(8wXyIrQMqb;b!DhkdM7ckd*aQ>Z45ZQ*U(19B4n3oZLZc@BaZQ*V2Wb`Wd z;qbt57oH>m1fQJq+W1@69V#!jYWO5eOkLPwZo1EUdxkpQ1k&+EYtEe`sok7?v8i!x_iA{ zmiwRO{%5)WS?+(9`=90h=fAQ40UrTetEujr!M?PG;$)>J*!*uNh*gth5tCnc1ezSa zZ=UxPAV57|&tk?JIx5}}*p^nVKSM&H{A{6NmKL&JaUnI*m~t>qZLS{eec|B-*4O6LUFc3O|mO} zvAgaG|BM)yRCti|E%pL!=xvfKi>TPw8B2C&Jt=W1XuqYe_mdq{`+l~ysEvi>(3uZ* z8HC!)eSLP}nq18_@=7NQae?M}{sXg}whAAQtPql^trTnA|7n+|MTPtE*=l)tE#HqR zKSzQ#vECTy^j%fssO~=UF|&62!pQ`8t4K+OW>0q^d$wz-g1IWkP*1OR&4rJOCg1eF zPV5iFZx?>xek?@p3NuSqKnJ3?Y2x(m#$n=GVY59CWF_2P6#TlR#@kX4W-FVG$^S4= zJngQ!#r#Cgnf#WT<{`fRkDYPhD)zN2gtmHIyQ8XB&GPlIa=Y{S)^=}?;V8Sk^?h-A zku?EFk$iRCP}pcIyS!QM$FJ0rnb&h(U1Q1%tJk`@D_yBrJGFk*hg_>XS0Z1Ubjq1s zo4xOuZdb5$pIw1g{`$GCdJn5C>N-l}h(b}Wxuesh62>CKIE0-rEmC^QS8+BUgPDvrIzfQF)s;=J!8Kn*uyhrr z!)P)ao0Tam^K4Wxq*`3X@-1r5JUgb9RDm*dQPbVa4w9Vp#i}<_jR=s}))`3+3Tx7- zIB~PB7oevdneOaB1qkb5_U5mw-)&y5%&f6hHL@Fy;~aekfo0=?bc5_ zHKJN3TeD@$;i2b0?r(|TleYDluW8Ci4C&KzRjJ@|<4V{SO4z&6t1b=m9rcn&x>y%= zzP_Tb{q-dBbSn9wyIC%M4gKH_J9C4ZBX@s2tu(eed092}EGLR{L7Pv-=C+5zuTxVB z`Wywe>hYr4?))oyR-z5sB}L9nE8g92R@?lXz3-{;hMKrkFU)=g&TB96GM0kx>3t)5 z4GJu&uPa||2(n#ZKiq}6W9YAMbZC4|VbrhHJ(I!mDk#uOtBVm}PyLuq^3>dLK(#w~ z^2$4f(DgrE+#l-99AdGEzc&^=3;)V8dQP0aY8SBDhhKZ1O|Mk-*542YnJ}f^sc%V9 z*r!jn=lBsZ2ad;46+Yq1U)0z|weMK)(w5COy^q~Cz3zmWwL)LDR zBMzx4Ol;QEdv4FOJoh)NNc679=V!gJnZNFA${Vw_5 z&m4X<;rs9D!ryBe*X{hAOui(ns6TJVao=QlUcmm-;p4KzZeMYTt%zc*T--&LIpi_A51Z-3IO&p-=<~lvEP%knfd9CcPcyO*X>LQ-%<8y zVRdhQPy4X*Z!GKGhm$8;MUl5SbGPTi`}aFkf1d2nDcGCerZ3X%OKDlq=ew;Q($D#U zyi&tBZKHp9O|fvdg4jm%N&VxG@$Nr^tE){|h!3|Uirkv*OnXDJPIhLz1}%h{`>7v-Z#rjg?x*9&{m$-cm`^r(ScFTYK z7%P=~qdirJ9pT}6Pby(&CS zDYa$&q-;fHUxJOo1S{~g(8XV~LhkzKw69)ZJ(ks1a95j?IfoNy;S)cpdh=51tma0O zmvO8`!Jc3Xvo$Q0y=Pdp zebqeysFNnqcNa$b)^akV`lK&L#|Zl;E9A)N)s)<-Rc^K^C9Qp6^1bF$3n8AtncUPw zIlb;py|SoSl)`FR_Z2;cd0ryZW}k+4E(l%GPcfaeR^78h;WAn3=MFc$kD(V9cKy_Q zGAW0Guvi~h)4Si~-)lVFaTv-e`)O?Pl|?v8zccZQwM)<#BOs>78UikArK}8hn%QMe zz5vZfKfF)Bk<2QF5%U)&b6(Q6U7qV17*2Lp;M{$rw=bBrO)+%aS)+HJzm3_7$Sam? zsrTzuqxc&ox>V1~yR(MQ+@%VnM@d)M=pFiSbpPYPxum}SNVLo=ZO6S`oMILSHpJPH zr&@N`n61&$amu^cowY77zdr){-6PLdwQrojPC&NmBUvi>Y-hJ8Pvk$jK0j=@mSe_V zo$YCT=R=9NZL+Te=ak-&^;M~L*PNZ}qaRspmqPD}^5ZCU)a`gQu;EGMF-!fSTw|BV zPkOhu9(V68QVo1dJjKfP7YMp0zuf;U_dm=1&vO5>-2W{1KmU#W5BS9Z<}0B1v@+Sf zb#=830=3|m0u}i@=_G*PkyF*$!z`~VZv=pV9su{LU}P{Fy1L5qOBs#zi(nE4KzNjw zF|IHg*(~sCYeO9uS5om$a7pXpcxh_}qlwL|$OjCe!n#&^9lf!twxKYGp23@GQk79v zRm&&?vr6k2RkgK^^ip z3kw0MX{Za(URbRxW?ea*SzggtTV7tbh`C8n;3xcQkwsFP?n~qMrK7-c@?v~yrHV1 zylIft04@fD#jIT>Syp|@gv%^ z1>-%v!{dXkj6v2Q{n?YI{?^9+-kz~%J?up)7OUq^)U2fcq-Jr)d;0qa7!AEWJx`u> zv3q(L>{=$fv9*Z-4xp9I8>rRVHQ3PG-_8KZ*Hz18Hnuj_G3X$pdg$d0z|x|Jmh)n5 zRRLsEetCZn6Rd#p+Cg?tRXHQ4tPuRms3>I78!PDf6}&NA`Q=sB;JV+)DJ`UzH#L?O zvich6jqHljimpaFy`fQ{yqzbZtD?NTsJykYst3GpFsmHUk?Iz4Q$1a*#pF&aXSBBS z#CNr}GQoHgShBT?^ZMBUi&e`8l(a!`5vo858JOfv_UeBIj=s0IpHT|{M-_u?_E??`N^tU@@?28I!e)o>unP;h~{Az_Dtb0X(n} zzAH-;!GNNR%?9IO9kA|}qqm32>?yBfFTUCc>Tf-l9`*-EOpw9flg4EARMd9$g5d^m z8rfaFL;d{~)rIvLY!;IzVT{dWHi6x;dm9;Dtp35CfeLy(Sik*4tp4`KhQ>v>*nhys z!u|vwtFP-}*A4a$jny``GWrKt{b0d@WMr^1LL~rQn1Ld=> zkiE*Uf1*NKapkN`}u!@mi0XY#iFNYh*jHF-&ipOQeXh^z#2gc z)G=DYU1p%42hWU7uj?OZZD+E_#)g;-uy}jGtY@{YJ&eUmIaJR@nJtMrTYMvniWz1f zoBfe7S;y#MvA=DObC9N}`&hFUr&i2dac23b% zL#tbJwMNw+3d7bzJiXSr@??E!$Nj2L^Q+%hB62V-C}Z7$^Rdx2$zMiCdow8KZmuSt zluKX169Z=NoaVW%O$imD-qOr|;E*dy}2)I&-Vj6pp*r zn0`WpH*ze>#>i&(tj=K6u{&D$(cPv+*V>cE(^Y%3bsF*r9!CZqLV422;IF&8)@`b@ z&fcmavavevw^~{{ZC4z^H@a&!YV(Z*w`&u6JV9kzsUL4Ue)k}{e2kL03JFv)IASDh zGg`A&$?2icYSzTXU)N&)o%=}rGxxEEZ$9oxTcnNB^nNW4sisw#Xehm+Ch^CQ@yysb z;+u85i(+{qA+@F}8)VPNN<%lJo~@3ZtSIWXx*m&=FB^l9r3DYBQxi=n|3-@x_+PZh zHu?6N+11B4$Hf+zHvCL`mamTfiLgT*X^d~nMA)9Pb548D6C`OT<+@(SH+D>iiPOsL zm&n9eo;46TY)g(ocrS?BowB)2GUv&dEb8AIy6JJ%%SR2L*Ez;3+K8)+7?0X13Z=ei z#TrH1jh@p&@x)J#iif-G(F!11-BoEf+GZ2B>&%T{L!+`flh`ZR(b3u6zon2o$&~(M zQ%-7!hgma-4<6r5L&{6j;`ZbU73m+~wDvtU+mk$y9mx|~so|y6bfzclp+dxq4cS_y z--YB~Nv9R=(v3ec8;EB3SOZ*}vVk`9N04fiAe@JETi#e9Sw(PWTA0JgfeYGO%f4z0&Nx^h{ z&_3pT>{vk7*R`L9o`l8520p)VynZ36rbOEG8vBqX!5Fzsl3d5@;V z59z>H<+pB~cYUNw%`Vg4y`xx&Q}93ROx$0vGli-?8>I~tsD@z>NL%Teid$=)MD`r} z5%(iedi#qnf>P=8{XDUnnC(9epZ6N{2d4k*uJ(nl@3hC_pZ2C>@Asj#3NB7UNBtyt z5;vvHau9r{pTw#yG-g~#C{+_GJXC$^_xw)552=aHcgj7xo-6$e#<}`GVVnh8_#Dmj z$2CZW+c~xx+k0OLIqP(1$d+;@(pU)olL_f39`odMzSa}nu_;Z6;=DZr@fKqooA!fX zG=zO*tMmI{&H2sJ85Tw^JQ1GKcJCgVNI;DcMZ$iQ6`Q@xnu=F&5T{U|C%b#E7Rf)~ z_1T0c-BauMy@f(o>2x=FDe<>K-MEx*HL>?Dr+H`T8%FY-pP0R_c#tRfQwD+1M1*xC z9zUT4%NOpDUYKnV3%Ko`siuCEK(lh}P-1W7$+r_56`UDNK5KI*vQnrqR=P80!B-72 za8qvRkt2O8acjDGZVgXd=r8{F=wHy8n6b?Ts1K5={L*I-(m&Q;KEbNV;EzbpKmVgw zktazsU{@LOWib?;B|VTXdQ@!V`Z@=r;6j5P(&^E~CNESTQ>OBHLPi@EQ@hgo{cBX< zc3KGc*q4{QqL%xg<^E^6|5@&TmiwRO{^!53{{bHXy!AWpo0!@Exhj4tunMxN-&WGY z^r^yJCC!d}LSXmVU+Y)RrKuGD;B>{*jk!Wfk8h8;!CKuX_P~d&Z1b%oSF-qANA$@X z8GhH-2?yOs>A$|^ZK9Ug6{ABk;rC^$Ci;o;sagH&^CyFml!EkmpEm zYMxfC_81>~+g=6RGr=;UBI%hTer~M(FmjE=oBiR<&tGm*J%sx1_USqKhv*!bGKe0wz0GMQ1Xn(}qO*HG zo!k*zl6}SEf%l%0J{8l?<)Qoc`Ar~3Z>3~M?=n6;a?HqG%7K6UeEvj9KEx%ZwCCAx zKB=4GdbT#?>c@Vid+vuS9ew=ySq|j>ukWMYU#BLb3#>~ID-unLD@yR{bM^;)Bsho3 z-E2v7v~OSKk)7AzM%VPN2ZO zici3J!FXZVR~P~-E?f)z2cNY{a11d1|2seva03YL#Qfr^xBd= zezt}$h3jx?Xvpb)<5Te_e!?n}$~~6VJsS>x$@^{x@tcAe`&E4$4}{43^UGpA*!$KP zRr`IZw%T%6XB-xl&KgRm8q#@H4Fzc^p#oPOQ22h;FOD00cREO6;iw*)erN zr0l!SCb;XaRE$8xhutpd3p)2pARBKJCZ6A{l=@f|WUC~RSSq)xV4L5)5{;7iF`eH7 zPYSB(>e$Co4EqmFuuao`4_&R>gXDsdPFZIdH$Gl_@2f94c}+1h`unyn{aU$q`FF7^ zDu;^^ExT1F+A2ETPJXZC~6I~Z2B|Fxl9B1Af zYhpA*~Q*wWNn! zvppQM#Za=^%dgkZH3mhJ^K68y_;`(2dan9zuaNZ{|H!!r)SKS4>KVey6@Kk6I0~>S{ZF#s~6k8WDDAJF-y4tfrCX#_)O$aH!L>pgrR8#URCBFteX)(b(Qnx?qS+pJZgtTMl zdbviUtzJofM#di?TQp&oug#wvjJzhvEZ*v+L9wH}iXD>Oq%N#S)7Y82V@)q!?#Sx=)poA)`?BZeDeE=A(hs3hpYE$GQ5=zsvTm)2QS)j4Tmsnu zpS&6^mBL0pJlT21Ny0??kjG{MVSC_bNVq1yVv0%E?8I{mc3t|lBhxDmjod6sjK*#e z^hHC;TV}qw3Q-{gMB2vma}vtWj5n2*@E!R)$VP8Akv0y!B~>Wm=6+(}eRSNpPjU`l z-yx4T$x)9yDd97rM%wtPN8_z6E6RwWjwwM;kINO|FO*!N&1^NC;DeYbzI;4Qbq>0* zQg5!slVSEEW#&N7=J~HZ+a9Bxtsv`c zAZ3P@N6#TjHz!5aZ-ane(_AidP0HR}?Ka$2>%Z58hFcJ^By6)F5@exZ0%r+UhhdFn?9@F*JE_pT4B7uf{ zuUYSDKx<3eU$Sw1-o}&iQTMx2ecpQZp1$dNaU%LiVfM#o(In~*k42>uH%sK6Z!$?Fq)uBKsmbm78XrKG4F9Ts-NL-x{qRk!XiV z%J~zm?M;ZS$9#t`&>=5x9o+;GuRE%ko%pHlyyBMEB@^1}mC;*KdjdX;R%_k}Y&h@| zHhtJi;r{mz`(u>%n;f4oaY#Ne$x+mc>ww(N7ksoUt;C!$TejxA(<@=Q2ZM~zZIFGH z_vG*s?_m&=`Z|YqN^7&r?p-vw4{=C-e#~%k#d_)OSMQh*kLyI;@EBQpzgME(Or7EQ zST)eogb-Ul;+(V2jj}I8E@7Tb-yJk?CVf@Or%#GOL6T1=_7A+4M=CD&Kg<2ka{sg3 z|19@E%l*%PWBMR7;B}!8T}iYy7Nah&ssvR+ z>cWsP6dVC?!7vHlIAORX9F9P%0_ryesS8ISP;gZ&QX8RdfIz?iNf=>_=1Cex;QloZ zW?>eOImrNJpo_<1jR7ZI69&cF@Wv2ht&K6dXbWSkHU^Ey8sc!eBtvZ!3WLF75r9C9 zf@63RiorNcNf}Vm!7L=gKo^5SLg5&wx;6p|MWUf_aE1YXeQA0z5~?783gOFKyaaFq zbtnqVL&%^Znpg}90fS?-p%4g+C)yaI3WK09#waM5g)}rkBA~F%C?y0I10oFrgsPG% zoG0~I83KoZOOJra>O#OJ1}7c~(9`NrZ8#LFy?6u=a0K-{h{zCmZEX|=s_fc))P}Gb}lT@7}-Tl7T{9NeK$hAqIug2B2{a!cg0Qdo{4&B*4^- zZFrKDp*R~uw63lN7Q>x|#bZ$RhM#hGETINXw0dNj@)TzF&CLnK`^ zm<6{m*T(B=KxU zjRuFHi{*{8*EJ-eaCieWNIyda2BQsD85)K>V2Fc5(O5hnokMw%?%{tPN06|Kvt(42 zz`tm9Weg0Z4wqMlYakIYSs92j42nWQwiy6!He3M;F*G!Qqo8nkC|m=9fXm6MD#4)I z;Ft}JQ7{x%T~*x>1%siq1)!5kP&7&dheGIL)ge$r6atPy!Qe=cU~srLN&xyo8LEqd z8lbhc{{X>55hxTG#~3KVb-Bp><_8EMyFjuVfHxrk8^hsASY>TpP=fv#H#>mG z7=T$g3<7P5K;v|=Cj<`6BLPER*V;e;3w|VEhqlnv#Tgi$I6yi8lh=fxZ3u7}45Z(u~O&E!Q zGBd@S{V@*y7@%-a1O`XKaHqIC%1`>tFgIoX?UK`X| zaGYo~xNjL4D#K7XaK)fVZ8RR7HVo1bp$$ENGc?oCfFf~6K!wE_lQ0OZCW?EB!G%ZQ zEes4GNH`pdFtz~20*5;Qiiai&dcY8CMlir&wG9_jVDS zZj3)*sDwg;YltU+B>m?&NC70cl)6B95?t!V6hK>Jj13Ksqb-qWoB{Ta1VDmU@gM;Z z{}{(&|2a+pvv3%+!2xq)V?$ka83dGcK>Lt6!3>YXpfDtJaGaoGFD3vM0aaC(ML-Xb zQ08WMGXl;)8)Is24Dw_#0gMk2@VY2)s=!T3R~L)J8h|TofWs5<+M1w97@*MxiwS^2 z83>}=z%T}634zuHDPn-ffHjPOBaA`SSLUV&&JaN&5J=#3V+bS+sAhN^5^GK( z8AH(sBm^`Pc+6sv#2X{9he!tup=cxm+-X290OOjf>R_v2oPhshoP-4vV7j{C|6sME zFxqHioHoW7Ptr!i(YkmXVezbBP`Wr!q7k6npmdG*amP`*Ff`aR0j;gO+zl;vL(ARJ zayPWx4J~&=|DSh5eAoYPcSGPS0=Z(xtL^gM{w{eI@G2)uMB15iJT2W)ZELB6Nv~}_ z-e6^d5SMxHh#Z&ykaghctL>f6F_4>**I#5EB}cyDOp7PF&^ENCr#*yC<* ztMrk*!>7*mL>w)WCZhw~rE%DdldH>$%(4u|#VpQR<&oQgB9P-TaAEZB|S7pcYnNF^7Y3eL!=F57R6<&GU#+^LA zI=E@9-&inmO%bHrwxg+;xY?x#RMb%pz8p(eyD>k%v#{B&7`CP5c^`^|I`^H_> zoVTfO#CDu+_Xv*Z{c`&3KzUxz^SxhxhrPbidh_GzN&LaggQnRm(tuOi(U_NXe$O4` zzI?U)VrEne8lj_#wDG>Bt7+KKjIBA-H0PDXDeP;-kMrN zt||Cp|MX6C*fERG8~x`->!xyJI0$m@uDrKRrqAfM&h5VQLwo6cD+@bLUG?8;O5RHv zI_mVuS1kF_!GQiZiHy>`-o|LM) zQuuUWA}3AdX=w(z+@Xzrror^x=g`*+P7SdW-a@HalHEsI(RY$!Z+cw#NbYP&V%?I- z(#lF8_vPJDU%7&WEbwn!S&~9>>9}1H;qFg*l-2Rx>CzL^bz%bFGqx9aP}Q>Xq|e{r zc#4Jla;S2K{&@WMIQRJh8M?8+cZeeO+(w%^#{Z_fCkZ_-Af7yEX?IkX0Yv zJaM{s*s;@6f8gys6_0yaFYg3i3e3(I&zj8=^#2{$(eMT5F^%aiFbfH#H=ciy@NOu# zP~SGi)impJ`3`bR(`0Q^S<%81iwoYQlVg+GKBlitf8MAvld-<#KV)g>Vc_FjT}^NP zDRvCe5hF(1mXoug^j-knIVrh+lroxJ^Ko$7;fPM3pOTbkkr!u~C5PCNGI5TZ&_8mI0F-D0cST$j(|z>bb)XXFDtl-q5DfT`kGS?k1jm z4GW=VJ^N*o#}{;ye%UF&GO$a?G{}RTaY^=$nwzUeR;8#HaaKcfJUOwWyy&*&8M}cW zrl~tH?5AW7T>g=bh9~)QEoX2=o$9YE5jHtlQ*t+RNNjP*J2ejy`>uyReNGa&N%iN@ z45cMnEE8{cJ`&3>IZC;P$i9W1t=29kBNFd%=4E8eB}n=bk2oGLvUNDfz6Wi}d7Lb< z-A5&V^p3YO{l%oZP5O|!=cwR%a;-sa1X;)S*Qui@iKZO$+xFxlX7KN@vGg@PcMN^MlRp^G`{jOn zYI@tXh*XZ+UgUKdQF@)fu^W?Jvf7frh+Jcp#kVc_&}znt)ZG?k^*7F@TpiX7($d@r%vyWD2ZpZ)ap>*Fuomk!W(T_)Z4+fd>bcY*Xhw=4TTz1ft#E$pmW zhS-bdGVY3oc+XdW}i?z*j%RD)ynOkaJL$F=YFDfPBlXUSol5C^xp zyoQTDrVBO{j&=V7Dl?**#blfhTYc}viNMKqY?7P9x9!hQkuHkHk>60iJvcA6acy0^ zb6go&-l^kBbr$JVZk=iAFN)3s@=<wG zvW$iI{#RSn)iyl4a7d<7OfM##8fuppb&<$-+{rDg>`OOeN3z47qZg-Wmh6(kQ)f4K zo$YK5bazmnE9@$AEMW+)*jH8Z+u>5+QM0sf-+Fdlhq4}$JX3Kj78T7;ihgU{y#3B2 z40Oe@HnTc)zENYCD}3%WnvWf~N0Cw~?FrYY@> zoPyLFAyfJ&dEh-K-o&8Ll*DArnUl*;Mp&9oc*~8LWrmY;WRgw4Hw&e@)7_==DWVh~ z>GPHjB;P~H-#N&SS!Cxu@f-6ya+Y3lBdJ>^{qyTxVtPOL=OiSwl#Sr85Q9Br8i$Pgu{D$R2j5@5H9LRWd5GM2o}jW%&mBCVx0} zN3SvYOpGa+W%=UVbB9bH+Est1;m_Zd_CMz#)s+(M`?AeuZ&Npusg1%93bT`mowu@5 zTJOKg1nwn!?F&APEMI$ zh5bE75>4DHkhet z=>6o{Jsbye-O=qelZngy&vO5>-2W{1Kg<2ka{u$+*#Cf!0FF(itU1Wk-c|c`=BK^* z#3kTeHvR4CZH^-Du<7B{T9wL41NabKAt0c&3Kdcp%Y#Qz!2rF{Ex`CZ;d3M5Zd;#qoak*E!wtlnthO{RM5s!oF z9;sy%?LxBG(*s`SiL2-O`>_KZ1S@6Bn(KKc2onlDWJ=v|__ zHC%Jf6RCDJW3U&RyZ+>jE2CStxL&b7t~z&bg~d(@|7u97=dYV;>%^xjwsxvL{NTbU z88^TeKx)3v&1>4gZj&+;9vl+j$JsZXnX*Jr#T#ub{?TYKIb~+B9VULmYPY;*S=gsRwjRzUk8&KKP)-evWJsk5Cmim})U0 zo)Ujtd62JSeWi%&z0*@h8xHG%B~msFBUN+tKyXxg-~Wn;^xDKnx%ZnDv+ zO*XYjn;I4k-AVC^QmGU|O>JzLn%Zc}h@#vj-It_W-ROJi_5OUn-+z98{*L2!{NDah z&*%9#uj_eT=lM9#>ycy6Rg1SMz^Xm%#E!n^RgR`^w6}P z#s(M8*K~|NzH4pAY+rw1Brz?l^*c4{TAjza16>6U#3b3ec9w6XXN~< zxr)BZrzcjd)>}*yKHM!g=qW4Mk@o6-Pi(k@>p(lS+sH5P#PE{Qa>>yE{W|HHQRBtT zBAcPl1?cd-J$mEjIo*4DqTXD}C^^x?EV~}czi@JVnz8?*t(z}7d@k7i+`MOC%}xh- zEi?a>$N1Ho7e5(q^%AvqEWoX)++);&x9l-Sy-9b7TF*!JGlO?}y!pO9lsV`cT(jY= z&-jRKUa0X6UDYrpiu*EW)9q02c1WuY#eaj|jNss$CsJmQSH)fZAvWDmG3WHY2Vebu z4Vp8X{E@+BiJT917jIoU7#xQ#=Lf&+9Cl^g2sR!vy7eURqPzY-Mnl*w!=J0t-{+MM zJxMEHa?@70JwDVZ_$ehdC1f2WG1%zbkjYS*GL&|gd(im&-fcxX*+vWIpJd{ZyGG2f zGRX!;@nc54(l+I@!=E_IYF$9?)y(oqlZ`?+*_ z*N=go_%vqeP2-2&l{q(tQT@GFex==B>Z%FIcT8$}oUw_$w{qP;Ol9vP=!p)8zTP@}G@%#FfdAHBJI0wfMmu+>B-j6zPLOo=>TZfsW+I*fqP{XJFaH#xj z&B7mBl{a-{dY*&v?BJJg`sb)h4i3lkFsqKdxHR+?-P7Yyw`R23e5g`aZ$mcIc&CAx zp4kJbgZYMQ{N)d8=nv(_#zDWyIS;4NjmwH!FV7nOhTZYz`zwcXVf%07u5!H+&#E;l z*5JvQ6}wG8-Dn-9oJg71_2UI)pw`FmoZjXakB2CWPA=NvopYUXFdl8?rgT6xa?@6VVg;ulhe zPloDpPxnMQ_%m032V5`N@^HxTQmCy%*Ag>4_Uj|>A2a>(UX76b)2=c1?AUkPaD1@? zg)(gTj@e~2)Z=iq?Oat;=L7MA{=o(R3uOzXNs1wG-{cG>fqvIS;A2Gh@t`1Pzh zSJu~~FEAQ%^j`LrweC&ys@&;^hGK+GP^sR~rIkT3E6)gpWs3`Y&Sg3*6);<*N1t>Y z>r(69$fiKeSH}EEZ0RZ4ee%|!A4X5V_8k}Y7@2Xg{BumE4zsRh$v`L~#Xz@14}aRv zSj()bgsbSmnAj&)ca^qAOr5mThI-6(4jal9dZAg-k#}FvDBo6W&yWRQQ3+qkr+TgV z+!CtI@axfY*|5`Qgn61jzD93)RkqG9<0x0-1IBQ}yvqGiWcshlU*{c|^RsyGziv=D zntK~Ha(=$vTrS;HH+;W@3lSPDxU2V-sR!RzIVi8JyZymf_~GfgJ*OSU$0J7Nk6V<; z68#agH$%p{NAMIEW|q|0y>q7D%`)9fr}u{I85p;q7cyIn`yX1~7*Xj>cb^feSu^sB zzw6%ac-pyO`u!ahdOa#8Pb`19wQI#LN+iQIQtuOVaEYITS6$_PUa&cHP59Rx-RMdE zGpTk1Yi%JdSdU99-{$DF|!WvCuaM=w104g86l+KL}6EN9~ zcs_$c52JG#LN13+6~?E93Rr9gi^pIvft4u)&x)po|HZk{R3Uo;k7uyijA&{So1c&_ zNEW7WV`J%5!7(9^%RMX<#Pbr;laqz}Icx@`%$zn(I=z&3@EG8JmWbhMc zGzOKx|~HsiC3tFcvSBP4!I(V+wf8iTQy~a7<7jH5x=dG@KsF;tAPQ zFp8PN=f{SItz!i;{(4698DW88(P0TGLPn?$H#1MGI(|M7B zfmAkA#G7~$3p_X_p3g~3P7x-v7<4*Km@VLd9HsEs6FC&53*uSPG+-6-6OtLxfF9W? zTyDZ)0guh+rX?o?;aH-C1QAa}&&pya1mU^DEP+5M6lIALI2pitI4hnTh+_*60$%%a z|Kflc!i<9e2cuY_q0}@kJ6$NuI-Hu!4hy96Q@IJpglXyNT$ZjdJL_<=fDL?j6RV@L z0CV|5F85e!T3R}XB}^42u;_GQDo4QJ3D{gV2W%igkiinB^Ekko!r<}P92Pe|n$8Bf zNJ!=|>2z+2h$T$pbHUgNJe?LD3ra8udH^+g0{5ka0X#mI&SLFn(OCjoSY$GrPG_-osZD`YE-PBdVk8J?p|pvt zuvzqICLj_WT+yi1AZh{|;7pEy#%2Q+GpP(NCpCpPLGD~Cmz%^3jAjXwISeX;!$}t; zae!AmkC&WEWw2PZgajTxFgjkC@)zgQ>7XSr1b|>7kc4Q^K+=x@N~H?ZIgDh`vP8+r zS@geF9xsd;9YbfP9R|A>3e&g%XVN&plm;f}Bnx@594?qGUC04VF)JgT#}@!AA1p$b z-YZNK2?E&(bUMJffAKUPKba$-2Qb49GdM!7AYV5lMW>h%NDocO<|ii$j&lyjCZzIH z@-svtx_@ja=U93)ogN!Bf%B3D6F3;hOQ!lT=t4f1Cpst;CUdD223?fK&Jv{^6s7_a z11tDz!UrsfK?|e##L`9StgMW*ETM1$&q`o3c_1{rR8e{whs6Q)#pQ6h0GzNUPgq$D z4l5RPHqehkIq@tWN0&QAm@GE!3j2dGTp z;pBK`s!+sZB*(I7qGUlkE};8Qa3BGA=8Hrbv48=bY@RSBIgfLM z!A<2000T1qG9ViiDEM}P365~HdHV%|zaB!qfJR|P3waz6bHITFnh)TuDE?qpdKM_< z2@Zgrvi{|OfI$tTQ6_NK!K}2bbRj>UmyrcdSN;SCgc<2+2`mt-2@WI(gvopmFn%g% zNAa=XyiVe9lK=+*&Y#M;lPnbQgfu2!m=+l8`7Z&|(m|>N=|mon&*G$KB`0$^$vk1Y zFpWkJWD>!aLqlo&AUaW(H^kzm9~7j3hk)r>pvakk0BIs#I*%1Up(b?dgvpGIv~&@J zlK?2f2WMzJIB^+3K2U>LtO+tCGeqeC=O*yLpNz1WG$A87OC%D~xC~|}4fHLZ5cJ7( zAwzIbl#xQ^GA9lj&ZBZ+ltYtpXi^SM%Ax;SIix=+hyImA z;3EScbl0k=Fx4ri&s(0{ksQ7m9+JXPxwY9Q9n#0Q-8XdlS@&ewy3>Tj#U9rhM&B)% zt`12~wAGjBZeJIItWUQ+jL%F?Co6EB2OH2A|>ta{4Ofr=g@*`SjOY;>y&3h zTORjcx%tl4I%dQ|wXxl8h0W@KJ^QDgGh4cOhhL$AefS)MoikC*Q=+c!7TMJ<`|u#A zePE@feU;g!_>R&viWy|){%d>KnIc$EW@eQ2r&)2PDCb9#^PxRbglj`{-lCoTvNp)r z*G#sNd&S{fZdQmd4!0eW%mPTu+`jNz$c5T7^DZUsx>-|XcH(Yn$)UpEuVMHL!ne~P zC5Jc8t5RKFY4B>0>?3Zjs3^kC2+qeW%F7PhK_9wSnt2$Ov94i9;OhK_stu&F{xNJQ z!cY<}MHlW8A^Z=XGW(@$G{5WP(sa7%Gs;c)t=WI8?ePNf73koLf3T~c-s10HG=8JG zD8l`ZAO6J9(%i#cr?2HziF?~a9KgRGH|Llx*}C@pF~s*JoY(Zikbn>k;$GmGSIXcn z>tUbk$pyv&-JCP<&0d)TN95}xF^_!A1TfFLL%w!TuUrkuW}I)Fx)ugCbo0WoGke;6 zFMeyf7=pD9k-^0CvyDO|O>UcYvbRsqPIQN@&18Rf4>{(0C}b#VeZLQLHZ4GUR~zWp zGj%BB*0;mgk7QuAF<@ZVnmYyBy@)U;1!!$f-+6djlLNclyD87o$*cL( z;sETTw(SW%gH104U0Ol-bhD*qV+Re>R%Y8|7Cuw!H_CEO&)$>7h3UvwPpw<$Kav&v ziQH%)RsXsvL*5sasyz$qKS{irZt2C}?cVBnvc6(-GlVFQxV$rL{*D`FtJj(x^}g)> zAvun4!!p(4SlYJpX7~OX6Md5%tEg>0KD8TvQ8;EX7eR7kj!nI~*87bVo{%|b>a?(4 zos-}1_-}5= zPRxKsojl}*Cl@q@oQ|g=o5jpZw^hdrt23Y4eZT1T!1CZ{w@}^jI>alt5ZJv%&ePWT z%}dLKoec9R3@Ax?RuhROt)5k=k=PwEDwxd zerdA%-5}C(ymzaaXhY&JhM07=Znyhhvyl47s8THc#LdjGj91&HV@tZ@&g|G?Vr}*# zMs)JGXhH38S+l7*)M~I7>Iro^@C)^G;h(dH}%hvPj@SAHV2!VC_6vQ9^13u>!{!q(uH{Qp5R_!)bS6siC^!-a^?!$G3qIZ zlV5Lk@;3@R54oG2+<)=tc=L-{wW24p=mP5}^Yf;V$+gq&7gxhV+HVOwjur>)8Y-Pf zp4Jptn?rokJXCmN-FknikN0u!FvHciM|0be+e2Q|#eRweFOwZIzw;)fH?v{ujia2R z;7m(NS^v?UW*6Z1U@Oipti6@HyzojAVU_Epc1wUtbLh-=bsf}4$%w9B+f~uDe`@6lgu*>Djf^S-Ti!kM{b-|6IRn zG{nKAt#Qw)l=ngRGuF2-a;@_YaGK0on(qk8Lk_@Cp3S@&&Z;o`I{$7yWV6zD;g+$B ze4~etNk+}9qrPkX$A--WTf#Kf&8V*C%>@!P<;r}A-|w~0MAPA$_9yknc=GMX4Iev? zPaiudm^M?ycROU0)x2`7!ObmX^EHHyMYO@;%c0H7URgSEbM~HmJLXAmwran2w|-~J z=b}1f*#JJGG%32vdf)6ra+9%!hD=z6n6|R1IFj_{%6>L%I8$u7rFKuo#$lZU`T5l) zzedI$Y%voV@92n@xEv{2_HMXxgPPJ2K9-MXg-RI_J zP4hh4tIQQO3EwZPNt7`6E}M0W&fSiDx;FfR#|_n%H<`_QX&!ACnwOg`rrX#4E<2}j zCx!@)`lK$CyM>73&z(4aZtCC+_-TP~tTr?AklU>0vnv&+7(zlfsXOE&(_}%2bz_`J z-Io*kQB-!%teGOMv#q<5URA@-{DkW2L61CYS(RV-Jyb7q(_LQw3`8yd?TT;NqCyBf z-HV9HQGkkDLZb}dFAM@DvYrV`5rscw5gcpVNUnJ*g9 zOnE=xBYn1IHf8*pZUgPd;;}?sGBp0}S6pv>bJaVtCOCxoDMEH|VuR zRzLQ71+(evYp8aMG?k+p9{ z+i;xh!&1vzjOYl|GtKn`f@|HZUupd@G1DTxWgg^pzt3i>eQet9W^Rd7_m#(#G+lOg z`=!Z{efZi~c1MkDm#FT$;!~*>Uj`4Jwx~J1Wg0!mSoh}GVV@F7xb??CJ$*CT^?8bQ zqpr?DRdHLtR$E!QBz!#n>xp2Y`W=2%+bM^3`_+LT3uViHZ$A;R)EKS^96A+ z)`=~P`tO|ZKW7(^@Q+}t&8|56B^$QY>@L1lbF*8g9v_HUQ`>gPExm@n8L1<`2en*7v=-mA_&I)Jd*PX)H>Xurvm9lyakd3j z219eEk6Z}3$n??4H9fxDbup)I{c`KzxUYH`yDy*aRC}l^51c{Obf0j%upyHE%oZ1v z@0FrC@_cs1j_7&u%!BknPzV8 zkL?WbN#f~oV>JhxqQ+(pwWKl955_kU4)zVvy1DuO?Q zI|V(akzBXuxEl!}1MAt>YHuC4UhBSv+Meix^V@oeZ9VEOepM53pvkB0qQ3dL^#wVH z)NH)KXE^c}Je4lM9P~k6^O@-b_Xrmrw)N4}+=@33X0O$!xYZaBU6_FtRerNh%d*zo ziXEtRa}&Gy9CYWLxkrs8`M8OI^apkF%#O+^VPi@uKhY3=)8yg2)9yg?0Q z?ry`Wfk)#sFBZyuj}O<~?L!aY%Z1_B%W1x3ecH>o+DO|Dg#A#vAwm65mCgB~M$`AX zXFaGMMT=FV*ElCM$H%W0LUcB3cFl6+Oo^uov)%>Q#y!q?);Je=d9H!o+x;EuXw{#d zHLogJQ+&sL_Pqqgt>5lCR~=J2+J7PoYLvUe+&9g5WA_#tV7?&$|+zLCe}W7l=ik+%|zzyEPR zgll0$yeA~E54F^fxR=L%5q@d6tBx&x^oX$N!uh5Xt2AjW&gxlE`R)&K(3mcr@N;#B ztBT_))YnZI8vHN472jr3w|oM+}$*V~SSSr4d_cIh7*|EeG7z7Kus zp!$)yJGJ}iHnV*s-CH`w+wCv?bKe9G%X$@bG5b}2tt%iX<7>`i@UJ=~~1NGSL5 z(X6SNWpV5!!*kSAZIlb^Ba}iGXK*+#)UvkfRz7MwMReo$lQx6)!UJul$3z*k_T*R> znYq=JUzXY346E=pxKH^}GkS}BSlRw;VFP2A;k#Oz)bWY+4D&d>R^r8-v!4fyK3@4- zzrg+Y`e&i`9xJR*ZdvqeMXcM$)PuiWf4TKNvp_-A>Jjzx)$fYy6q}kiL9NF;YJ$F~ z$(tqD2HvP$r+VRZ=eeo7|9pEvlIcs86zbsZHwAy`IDIf4np{$bw+aq7QTI4@^-kXtCdG6{qgreS@u=cfhnN z%x&Yy=5>#fzGt^}q+`t9pd;5TKzgbVsU}6>Fkn`}(X#nJ+gH4cY@VGtR}Qm}WO}!gCU6?K|88=SWY;Pe(`B ziXH|nUxe{Ekl1eBEMM`k)2J^!D%idIf>+F=KCNZr);MjMebRfM9qMy?CiTyx{+ZN2 zllo^;|4izi|3>`--W0%nRLJELnOM=N(rD#!S-q|dyd_Xod|sk#Rf(lyg|bo8DwjwV z@>*#{afP_$p+YW`iHnP*jsL-wn#Ov0ag{P(S>MtkF0N22YKx1-Vx?Lk7FQ|@lnRX+ zSSNgdRazxeDr6H^jT3l9W4^LMBa@e&FBO-{8zpjyLMp2-Et2F*C30m&MX9(_u9SdP zNo2CpB3Xe%rIgAQrA5+wsZ^${1bBs9DXowwhK)*MetB#s9&jVy$8VZ;&YzGO4&pp>FKZXtXWL+FFTN^Gd5yDhIWi2GxYM zwGAv9SYLFglr1v(#FbXnsC+hoD?2pxQbm1Ni=w_>rP63*wQ_|*s+N|ORy4@FH42$r ztyHPy^%6ycRHc^4E94WnN>W-{p^$gCfM}{4tEyyTiAr3hkcq`|rC18$t5DRdL9`@l zV3mtO)Wl+7{hKJUL|%1Cw;sGDpb|@fN0qoKHV75wWWn)XL ztODQ)jY=+)$kejRiVA6Eg+#8FSC&>tDwG<4pKq+F*EBU&NoAE1Rh3vF6^k2`Vu`Gx zxL%8XNywWpZ)-#11Qp8yXaBO(22*ZvYP~Efs?Zs&y49I%ib%;K3~oYLJbVRuFWFq)Pir zqij?Twx|@U#!iigSM-$t5Mml>Xr=lHYiJT6|H@$dhvN>S)Ni0@K){Pet>tWyA%}_;*Lf| zhqkqM5G(*NQ{Ad;e5LK^>`>P0wr2M}(`XuikE*o=Wch#NtsNbm%6e^UYh%4c(%P!j z$W$6dV}lZGpi%Ra!?2}v)SG2S=N$bUuVzIOul-s{}L#?E~ zz73FEQ&mybqL4`H6}sZ4Qn6AY)hfV(C#>}{iJ~6N35X;CS5;zhnYd9QZB@vXnkt0? zuvjjZDV41)>Irh^ij|E`>QZUFR-=?n*gG^$O5oK1imX*E1LGSTRRC`QCHohbfT@)- z&`iW#APG{?Ksui_Dder%PNfVKt+=a2(<_;<4yja?a%r_h-Z2QGqt$l&#jBKHNQX+* zqSRQOUMi_*e4*CWfNvLgs~oItY;9`!(%sc9DXy(hzUq`pB(-IKJz6vxfP--UOT1i)DeedIr-hc7lMul7j zLZfQ!>Hwrug8Bjk2mDb1t6Vc-Re>W;^49b(CZk6KevRiy@38kMR+)zu4dWsAB4)PYP^ z3+lI{Tiwy5s8`g=WLiyaSLfqic|&7kM~A9IqpK8x(?i=L7MCjOYis4L8hKYocdty* zsO;!e)Pp9W0I61MwVK98WmUaWttpi>v}yq{D3#)dMs-V>q`tLH z1#pED5TI5i*T@>Gx?5WS0mSmw!IlO&=z(rEg0rQoyqvW`Kux}p|TfUIp0 zG>g{OZndlhcuY*usRk7YC?Hohf-?qGFGy~0Z48%%VZDkdhR5h`$4uJP}H>eww zYDr@wxCiB0uT}v1E7WZrT@6Z!vazGJv$0;OP}euMYC+yL6IX3*;2iAe0tF3P4CqCZ zVrWtfO^TsOF*GTLCdJVI@5Ru||3@hVJ{^Gg6rwF~8LYa*aMHQ;wExY?JfGP{5w7=# zgx$o&DEERR^1+Y%bM{ePiqvwqdFz*sUw9J+V>~T#xw3tTXQ+%e%`9rE-5<|vol8gkG$mX zjQg;}Db}vjcFcWW$+pF-&iB|^M8sBUB&fSf48N?I?)P4h*F(RmHC+GCzGJ!SDvqPw z>X_%mq`a^boW^|9AH$Ze+N0lEF}9yS9I6vnMQr|X>Ur5E#81*rSca>9Pi)?Ydl#N> z*|v>doxG>WAWm|rzd~%>&i=<`_vqdg9>d|EKYi;y(?$%r{9Wc*JyI&11Bu^h$UKv~ zw}fY6v*fJc{NA>U#}OWd_3_WXnHKun+-Z4%J~UpNn^?QFe71kCAm8xU)`FgzoXb<4~HN*}#lb%wI2Cxha7G((i9QpIizp?q2!n`Ff<^#Sr3IZ>zYx?kO*?{AL`@l#PCyd!+wrQ1=uvN$0i+ zHsa0VJd?X0tTq%KPJpz;sUph^hFBX0;E3IEWy_93Vv`9k){fg4o$4==>f}9#I5G{( z;%}aDw0dajn%UQX_G(^k9@8}6>)7wS>0*p%C@l|sEF%97Cz=oK(f1B3N;sDgn@e`t zefjQsIO((^Z`me3yaQpLVXMEc>N*g0 z&BeRt^1Jwqrkwsfd+oVZ^%u#kz|IFy`vn=*4ta|$2mTC+Iq)8 zug&nc_gV}W%0tgtI?bM6eesKQ(?Oo=Aw+_xxm$Ao#P2ig zUI^<+Ej(~uN2RF}T#Y&8a^mCF$R8}9n2!g{PC=5I$Zrg0h4s`J*wP>9&rlB>8$X@7 zb|XfwbH=wMM1y2@(v!?B>=jo7f4|Rt>eHMZ8(5<=cBt=8dYJ9=buR6`HLEfig{FEn zM}Pk8FU&mT^UiQ}S!Sg2$((I9j~aT)^Up-Pa4cpWccxt|bYGko?QHte<@xn`^Q=r$ z=wj61jLc`5LoqwgWFo98dm&p)r~2oyk5U-^&&JbVVp}pdR?W)2JB-lXbv3a5?TuA= zl>_U74&1S7s`)x&>*7P1W$WvI<>m&v?E8g?Km{re-zh|d?}&)b{b1onmS3>X3-qXM z);GB2dc+{Dfk(K?PSF1uYibg)h&g9fLT2wO70IQrV?o3Qt8)D8P2pQI5S-t0BX)#c z_1*AdWbuQDB?q>ijtKF<9V(g^k>~P|?b=k`SoF>xcE93?mQQm<;vw zc=bfs=%0AiNbnRz^z3s%xfqhS&8S^ypI7BlVyZK}=jz3EuXkRG$k*6P%hP&{_s4j+ z@O?sVENk*y8b(}O)ssy0tdvtS3kW?uUswNGgq&kJ<$b#lQ5AiC3u4T4H}TO@2_VC7v#kl$i zv^YBi@iX*-)FkfiJAL;vr#MCH!y+TL<(itiCmbi9?W+4nw&&`+rV=Al$IDMQyB&Lx zt&J%R_@<+OMfY{{O!G60@R67icC-H}*}-J^ERH zcDVkiAL=6EcK0%Wi@cM%OV8zg`}nX5n&6UNJN`b>KZhD}SDk~-&aD{_J^E0)*5c)n zXTiC7g2dU&Y$NYC^+rcU@y~uS813#83jDFT2e;P#&aNppUH=UM2`bv-Ws<7*IWuL1= zuU>IQzrBQ!xyVlcWxCLmWa{PU>T)Ul#d1+s(bvTBEiY}c=2=;1 zYXiRLZ=4Z3TBz@U8e=t@ZVkV-c4mLf`VtrKBImqEHAw5LMd41%QH89MRrm7EE7}Kg z)rcwEkK}E8)T4VF4_^Mr4VEBBJ5Iej6VJbQgIernZ%9Ez3f{WSU9m7%pAo%0AMqaN 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,AOmXG*Uz)-RH_#k975(!I) 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�~ zzW5h;$iP~knuwBvqN^%zW88fSOYGNNA$+ZMbr;}<4~cHf56}-8j@sx>Hm+EDiNC(ZFZnNLZLjd8L!*?qKAUtf#7!I7U{!?nSl z+UrAGF_eAYHS}f2kc*A1>PQc)pV#ng(z}fxbBj-za95UG{>Zr=8~nh#eEDEjic83g z_QAtOeh9mJ<$_5=gzQ^Zepi#fFX1Rw?C0}7&qRhs_Ik+DDhMer_k1s?&G^Kh zIEc?GvLs(QH^;?i)O*;XddCk^s`%R${A0XzgJu~$UktuI5ym$f!OgRLj=htpdA)6=>MdSg zD_)By`oTe#`=yUt@TQFkj)m4+*|&Jb@LvfylFk;-E3h`1pn*6xVaa1Yq8Ai+XrGji zIZx`SKxl{THu;k6yw1*1Q%SBv$s2ijW4X6D?dR3*qWK6AxUFt@6DFtwsHuberwkDn zmpVB`PA0kxo)hBXIk`*{w{Jwh_wr^7fsq}R`q6SHxDS_n+=K2ogTwWG9T{>DC1lm| z_oDL?Zog9=ev~sCdS{DLg;$e zjE6)MX!`laEyQUyM8^(=Y(E>y>uc`0QyKA_*uH;!D%W_*Ab6ZB^9?l$I8F16n%$;; zz}uDNhlci4?mNpr{w~{5wxr{5cv9mSzYiNBfqv);Zlui5{;O>MXK|v&>78deCzhU- z<$s%XSf;q$AuN$T%IEz9f12xtc9A#7L)pC_OGU==Ik-&Y3H%-_gt>(8mB@;i-t^nr zTZZeU@$;L{VG??m;P|yaln9UJv2&W7!t=Q=-^jT`9Lblw+U4tBI`L_;^EMx$Pq#Zi z>L&&9^?iM=KT@H$Dvj&V^MNt_^~x;=VI}Dl?YnMI&N<0>Z}@ntjj?=LuLl2(KC8*SODJ0`d0!ol3>XyW{k}tUETKSw%QbZGr&C#d zEz`zdOCO;4u0OQ=qRn+e@(|BU2lsXQ??m=YBOdQ9O8T%NNyzqX6xL9ie2D(K-0Nc%RPI>DuJ(J<8_Np>hLN_Go{&{lG4@c!w(MvmL@`Y@60 z&R>tW4c+ibt~>da_sQhrMC#CBYNU+h34CjD+`zr~hjjKGrXHI^!?5@Hy9j0Z3Ur(W z(q&MrrCx%Uz!rLO6&GQ@tZ8mFmsPZrL(6k}{i$tyo%qr``MZwhs)T_}&2^hwxF!j_ zyj~U)go}RP_i`;Qif22=jwU+Gz6INmIJqd;A6RoHpl@ z!c#vy_#Aff5!(2NF#@|?xfD+1Kc(eY-g(bYeg9;???u_~-|arq2HNToH@GK+Uyt!~ z#A)d7AaKeDvyc($K5{7 z0@vZ1$2CMJkPB(Oj(yvX={r0Sz4iVs=Mwd$mMz-vzmYu_>z~E?XR-cStbZ2kpT+v; zzp?&N+|9%GU;PsV-v58`54cT)jq$S?CHi0e^H?9}NhM>Qu|!Yrz+eK-nM81LvNo~8 z28NLccqoaoJ;r*GiCC<)m$oO7;)gZ1@*)z9jj>oKd%PD34K%7qi^2A}O?x9u`A_-3<VL6;qZQVYbz@!Yip1Q^9k&ZI6@+0og8pvES89~#}d83 zPOMGv1V(a(k|^7>y_p$!F%fy^T62YCsNMLsqPj9c-ATo*3 z1e7p}JJHGBo*GZ}^A5y2;h+R|M`5Qvjfjr$_KYM);9{fQz06P~Y7973243bGP!eUE z^71}S4GjzPB63h)N5=+INLE%@GBpr12hqwLN?>=9L~0n>lN#(9geQ|poSUizv4O(42;HsUKkcfCR-Dnoad7$ z+j~zkg&G|hM)sq422%aN<~VRO)X)fu8OfUiH_J$jEd>Tr5fv!sg`OgF(ic3UTWHjF0 z+dC|j97^%>^d#W%)F3R@j6`&S5`Y5DaPCy99|21sdWBLcUPL06LXVWA|-_RI^kP;_(z=m=0dd3k}>q=rQVnvp<@ z%`%cG+bc3PDDbRj9NsI~j{@2$5^AUTP!8NQ-VC%;d?=$AxW`0?MT6eLXs2K*=#fx6 zQSex6dwoWWQ5ff)mp6qP=m%b>UohyP?k?U$g1@JiKWHcL9-ssuqGwoiV4#<0AekCQ z4YkLa5w!fs6e}xxKXcrCV!S(iWN26f-qYJJG{O&z6YeCu6CMm}SaTwg03`s0lBuC! zKU6#=CL%Hj>qP*)jSTt~)(h`q10?{F{6Keb_riI3hX#jv6Fo^}q8F7)A>t_{zxf29 z#W8bn%v>BZ!HKXqWC+BPKi>sOtS+s>U7c`>;>~P@3?TL#~FGR>;__ zS>drd z0?-oa8?guYis;w3uXyUD4N&t$vAUs>&Akw0@qv>MPXJz%^ zsb*tGiNy1TIk2bCp#-2q2|^nk_gy&+pWf*C3U|rU#IhCMZZ@ME^z@kcJ17C@N(1LU zdDtp-T@)#5sM{c8swu-#P293vzHn_kFO&deW;nz-W?45Cdn+y~J~Fb?a%6P3nDh#~ z+CC9QGbjOw($__?St`6mcqV35==S){QI|#=xf{w8F0S_V_kt3DTKXNeldJL$HA`#J z?5=xQuXVjGynCPUDfIPS?*pL(AkKn)=+`9*-cf5fmsmeyOP;=K>?ptFQ@17lBisl| zjNP3cOs3qcocXBvLfHC2bIFF9BL&@iL@m#TjA^+-2|xjE{p+_0Sqkr}I!)R4S_zpo z+nZq6U~EBgo2=LfB>+8|as& z)Nsu5!tD=msiG*~(<_q?H0zt6KX(26K_~$z-1lY?F5HMWs%#pqQyAo z5|4gNbb}Iro_4*MafxpZcxm}aH)4crP0{QyNpw7UsQboQ*G?z_sQK(u?ii~mYZ|3@ z2bb)TceA_Ib=iQ9=dQCrOc#^@Bp`2>zV3a#DaY(pd zBq~pIrgMmQ@4FS!z%M&?A^OOfh^``P;f5sjI$^T8_}< z;cNHFTb_c?+9W{C)lP7B*_#J=}fGB%TWttxw z%i_Z!w&>CzWyL5ZMk#UJ0IuQ*e0A&xK@({kN&@R6%bzMc>nXQ*{{55x~Ufasv z=3rt1B>;U`MV(2H`rfVJQ+YibLFw9~5Efs7U3m;I{4l@}N&reujjFXF<_S-(ZAp>@Pv-lo0j2LtXJRNzmPh!hpWGbXynUudUET7~O(+3K z!!FC;sZadG>XS6VnVOm?`Mg5=?M;~uI*bVejEY%#eH=;vifRt9-_w1yd8_aSoJ_@Bc3SH$ElbKNyeM0UGyvwlgXL}gA`QJG)VCuJxB=&tbIt_D?h*SbpG1n!-eoHtocTVg27oA>fr zTChP0KqgB+yp6%}Rqf}km?@)Xw{aDv&^KCB9%3_fa}uEhpv5tBam-vCGa2XI;+Q#% zDSm3RN^h=!y&5~Se%gl}y_NL(%dVlyrouO9D1mk|!&i~FeO}TSHTQzQ$9a6kRPn~~ zGnq=$6Z{&jEl>i`_Nd6DC!55w>v+Zzd|K3Q`iG0@=XSkyEqf;^S_>t{(DNwA>3ZWe zb+vCT5oPbb)MwqH!@F;oHCoLHZk%O4oUrZfT8! z6Bo;%1R%ftvMbtM9RfvC?p_vVSCLW^9QM$t>c=c!VZ6H?N&uQ@j-hU`E8|=y>UN<( zTBd~V<#vcr@bQ}LF}MCOC;_O9;JP`baQW!!CGW2sx{AmANZOF#y>tDs3PV{jb0`7G z1;3#fuV1)B(@6%Y-Eusp!0F0L(9sRqyOJ*%OfRQq&Hu0qY!Q;i@^`Hq^+hf8L@yvVsRn0Mb0Ju4VdoN^H=l-t}S~ z-TnG?rKIu*_LkAFW2Z<^0uXtrC!6wg%k3iRW9mG?Qp1MC0$Oc?n6A2wUAGUE0OWW= zH5vmiz;I*acUuRa+>B`{ttAPY6LpvAsm&(k!4p9PJ*e zrVfY>(V+yOL)SjCCt1?z=P$U^-CJwgoUnz(8c9z-#JmaCJpd&Dy*k4ocCwkS9|(mKfVcylPhRL8|K{r|?dkW1fcp2<4Koy+wD$UfA>SdvBZ{yx%`V#KP*~2R=|$2K?y)!M{8%* zf8@gg?{$BLr=mI1WEu>e>8xM#Fz)jqomP>-8Hfo=`U7)x!a*x zSfrtw1tkEj8>FCb?9TpDnww$X{W8$Z_(Ei|_F!GBVm`J!9!iWY#q4T5YCFEiix|^d z`CdJT@HzN%w?qjcqqld@Iw%2%Q*M&m?(iqq{xikYq|J%7tDg!N7Inp1i4D{JJfH-i zmoXISCDk5v@5IX0b*@Wqz^r&+N{`-?gTb_DmqH0Z%eyazb!~_bk63a1v{>3kwbGnx zWfC=3x%$i7^=6<1pk*oQ35HKCrFYATowHf@O^%>85fnYU^PAeEry@I`1Rynf-}lL9 zx%6aLU*mJ#8SK8E>eMdvDjRzCHcSST0A${>?%itXFt)0-tUtV(AF$w>B1L<^hv%W@aHUyaVrWIg|hd4BPd2Kz^Rj zaEzB%6_=N1rI(*Crq`Fys^=4c>Wd4zYVPN?R#lf*G2HL@#r3qV`kK~~!oL!LfZ(|P zX;*6vz2SaqYiBpuM{!~6b6^k#Ht+ew*j;v3UJb1u2;XUq_4Gy>5RliD(1FZ6k4BqM z;8IfcNL3?4MBi9gR81=cFSoF;yf72U%&QqndPV|U%CDk#Ru^7r$fvb7(rAUnbXs0k zHrRY&33%5~Vn7XTo#lDy^?B8;K*L^K-dLWWmsgUX2fVSg`2-+V-uuF;`ofa(yv%YM zxPJMo-2TlkYI|BLwydeU$U^8a}-aPL)P>Aj9$P>U0w*xS5?y>=eQ`_9HbL}_Afed;2y7-7mI@pv2uo&18w-c zJsd!bL+0X;xj1Al4w;Q$EMR3uR_8O?G66Y~0mMpwy!U!!$5}{(3?NpH7B*sb{5a9$}R0f?2Y*m(2Zw&#$y7(lF)#HvEC_N<2F!~kOD9Yð5JGV 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 OpFiLi+n%34Z2t$8=*STO diff --git a/src/main/resources/assets/immersiveintelligence/textures/gui/medical_crate.png b/src/main/resources/assets/immersiveintelligence/textures/gui/medical_crate.png index 451deffd87afb49be0be36ea9949f16719422f61..884c7daf8222857f0a18ef7a20223dbadaed6cfd 100644 GIT binary patch literal 10802 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 G;eP>Lv9p!{ literal 135211 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 Ujk|l#JotQbXFNHsEhh8)Kci=sPXGV_ diff --git a/src/main/resources/assets/immersiveintelligence/textures/gui/repair_crate.png b/src/main/resources/assets/immersiveintelligence/textures/gui/repair_crate.png deleted file mode 100644 index b8a3f8c25c8aad76e775e0b95e1dd5fe3bb7ad36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127222 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

    lZ%+Yx#B;4|P&gYwGFPQj&>K<&tHx!@ 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 Date: Fri, 14 Aug 2026 22:38:17 +0200 Subject: [PATCH 16/23] Implemented the Chemthrower override, added particle effects and a WIP block scorching system Closes #648, #691 --- .../api/ammo/PenetrationRegistry.java | 15 +- .../ammo/penetration/IPenetrationHandler.java | 24 + .../ammo/penetration/PenetrationHandler.java | 46 +- .../api/ammo/utils/IIAmmoUtils.java | 6 +- .../api/ammo/utils/PenetrationCache.java | 137 ++-- .../api/ammocrate/AmmunitionCrateHandler.java | 10 +- .../client/ClientProxy.java | 1 + .../client/IIClientUtils.java | 42 +- .../client/fx/IIParticles.java | 1 + .../client/fx/particles/ParticleRibbon.java | 148 ++++ .../client/fx/utils/ParticleRegistry.java | 8 +- .../client/gui/block/GuiMedicalCrate.java | 10 +- .../client/gui/block/GuiRepairCrate.java | 10 +- .../ChemicalDispenserRenderer.java | 52 +- .../common/IIConfigHandler.java | 85 ++- .../components/AmmoComponentTracerPowder.java | 9 +- .../TileEntityChemicalDispenser.java | 633 +++++++----------- .../effect_crate/TileEntityMedicalCrate.java | 33 - .../effect_crate/TileEntityRepairCrate.java | 34 - .../tileentity/TileEntityChemicalBath.java | 44 +- .../tileentity/TileEntityChemicalPainter.java | 23 +- .../tileentity/TileEntityCoagulator.java | 39 ++ .../block/simple/BlockIICharredLog.java | 1 + .../block/simple/BlockIIRubberLeaves.java | 3 +- .../common/block/simple/BlockIIRubberLog.java | 2 + .../block/simple/BlockIIRubberSapling.java | 1 + .../compat/ie/ImmersiveEngineeringHelper.java | 19 + .../common/crafting/IIRecipes.java | 5 +- .../common/entity/ammo/EntityAmmoBase.java | 63 +- .../component/EntityIIChemthrowerShot.java | 578 ++++++++++------ .../ammo/component/EntityWhitePhosphorus.java | 4 +- .../ammo/types/EntityAmmoGuidedMissile.java | 6 +- .../entity/ammo/types/EntityAmmoMissile.java | 2 + .../ammo/types/EntityAmmoProjectile.java | 19 +- .../weapons/ItemIIChemthrowerOverride.java | 104 +++ .../common/util/IIMath.java | 30 + .../common/util/block/BlockIIBase.java | 23 +- .../common/util/block/IIBlockInterfaces.java | 5 + .../aabb/multiblock/chemical_painter.json | 8 +- .../aabb/multiblock/coagulator.json | 4 +- .../data_connector/chemical_dispenser.json | 15 +- .../immersiveintelligence/lang/en_us.lang | 8 + .../particles/ammo/missile_wire.fx.amt | 9 +- .../particles/ammo/tracer.fx.amt | 2 +- .../particles/ammo/tracer_end.fx.amt | 6 - .../particles/chemthrower/fire.fx.amt | 19 + .../particles/chemthrower/fire_gas.fx.amt | 10 + .../particles/chemthrower/fluid.fx.amt | 16 + .../particles/chemthrower/fluid_fire.fx.amt | 25 + .../particles/chemthrower/gas.fx.amt | 16 + .../particles/chemthrower/gas_fire.fx.amt | 24 + .../particles/phosphorus/orb.fx.amt | 2 +- .../particles/phosphorus/smoke_main.fx.amt | 3 +- .../particles/phosphorus/smoke_trace.fx.amt | 10 +- .../particles/shrapnel/burst.fx.amt | 11 +- .../textures/particle/smoke_trej/smoke0.png | Bin 0 -> 4335 bytes .../textures/particle/smoke_trej/smoke1.png | Bin 0 -> 4335 bytes .../textures/particle/smoke_trej/smoke2.png | Bin 0 -> 4335 bytes .../textures/particle/smoke_trej/smoke3.png | Bin 0 -> 4335 bytes .../textures/particle/smoke_trej/smoke4.png | Bin 0 -> 4335 bytes .../textures/particle/smoke_trej/smoke5.png | Bin 0 -> 4335 bytes .../textures/particle/smoke_trej/smoke6.png | Bin 0 -> 4335 bytes .../textures/particle/tracer/missile_wire.png | Bin 0 -> 3477 bytes 63 files changed, 1593 insertions(+), 870 deletions(-) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleRibbon.java create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIChemthrowerOverride.java delete mode 100644 src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_end.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire_gas.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid_fire.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas_fire.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke0.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke1.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke2.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke3.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke4.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke5.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke6.png create mode 100644 src/main/resources/assets/immersiveintelligence/textures/particle/tracer/missile_wire.png diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/PenetrationRegistry.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/PenetrationRegistry.java index 8d5617a60..f502aa530 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/PenetrationRegistry.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/PenetrationRegistry.java @@ -2,6 +2,7 @@ import blusunrize.immersiveengineering.common.IEContent; import net.minecraft.block.Block; +import net.minecraft.block.BlockLog; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; @@ -28,7 +29,7 @@ /** * @author Pabilo8 (pabilo@iiteam.net) - * @updated 17.03.2024 + * @updated 14.08.2026 * @ii-approved 0.3.1 * @since 05.03.2020 */ @@ -157,9 +158,17 @@ public static void init() new PenetrationHandler(PenetrationHardness.WOOD, 0.8f, 100, PARTICLE_DEBRIS_PLANK, IISounds.hitWood)); registerOre("slabTreatedWood", new PenetrationHandler(PenetrationHardness.WOOD, 0.8f, 100, PARTICLE_DEBRIS_PLANK, IISounds.hitWood)); - //TODO: 03.01.2025 custom model for wooden logs registerOre("logWood", - new PenetrationHandler(PenetrationHardness.WOOD, 1f, 250, PARTICLE_DEBRIS_BRICK, IISounds.hitWood)); + new PenetrationHandler(PenetrationHardness.WOOD, 1f, 250, PARTICLE_DEBRIS_BRICK, IISounds.hitWood) + .withFlammableVariant(state -> { + if(state.getBlock()==IIContent.blockCharredLog) + return null; + + IBlockState charred = IIContent.blockCharredLog.getDefaultState(); + if(state.getPropertyKeys().contains(BlockLog.LOG_AXIS)) + charred = charred.withProperty(BlockLog.LOG_AXIS, state.getValue(BlockLog.LOG_AXIS)); + return charred; + })); //Glass registerOre("paneGlass", new PenetrationHandler(PenetrationHardness.FRAGILE, 0.125f, 20, PARTICLE_DEBRIS_GLASS, SoundEvents.BLOCK_GLASS_BREAK, null)); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/IPenetrationHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/IPenetrationHandler.java index 37dcd86a5..fdb6b17da 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/IPenetrationHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/IPenetrationHandler.java @@ -1,5 +1,6 @@ package pl.pabilo8.immersiveintelligence.api.ammo.penetration; +import net.minecraft.block.state.IBlockState; import net.minecraft.util.SoundEvent; import pl.pabilo8.immersiveintelligence.api.ammo.enums.HitEffect; import pl.pabilo8.immersiveintelligence.api.ammo.enums.PenetrationHardness; @@ -7,7 +8,10 @@ import javax.annotation.Nullable; /** + * Defines penetration and optional burnt-state behaviour for a material. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @since 27.03.2024 */ public interface IPenetrationHandler @@ -38,4 +42,24 @@ default SoundEvent getSpecialSound(HitEffect effect) boolean canBeDamaged(); String getDebrisParticle(); + + /** + * @return true if this material can change to a burnt block state + */ + default boolean hasFlammableVariant() + { + return false; + } + + /** + * Gets the burnt replacement for a block state. + * + * @param state current block state + * @return replacement state, or {@code null} if this state has no replacement + */ + @Nullable + default IBlockState getFlammableVariant(IBlockState state) + { + return null; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/PenetrationHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/PenetrationHandler.java index 0d07dd1ad..d2b4454c2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/PenetrationHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/penetration/PenetrationHandler.java @@ -1,5 +1,6 @@ package pl.pabilo8.immersiveintelligence.api.ammo.penetration; +import net.minecraft.block.state.IBlockState; import net.minecraft.util.SoundEvent; import pl.pabilo8.immersiveintelligence.api.ammo.enums.HitEffect; import pl.pabilo8.immersiveintelligence.api.ammo.enums.PenetrationHardness; @@ -7,9 +8,13 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; +import java.util.function.Function; /** + * Stores penetration properties for a block or entity material. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @since 27.03.2024 */ public class PenetrationHandler implements IPenetrationHandler @@ -20,6 +25,8 @@ public class PenetrationHandler implements IPenetrationHandler private final String debrisParticle; @Nullable private final SoundEvent impactSound, ricochetSound; + @Nullable + private Function flammableVariant; /** * @param hardness penetration hardness level @@ -30,9 +37,9 @@ public class PenetrationHandler implements IPenetrationHandler * @param ricochetSound the sound played when the bullet ricochets off the block */ public PenetrationHandler(PenetrationHardness hardness, - float thickness, float integrity, - @Nullable String debrisParticle, - @Nullable SoundEvent impactSound, @Nullable SoundEvent ricochetSound) + float thickness, float integrity, + @Nullable String debrisParticle, + @Nullable SoundEvent impactSound, @Nullable SoundEvent ricochetSound) { this.hardness = hardness; this.integrity = integrity; @@ -43,9 +50,9 @@ public PenetrationHandler(PenetrationHardness hardness, } public PenetrationHandler(PenetrationHardness hardness, - float thickness, float integrity, - @Nullable String debrisParticle, - @Nonnull HitSound hitSound) + float thickness, float integrity, + @Nullable String debrisParticle, + @Nonnull HitSound hitSound) { this.hardness = hardness; this.integrity = integrity; @@ -55,6 +62,18 @@ public PenetrationHandler(PenetrationHardness hardness, this.ricochetSound = hitSound.getRicochetSound(); } + /** + * Sets the function that converts a block to its burnt variant. + * + * @param flammableVariant replacement function + * @return this handler + */ + public PenetrationHandler withFlammableVariant(@Nonnull Function flammableVariant) + { + this.flammableVariant = flammableVariant; + return this; + } + @Override public PenetrationHardness getPenetrationHardness() { @@ -80,11 +99,13 @@ public SoundEvent getSpecialSound(HitEffect effect) return effect==HitEffect.IMPACT?impactSound: (ricochetSound==null?impactSound: ricochetSound); } + @Override public boolean canRicochet() { return hardness.canRicochet(); } + @Override public boolean canBeDamaged() { return true; @@ -95,4 +116,17 @@ public String getDebrisParticle() { return debrisParticle; } + + @Override + public boolean hasFlammableVariant() + { + return flammableVariant!=null; + } + + @Nullable + @Override + public IBlockState getFlammableVariant(IBlockState state) + { + return flammableVariant==null?null: flammableVariant.apply(state); + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java index a921b8433..8f6e2fcd0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java @@ -6,8 +6,8 @@ import blusunrize.immersiveengineering.common.Config.IEConfig; import blusunrize.immersiveengineering.common.IEContent; import blusunrize.immersiveengineering.common.blocks.TileEntityMultiblockPart; -import blusunrize.immersiveengineering.common.blocks.metal.TileEntityMultiblockMetal; import blusunrize.immersiveengineering.common.blocks.stone.BlockTypes_StoneDecoration; +import blusunrize.immersiveengineering.common.util.EnergyHelper.IIEInternalFluxHandler; import blusunrize.immersiveengineering.common.util.IEDamageSources; import blusunrize.immersiveengineering.common.util.IEDamageSources.ElectricDamageSource; import blusunrize.immersiveengineering.common.util.IEPotions; @@ -524,9 +524,9 @@ public static List applyEMPEffect(World world, BlockPos pos, float radius if(te!=null) { boolean affected = false; - if(te instanceof TileEntityMultiblockMetal) + if(te instanceof IIEInternalFluxHandler) { - ((TileEntityMultiblockMetal)te).energyStorage.extractEnergy(extractedEnergy, false); + ((IIEInternalFluxHandler)te).getFluxStorage().modifyEnergyStored(-extractedEnergy); affected = true; } else diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/PenetrationCache.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/PenetrationCache.java index cb914272d..40a260761 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/PenetrationCache.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/PenetrationCache.java @@ -1,6 +1,7 @@ package pl.pabilo8.immersiveintelligence.api.ammo.utils; import blusunrize.immersiveengineering.common.blocks.TileEntityMultiblockPart; +import net.minecraft.block.state.IBlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -16,21 +17,27 @@ import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** + * Stores projectile block damage and block-burning progress. + * * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 + * @updated 14.08.2026 * @since 29.03.2024 */ public class PenetrationCache { /** - * List of blocks that have been damaged by a projectile + * Blocks damaged by projectiles. */ public static ArrayList blockDamage = new ArrayList<>(); /** - * Client side version of {@link #blockDamage} + * Blocks being turned into burned variants. + */ + public static ArrayList blockBurnDamage = new ArrayList<>(); + /** + * Client-side version of {@link #blockDamage}. */ public static ArrayList blockDamageClient = new ArrayList() { @@ -43,23 +50,20 @@ public boolean add(DamageBlockPos damageBlockPos) } }; + /** + * Gets remaining hit points for projectile damage. + */ public static float getBlockHitpoints(IPenetrationHandler pen, BlockPos pos, World world) { - float hp = pen.getIntegrity()/pen.getThickness(); - DamageBlockPos blockHitPos = new DamageBlockPos(pos, world, pen.getIntegrity()); - - for(DamageBlockPos damageBlockPos : blockDamage) - { - if(damageBlockPos.equals(blockHitPos)) - return damageBlockPos.damage; - } - - blockDamage.add(new DamageBlockPos(blockHitPos, hp)); - return hp; + return getCachedHitpoints(blockDamage, new DamageBlockPos(pos, world, pen.getIntegrity()), + pen.getIntegrity()/pen.getThickness()); } //--- Block Damage ---// + /** + * Applies projectile damage to a block. + */ public static void dealBlockDamage(World world, Vec3d direction, float bulletDamage, BlockPos pos, IPenetrationHandler pen) { if(!IIAmmoUtils.ammoBreaksBlocks||!pen.canBeDamaged()) @@ -68,7 +72,6 @@ public static void dealBlockDamage(World world, Vec3d direction, float bulletDam DamageBlockPos dimensionBlockPos = new DamageBlockPos(pos, world, pen.getIntegrity()); if(world.getTileEntity(pos) instanceof IDamageResistantMultiblock) { - //Damage a multiblock IDamageResistantMultiblock mb = (IDamageResistantMultiblock)world.getTileEntity(pos); if(mb instanceof TileEntityMultiblockPart) mb = (IDamageResistantMultiblock)((TileEntityMultiblockPart)mb).master(); @@ -76,43 +79,89 @@ public static void dealBlockDamage(World world, Vec3d direction, float bulletDam { if(mb.damageHealth(bulletDamage*pen.getThickness())) { - world.getBlockState(pos).getBlock().breakBlock(world, pos, world.getBlockState(pos)); + clearBlockCaches(dimensionBlockPos); + IBlockState state = world.getBlockState(pos); + state.getBlock().breakBlock(world, pos, state); world.destroyBlock(dimensionBlockPos, false); } - else - { - if(mb instanceof TileEntityMultiblockIIBase) - ((TileEntityMultiblockIIBase)mb).updateTileForEvent(SyncEvents.TILE_DAMAGED); - else if(mb instanceof TileEntityIIBase) - ((TileEntityIIBase)mb).updateTileForEvent(SyncEvents.TILE_DAMAGED); - } + else if(mb instanceof TileEntityMultiblockIIBase) + ((TileEntityMultiblockIIBase)mb).updateTileForEvent(SyncEvents.TILE_DAMAGED); + else if(mb instanceof TileEntityIIBase) + ((TileEntityIIBase)mb).updateTileForEvent(SyncEvents.TILE_DAMAGED); } + return; } + + float maxHp = pen.getIntegrity()/pen.getThickness(); + float newHp = getCachedHitpoints(blockDamage, dimensionBlockPos, maxHp)-(bulletDamage*pen.getThickness()); + if(newHp > 0) + setCachedHitpoints(blockDamage, dimensionBlockPos, newHp); else { - //Proceed with block breaking - float newHp = getBlockHitpoints(pen, pos, world)-(bulletDamage*pen.getThickness()); - if(newHp > 0) - { - List list = blockDamage.stream().filter(damageBlockPos -> damageBlockPos.equals(dimensionBlockPos)).collect(Collectors.toList()); - if(!list.isEmpty()) - list.forEach(damageBlockPos -> damageBlockPos.damage = newHp); - else - blockDamage.add(new DamageBlockPos(dimensionBlockPos, newHp)); - - IIPacketHandler.sendToClient(dimensionBlockPos, world, - new MessageBlockDamageSync(new DamageBlockPos(dimensionBlockPos, newHp/(pen.getIntegrity()/pen.getThickness())), direction)); - } - else if(newHp <= 0) - { - blockDamage.removeIf(damageBlockPos -> damageBlockPos.equals(dimensionBlockPos)); - world.getBlockState(pos).getBlock().breakBlock(world, pos, world.getBlockState(pos)); - world.destroyBlock(dimensionBlockPos, false); + clearBlockCaches(dimensionBlockPos); + IBlockState state = world.getBlockState(pos); + state.getBlock().breakBlock(world, pos, state); + world.destroyBlock(dimensionBlockPos, false); + } - IIPacketHandler.sendToClient(dimensionBlockPos, world, - new MessageBlockDamageSync(new DamageBlockPos(dimensionBlockPos, newHp/(pen.getIntegrity()/pen.getThickness())), direction)); - } + IIPacketHandler.sendToClient(dimensionBlockPos, world, + new MessageBlockDamageSync(new DamageBlockPos(dimensionBlockPos, newHp/maxHp), direction)); + } + + //--- Block Burning ---// + + /** + * Applies burning damage and converts a block when the burn threshold is reached. + * + * @return true if the block has a valid burnt variant + */ + public static boolean dealBlockBurnDamage(World world, float burnDamage, BlockPos pos, IPenetrationHandler pen) + { + if(world.isRemote||burnDamage <= 0||!pen.hasFlammableVariant()) + return false; + + IBlockState currentState = world.getBlockState(pos); + IBlockState burntState = pen.getFlammableVariant(currentState); + if(burntState==null) + return false; + + DamageBlockPos dimensionBlockPos = new DamageBlockPos(pos, world, pen.getIntegrity()); + float maxHp = pen.getIntegrity()/Math.max(0.001f, pen.getThickness()); + float newHp = getCachedHitpoints(blockBurnDamage, dimensionBlockPos, maxHp)-burnDamage; + if(newHp > 0) + setCachedHitpoints(blockBurnDamage, dimensionBlockPos, newHp); + else + { + clearBlockCaches(dimensionBlockPos); + world.setBlockState(pos, burntState, 3); } + return true; + } + private static float getCachedHitpoints(List cache, DamageBlockPos pos, float defaultHitpoints) + { + for(DamageBlockPos cached : cache) + if(cached.equals(pos)) + return cached.damage; + + cache.add(new DamageBlockPos(pos, defaultHitpoints)); + return defaultHitpoints; + } + + private static void setCachedHitpoints(List cache, DamageBlockPos pos, float hitpoints) + { + for(DamageBlockPos cached : cache) + if(cached.equals(pos)) + { + cached.damage = hitpoints; + return; + } + cache.add(new DamageBlockPos(pos, hitpoints)); + } + + private static void clearBlockCaches(DamageBlockPos pos) + { + blockDamage.removeIf(cached -> cached.equals(pos)); + blockBurnDamage.removeIf(cached -> cached.equals(pos)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java index 10ec304d6..6d7112ea7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammocrate/AmmunitionCrateHandler.java @@ -9,6 +9,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; @@ -19,6 +20,7 @@ import pl.pabilo8.immersiveintelligence.api.ammo.parts.IAmmoTypeItem; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Tools; import pl.pabilo8.immersiveintelligence.common.IIContent; +import pl.pabilo8.immersiveintelligence.common.IIPotions; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.effect_crate.TileEntityAmmunitionCrate; import pl.pabilo8.immersiveintelligence.common.entity.mounted_weapon.EntityMachinegun; import pl.pabilo8.immersiveintelligence.common.gui.ContainerAmmunitionCrate; @@ -133,7 +135,13 @@ public static boolean reload(TileEntityAmmunitionCrate crate, EntityPlayer playe for(Map.Entry, ReloadHandler> entry : handlers.entrySet()) if(entry.getKey().test(held)) - return entry.getValue().reload(crate, player, hand, held); + { + if(entry.getValue().reload(crate, player, hand, held)) + { + player.addPotionEffect(new PotionEffect(IIPotions.wellSupplied, 100)); + return true; + } + } return false; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java index 5105e9deb..498c087ac 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/ClientProxy.java @@ -396,6 +396,7 @@ public void preInit(FMLPreInitializationEvent event) registerEntityRenderer(EntityNavalMine.class, NavalMineRenderer::new); registerEntityRenderer(EntityNavalMineAnchor.class, NavalMineAnchorRenderer::new); registerEntityRenderer(EntityShrapnel.class, EntityRenderNone::new); + registerEntityRenderer(EntityIIChemthrowerShot.class, EntityRenderNone::new); registerEntityRenderer(EntityWhitePhosphorus.class, EntityRenderNone::new); registerEntityRenderer(EntityMachinegun.class, MachinegunRenderer::new); registerEntityRenderer(EntityMotorbike.class, MotorbikeRenderer::new); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java index ef8d635f8..15cfc8eda 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/IIClientUtils.java @@ -25,6 +25,7 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.lwjgl.opengl.GL11; @@ -171,6 +172,15 @@ public static void drawBlockBreak(WorldClient world, float partialTicks, DamageB GlStateManager.popMatrix(); } + @Nonnull + public static IIColor getFluidTextureColor(@Nonnull FluidStack fluid) + { + int color = fluid.getFluid().getColor(fluid); + if(color!=0xFFFFFFFF) + return IIColor.fromPackedARGB(color); + return getFluidTextureColor(fluid.getFluid()); + } + @Nonnull public static IIColor getFluidTextureColor(@Nonnull Fluid fluid) { @@ -189,7 +199,37 @@ public static IIColor getFluidTextureColor(@Nonnull Fluid fluid) final IResource resource = Minecraft.getMinecraft().getResourceManager().getResource(f); is = resource.getInputStream(); image = ImageIO.read(is); - color = IIColor.fromPackedRGB((image.getRGB(0, 0)-0xff000000)<<2); + + //Calculate mean color from the entire image + long sumR = 0, sumG = 0, sumB = 0; + int pixelCount = 0; + int width = image.getWidth(); + int height = image.getHeight(); + + for(int y = 0; y < height; y++) + for(int x = 0; x < width; x++) + { + int rgb = image.getRGB(x, y); + int alpha = (rgb>>24)&0xFF; + //Only count non-transparent pixels + if(alpha > 0) + { + sumR += (rgb>>16)&0xFF; + sumG += (rgb>>8)&0xFF; + sumB += rgb&0xFF; + pixelCount++; + } + } + + if(pixelCount > 0) + { + int avgR = (int)(sumR/pixelCount); + int avgG = (int)(sumG/pixelCount); + int avgB = (int)(sumB/pixelCount); + color = IIColor.fromPackedRGB((avgR<<16)|(avgG<<8)|avgB); + } + else + color = IIColor.WHITE; } catch(IOException e) { IILogger.error("Could not load fluid texture file for color analysis"); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java index 4dfd3b643..16737fda3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/IIParticles.java @@ -41,6 +41,7 @@ public static void preInit() //Register particle types ParticleRegistry.registerParticleType("ParticleModel", () -> new ParticleModelFactory<>(ParticleAMTModel::new)); ParticleRegistry.registerParticleType("ParticleVanilla", () -> new ParticleVanillaFactory(ParticleVanilla::new)); + ParticleRegistry.registerParticleType("ParticleRibbon", () -> new ParticleVanillaFactory(ParticleRibbon::new)); ParticleRegistry.registerParticleType("ParticleGlow", () -> new ParticleFactory<>(ParticleGlow::new)); ParticleRegistry.registerParticleType("ParticleLightning", () -> new ParticleFactory<>(ParticleLightning::new)); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleRibbon.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleRibbon.java new file mode 100644 index 000000000..97fce3c0b --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleRibbon.java @@ -0,0 +1,148 @@ +package pl.pabilo8.immersiveintelligence.client.fx.particles; + +import blusunrize.immersiveengineering.client.ClientUtils; +import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; + +import javax.annotation.Nonnull; +import javax.vecmath.Vector3f; + +/** + * Draws a textured crossed ribbon between POSITION and STRETCH. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 13.08.2026 + */ +public class ParticleRibbon extends ParticleVanilla +{ + private Vector3f endPoint = new Vector3f(1, 1, 1); + private TextureAtlasSprite[] ribbonSprites = new TextureAtlasSprite[0]; + + /** + * Creates a ribbon particle. + * + * @param world particle world + * @param pos ribbon start point + */ + public ParticleRibbon(World world, Vec3d pos) + { + super(world, pos); + } + + @Override + public void onUpdate() + { + Vector3f previousStart = new Vector3f(pos); + super.onUpdate(); + endPoint.add(new Vector3f( + pos.x-previousStart.x, + pos.y-previousStart.y, + pos.z-previousStart.z + )); + } + + @Nonnull + @Override + public Object getProperty(ParticleProperties key) + { + if(key==ParticleProperties.STRETCH) + return endPoint; + return super.getProperty(key); + } + + @Override + public void setProperty(ParticleProperties key, Object value) + { + if(key==ParticleProperties.STRETCH) + endPoint = new Vector3f((Vector3f)value); + else + super.setProperty(key, value); + } + + @Override + public void setTextureSprites(ResourceLocation[] textureSprites) + { + super.setTextureSprites(textureSprites); + this.ribbonSprites = new TextureAtlasSprite[textureSprites.length]; + for(int i = 0; i < textureSprites.length; i++) + this.ribbonSprites[i] = ClientUtils.getSprite(textureSprites[i]); + } + + @Override + public void render(BufferBuilder buffer, float partialTicks, float x, float xz, float z, float yz, float xy) + { + if(ribbonSprites.length==0) + return; + + float diameter = (float)getProperty(ParticleProperties.SIZE)*(float)getProperty(ParticleProperties.SCALE); + if(diameter <= 0) + return; + + Vec3d interpolation = new Vec3d(motion.x*interpTicks, motion.y*interpTicks, motion.z*interpTicks); + Vec3d start = new Vec3d(pos.x, pos.y, pos.z).add(interpolation).subtract(interPos); + Vec3d end = new Vec3d(endPoint.x, endPoint.y, endPoint.z).add(interpolation).subtract(interPos); + Vec3d distance = end.subtract(start); + double length = distance.lengthVector(); + if(length <= 1.0E-7D) + return; + + Vec3d direction = distance.scale(1d/length); + Vec3d reference = Math.abs(direction.y) < 0.999d?new Vec3d(0, 1, 0): new Vec3d(1, 0, 0); + Vec3d side1 = direction.crossProduct(reference).normalize().scale(diameter*0.5d); + Vec3d side2 = side1.crossProduct(direction).normalize().scale(diameter*0.5d); + int segments = Math.max(1, MathHelper.ceil(length/diameter)); + + int textureShift = (int)getProperty(ParticleProperties.TEXTURE_SHIFT); + TextureAtlasSprite texture = ribbonSprites[Math.floorMod(textureShift, ribbonSprites.length)]; + IIColor color = (IIColor)getProperty(ParticleProperties.COLOR); + int brightness = getRibbonBrightness(); + int lightU = brightness>>16&65535; + int lightV = brightness&65535; + + for(int i = 0; i < segments; i++) + { + double segmentStartDistance = i*diameter; + double segmentEndDistance = Math.min((i+1)*diameter, length); + Vec3d segmentStart = start.add(direction.scale(segmentStartDistance)); + Vec3d segmentEnd = start.add(direction.scale(segmentEndDistance)); + addQuad(buffer, segmentStart, segmentEnd, side1, texture, color, lightU, lightV); + addQuad(buffer, segmentStart, segmentEnd, side2, texture, color, lightU, lightV); + } + } + + private void addQuad(BufferBuilder buffer, Vec3d start, Vec3d end, Vec3d side, + TextureAtlasSprite texture, IIColor color, int lightU, int lightV) + { + Vec3d a = start.add(side); + Vec3d b = end.add(side); + Vec3d c = end.subtract(side); + Vec3d d = start.subtract(side); + + addVertex(buffer, a, texture.getMinU(), texture.getMinV(), color, lightU, lightV); + addVertex(buffer, b, texture.getMinU(), texture.getMaxV(), color, lightU, lightV); + addVertex(buffer, c, texture.getMaxU(), texture.getMaxV(), color, lightU, lightV); + addVertex(buffer, d, texture.getMaxU(), texture.getMinV(), color, lightU, lightV); + } + + private void addVertex(BufferBuilder buffer, Vec3d point, float u, float v, IIColor color, int lightU, int lightV) + { + buffer.pos(point.x, point.y, point.z) + .tex(u, v) + .color(color.red, color.green, color.blue, color.alpha) + .lightmap(lightU, lightV) + .endVertex(); + } + + private int getRibbonBrightness() + { + BlockPos blockPos = new BlockPos(pos.x, pos.y, pos.z); + return world.isBlockLoaded(blockPos)?world.getCombinedLight(blockPos, 0): 0; + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java index 4fc1602f2..08b20e33d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java @@ -578,13 +578,15 @@ private static void scheduleWhitePhosphorusTrace(World world, Vec3d initialPosit { Vec3d position = initialPosition; Vec3d motion = initialMotion; - for(int tick = 0; tick < 8; tick++) + for(int tick = 0; tick < 12; tick++) { - float progress = (tick+1)/7f; + float progress = (tick+1)/12f; scheduleSpawnParticle("phosphorus/ember", position, motion, new Vector2f(0, 0), tick) .withProperty(ParticleProperties.SIZE, Math.max(0.05f, 0.25f-0.07f*progress)); scheduleSpawnParticle("phosphorus/smoke_trace", position, Vec3d.ZERO, new Vector2f(0, 0), tick) - .withProperty(ParticleProperties.SIZE, Math.max(0.15f, 0.8f-0.5f*progress)); + .withProperty(ParticleProperties.SIZE, Math.max(0.25f, 2.5f-(1.75f*progress))) + .withProperty(ParticleProperties.TEXTURE_SHIFT, (int)(6*progress)) + .withProperty(ParticleProperties.MAX_LIFETIME, (int)(60+60*IIParticleUtils.randFloat.get())); if(tick < 6) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java index 6577dc5c3..81fad0a69 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiMedicalCrate.java @@ -45,7 +45,12 @@ public GuiMedicalCrate(EntityPlayer player, TileEntityMedicalCrate tile) @Override public void onInit() { + //Variables boolean upgrade = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); + this.shouldHeal = tile.shouldHeal; + this.shouldBoost = tile.shouldBoost; + + //Background final IIColor backgroundColor = IIColor.fromHex("a86465"); startBackground() .withBox(DecoTextures.BG_STEEL_ROUGH, DecoTextures.TEMPLATE_ROUND, 32, 0, 176-64, 76+12, backgroundColor) @@ -68,6 +73,7 @@ public void onInit() .withInventoryTitleBar() .build(); + //Components addComponents( //Display tanks new DecoFluidTank(46-2, 19-2+4) @@ -107,12 +113,12 @@ public void onInit() new DecoCheckbox(3, 87+8+1) .withText(IIReference.GUI_LABEL_KEY+"medical_crate.heal") .withTextColor(IIReference.COLOR_GUI_BRASS, IIColor.WHITE) - .withChecked(this.shouldHeal = tile.shouldHeal) + .withChecked(this.shouldHeal) .withOnToggle(value -> shouldHeal = value), new DecoCheckbox(3, 87+8+11) .withText(IIReference.GUI_LABEL_KEY+"medical_crate.boost") .withTextColor(IIReference.COLOR_GUI_BRASS, IIColor.WHITE) - .withChecked(this.shouldBoost = tile.shouldBoost) + .withChecked(this.shouldBoost) .withOnToggle(value -> shouldBoost = value) ); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java index 5004efb09..07ce62eae 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiRepairCrate.java @@ -36,7 +36,12 @@ public GuiRepairCrate(EntityPlayer player, TileEntityRepairCrate tile) @Override public void onInit() { + //Variables boolean upgrade = tile.isUpgradeInstalled(IIContent.UPGRADE_INSERTER); + this.shouldRepairArmor = tile.shouldRepairArmor; + this.shouldRepairVehicles = tile.shouldRepairVehicles; + + //Background startBackground() .withBox(DecoTextures.BG_STEEL_ROUGH, 32, 0, 176-64, 76+12) .withFrame(DecoTextures.FRAME_STEEL, 6, false) @@ -53,6 +58,7 @@ public void onInit() .withInventoryTitleBar() .build(); + //Components if(upgrade) addComponents( //Energy bar @@ -60,11 +66,11 @@ public void onInit() .withTemplate(DecoTemplates.BAR_ELECTRIC_ENERGY.apply(tile.energyStorage)), new DecoCheckbox(3, 87+8+1) .withText(IIReference.GUI_LABEL_KEY+"repair_crate.repair_armor") - .withChecked(this.shouldRepairArmor = tile.shouldRepairArmor) + .withChecked(this.shouldRepairArmor) .withOnToggle(value -> shouldRepairArmor = value), new DecoCheckbox(3, 87+8+11) .withText(IIReference.GUI_LABEL_KEY+"repair_crate.repair_vehicles") - .withChecked(this.shouldRepairVehicles = tile.shouldRepairVehicles) + .withChecked(this.shouldRepairVehicles) .withOnToggle(value -> shouldRepairVehicles = value) ); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/ChemicalDispenserRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/ChemicalDispenserRenderer.java index c1bb6e632..331ca6593 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/ChemicalDispenserRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/metal_device/ChemicalDispenserRenderer.java @@ -5,6 +5,8 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumFacing.AxisDirection; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraftforge.client.model.obj.OBJModel; import pl.pabilo8.immersiveintelligence.client.util.amt.AMTUtils; @@ -12,36 +14,64 @@ import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMT; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer.RegisteredTileRenderer; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.ChemicalDispenser; import pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity.TileEntityChemicalDispenser; +import pl.pabilo8.immersiveintelligence.common.util.IIMath; /** * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @since 01.06.2019 */ @RegisteredTileRenderer(name = "block/device/chemical_dispenser", clazz = TileEntityChemicalDispenser.class) public class ChemicalDispenserRenderer extends IITileRenderer { - private static AMTModel model = null; + private AMTModel model = null; @Override public void draw(TileEntityChemicalDispenser te, BufferBuilder buf, float partialTicks, Tessellator tes) { - //apply animation - Vec3d rotation = new Vec3d(te.pitch, 0, te.yaw); - for(AMT model : model) - model.setRotation(rotation); + //Apply the nozzle rotation in model-local axes. + Vec3d rotation = getNozzleRotation(te, partialTicks); + for(AMT part : model) + part.setRotation(rotation); - //apply rotation for block facing + //Rotate the complete model to the block mounting direction. applyStandardRotation(te.facing); - //render model.render(tes, buf); } + private static Vec3d getNozzleRotation(TileEntityChemicalDispenser te, float partialTicks) + { + float pitch = interpolateAngle(te.pitch, te.plannedPitch, ChemicalDispenser.rotateVTime, partialTicks); + float yaw = interpolateAngle(te.yaw, te.plannedYaw, ChemicalDispenser.rotateHTime, partialTicks); + + boolean vertical = te.facing.getAxis()==EnumFacing.Axis.Y; + boolean positive = te.facing.getAxisDirection()==AxisDirection.POSITIVE; + + if(vertical) + pitch = (float)Math.toDegrees(Math.atan( + Math.tan(Math.toRadians(pitch))*Math.cos(Math.toRadians(yaw)) + )); + + float localYaw = yaw*(vertical?(positive?-1f: 1f): (positive?1f: -1f)); + return new Vec3d(pitch, 0, localYaw); + } + + private static float interpolateAngle(float current, float target, int rotationTime, float partialTicks) + { + if(rotationTime <= 0) + return target; + + float next = IIMath.progressValue(current, target, 900f/rotationTime, 1); + return (float)MathHelper.clampedLerp(current, next, partialTicks); + } + @Override public void compileModels(IBlockState state, OBJModel model) { - ChemicalDispenserRenderer.model = new AMTModel(state, model); + this.model = new AMTModel(state, model); } @Override @@ -60,12 +90,13 @@ protected void applyStandardRotation(EnumFacing facing) break; case DOWN: { - GlStateManager.rotate(-90, 0, 1, 0); + GlStateManager.rotate(90, 0, 1, 0); } break; case UP: { - + GlStateManager.rotate(180, 1, 0, 0); + GlStateManager.rotate(90, 0, 1, 0); } break; case NORTH: @@ -76,6 +107,7 @@ protected void applyStandardRotation(EnumFacing facing) case SOUTH: { GlStateManager.rotate(-90, 1, 0, 0); + GlStateManager.rotate(-180, 0, 1, 0); } break; case WEST: diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java index d7e1dbb39..5a8102c65 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java @@ -164,10 +164,6 @@ public static class Overrides @RequiresMcRestart public static boolean changeRevolverProduction = true; - @Comment({"Whether the the chemthrower should require a gun stock instead of a grip to be constructed"}) - @RequiresMcRestart - public static boolean changeChemthrowerProduction = true; - @Comment({"Whether Immersive Engineering liquid concrete behavior should be replaced by II."}) @RequiresMcRestart public static boolean concreteOverride = true; @@ -181,10 +177,15 @@ public static class Overrides public static boolean enableDecoOverride = false; @SubConfig - @LangKey("desc.immersiveintelligence.toolupgrade.item.railgun") + @LangKey("item.immersiveengineering.railgun.name") @Comment("Config for the Railgun, allows for the toggling of II related features, such as recoil and penetration") public static Railgun railgun; + @SubConfig + @LangKey("item.immersiveengineering.chemthrower.name") + @Comment("Config for the Chemical Thrower, allows for the toggling of II related features, such as the range, scatter and block scorching") + public static Chemthrower chemthrower; + public static class Railgun { @Comment({"If disabled, II will not make any changes to IE railgun. This also disables using railgun grenades (as they use a custom entity)."}) @@ -202,6 +203,53 @@ public static class Railgun @Comment({"Whether the the railgun should require a gun stock instead of a grip to be constructed"}) public static boolean changeRailgunProduction = true; } + + public static class Chemthrower + { + @Comment({"Whether the the Chemthrower should require a gun stock instead of a grip to be constructed"}) + @RequiresMcRestart + public static boolean changeChemthrowerProduction = true; + + @Comment({"If enabled, II replaces IE's Chemthrower item with its own implementation."}) + @RequiresMcRestart + public static boolean enableChemthrowerOverride = true; + + @Comment({"How many shot entities should be created in one tick of using the Chemthrower"}) + public static int chemthrowerShotsPerTick = 4; + + @Comment({"Horizontal and vertical scatter for non-gasseous fluids"}) + public static float chemthrowerScatterFluid = 0.075f; + + @Comment({"Horizontal and vertical scatter for gasses"}) + public static float chemthrowerScatterGas = 0.125f; + + @Comment({"Range multiplier for non-gasseous fluids"}) + public static float chemthrowerRangeFluid = 1.25f; + + @Comment({"Range multiplier for gasses"}) + public static float chemthrowerRangeGas = 0.55f; + + @Comment({"Range modifier when the focus upgrade is installed on the Chemthrower"}) + public static float chemthrowerRangeFocusModifier = 0.25f; + + @Comment({"Scatter reduction when the focus upgrade is installed on the Chemthrower"}) + public static float chemthrowerScatterFocusModifier = 0.025f; + + @Comment({"Pushback / recoil applied to the player when firing the Chemthrower"}) + public static float chemthrowerPushback = 0.0025f; + + @Comment({"Maximum lifetime of a Chemthrower Shot entity (in ticks)"}) + public static int chemthrowerShotLifetime = 40; + + @Comment({"How long should the Chemthrower Shot entity stay on ground after contact (in ticks)"}) + public static int shotRemainingTicks = 5; + + @Comment({"Maximum burn damage dealt to blocks (requires)"}) + public static float shotBlockBurnDamage = 25f; + + @Comment({"Size (half of the hitbox) of the chemthrower shot entity"}) + public static float shotEntitySize = 0.5f; + } } public static class Graphics @@ -1178,18 +1226,37 @@ public static class AdvancedFluidInserter public static class ChemicalDispenser { - @Comment({"Energy capacity of the chemical dispenser."}) + @Comment({"Energy capacity of the Chemical Dispenser."}) public static int energyCapacity = 2048; - @Comment({"Energy usage of the chemical dispenser per one shot."}) + @Comment({"Energy usage of the Chemical Dispenser per one shot."}) public static int energyUsage = 128; - @Comment({"How long does it take for the chemical dispenser to rotate 45 degrees horizontally (in ticks)"}) + @Comment({"How long it takes the Chemical Dispenser to rotate 45 degrees horizontally (in ticks)."}) public static int rotateHTime = 240; - @Comment({"How long does it take for the chemical dispenser to rotate 45 degrees vertically (in ticks)"}) + @Comment({"How long it takes the Chemical Dispenser to rotate 45 degrees vertically (in ticks)."}) public static int rotateVTime = 180; + @RangeInt(min = 1) + @Comment({"How many shot entities the Chemical Dispenser creates per spray tick."}) + public static int sprayShotsPerTick = 4; + + @RangeDouble(min = 0) + @Comment({"Base scatter of non-gaseous fluids sprayed by the Chemical Dispenser."}) + public static float sprayScatterFluid = 0.025f; + + @RangeDouble(min = 0) + @Comment({"Base scatter of gaseous fluids sprayed by the Chemical Dispenser."}) + public static float sprayScatterGas = 0.05f; + + @RangeDouble(min = 0) + @Comment({"Base range multiplier of non-gaseous fluids sprayed by the Chemical Dispenser."}) + public static float sprayRangeFluid = 1.5f; + + @RangeDouble(min = 0) + @Comment({"Base range multiplier of gaseous fluids sprayed by the Chemical Dispenser."}) + public static float sprayRangeGas = 0.75f; } public static class SmallDataBuffer diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java index 49e277941..54f115689 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java @@ -15,9 +15,8 @@ import pl.pabilo8.immersiveintelligence.common.entity.ammo.EntityAmmoBase; import pl.pabilo8.immersiveintelligence.common.item.ItemIITracerPowder; import pl.pabilo8.immersiveintelligence.common.util.IIColor; -import pl.pabilo8.immersiveintelligence.common.util.entity.IIEntityUtils; - import javax.vecmath.Vector2f; +import javax.vecmath.Vector3f; /** * @author Pabilo8 (pabilo@iiteam.net) @@ -48,10 +47,10 @@ public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape sha public boolean spawnParticleTrail(EntityAmmoBase ammo, NBTTagCompound nbt) { IIColor color = nbt.hasKey(ItemIITracerPowder.NBT_TRACER_COLOUR)?IIColor.fromPackedRGB(nbt.getInteger(ItemIITracerPowder.NBT_TRACER_COLOUR)): IIColor.WHITE; - ParticleRegistry.spawnParticle("ammo/tracer", ammo.getPositionVector(), IIEntityUtils.getEntityMotion(ammo), - new Vector2f((float)Math.toRadians(ammo.rotationYaw), (float)Math.toRadians(ammo.rotationPitch+90))) + ParticleRegistry.spawnParticle("ammo/tracer", ammo.getPositionVector(), Vec3d.ZERO, new Vector2f()) .withProperty(ParticleProperties.COLOR, color) - .withProperty(ParticleProperties.SIZE, ammo.getAmmoType().getCaliber()/8f) + .withProperty(ParticleProperties.SIZE, ammo.getAmmoType().getCaliber()*3f/64f) + .withProperty(ParticleProperties.STRETCH, new Vector3f((float)ammo.prevPosX, (float)ammo.prevPosY, (float)ammo.prevPosZ)) .withProperty(ParticleProperties.MAX_LIFETIME, 20); return true; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java index d06f3548b..6780dc106 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java @@ -1,81 +1,111 @@ package pl.pabilo8.immersiveintelligence.common.block.metal_device.tileentity; -import blusunrize.immersiveengineering.api.ApiUtils; import blusunrize.immersiveengineering.api.TargetingInfo; import blusunrize.immersiveengineering.api.energy.wires.IImmersiveConnectable; import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection; -import blusunrize.immersiveengineering.api.energy.wires.TileEntityImmersiveConnectable; import blusunrize.immersiveengineering.api.energy.wires.WireType; import blusunrize.immersiveengineering.api.tool.ChemthrowerHandler; import blusunrize.immersiveengineering.common.Config.IEConfig; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IBlockBounds; -import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IDirectionalTile; import blusunrize.immersiveengineering.common.util.IESounds; import blusunrize.immersiveengineering.common.util.Utils; import com.google.common.collect.ImmutableSet; import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing.AxisDirection; import net.minecraft.util.ITickable; import net.minecraft.util.SoundCategory; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3i; -import net.minecraft.world.World; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.IFluidTankProperties; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.device.DataWireNetwork; import pl.pabilo8.immersiveintelligence.api.data.device.IDataConnector; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeBoolean; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeInteger; import pl.pabilo8.immersiveintelligence.api.data.types.generic.NumericDataType; +import pl.pabilo8.immersiveintelligence.api.utils.tools.IAdvancedTextOverlay; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.ChemicalDispenser; +import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityIIChemthrowerShot; -import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; -import pl.pabilo8.immersiveintelligence.common.network.messages.MessageIITileSync; -import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; +import pl.pabilo8.immersiveintelligence.common.util.IIMath; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIDirectional.FacingLimitation; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIDirectional.FacingSettings; +import pl.pabilo8.immersiveintelligence.common.util.tile.TileEntityIIDirectionalConnectable; import pl.pabilo8.immersiveintelligence.common.wire.IIDataWireType; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.Set; /** + * Dispenses aimed chemthrower fluid using data and power wire connections. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @since 15.07.2019 */ -public class TileEntityChemicalDispenser extends TileEntityImmersiveConnectable implements ITickable, IDirectionalTile, IBlockBounds, IDataConnector +public class TileEntityChemicalDispenser extends TileEntityIIDirectionalConnectable implements + ITickable, IBlockBounds, IDataConnector, IAdvancedTextOverlay { - public int energyStorage = 0, plannedAmount = 0, scatter = 0; + private static final FacingSettings FACING_SETTINGS = new FacingSettings(FacingLimitation.SIDE_CLICKED) + .withMirroringOnPlacement(true); + private static final Set ACCEPTABLE_POWER_WIRES = ImmutableSet.of(WireType.LV_CATEGORY, WireType.MV_CATEGORY); + private static final double CONNECTOR_OFFSET = 0.375; + private static final double CONNECTOR_HIT_RADIUS = 0.125; + + @SyncNBT(events = SyncEvents.TILE_ENERGY_CHANGED) + public int energyStorage = 0; + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) + public int plannedAmount = 0, scatter = 0; + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public float pitch = 0, plannedPitch = 0, yaw = 0, plannedYaw = 0; + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public boolean shouldIgnite = false; + @SyncNBT(events = SyncEvents.TILE_CUSTOM2) public FluidTank tank = new FluidTank(12000); - public EnumFacing facing = EnumFacing.DOWN; + @SyncNBT(nullable = true) + public WireType secondCable = null; - protected Set acceptablePowerWires = ImmutableSet.of(WireType.LV_CATEGORY, WireType.MV_CATEGORY); protected DataWireNetwork wireNetwork = new DataWireNetwork().add(this); - - WireType secondCable; - SidedFluidHandler fluidHandler = new SidedFluidHandler(this, null); + private final SidedFluidHandler fluidHandler = new SidedFluidHandler(this); private boolean refreshWireNetwork = false; + public TileEntityChemicalDispenser() + { + facing = EnumFacing.DOWN; + } + + @Nonnull @Override - protected boolean canTakeLV() + protected FacingSettings getFacingSettings() { - return true; + return FACING_SETTINGS; } @Override - protected boolean canTakeMV() + public boolean acceptsWireType(WireType wireType) { - return true; + String category = wireType.getCategory(); + return IIDataWireType.DATA_CATEGORY.equals(category)||ACCEPTABLE_POWER_WIRES.contains(category); + } + + @Override + public boolean isRelay() + { + return false; } @Override @@ -93,17 +123,13 @@ public boolean isEnergyOutput() @Override public int outputEnergy(int amount, boolean simulate, int energyType) { - if(amount > 0&&energyStorage < ChemicalDispenser.energyCapacity) - { - if(!simulate) - { - int rec = Math.min(ChemicalDispenser.energyCapacity-energyStorage, ChemicalDispenser.energyUsage); - energyStorage += rec; - return rec; - } - return Math.min(ChemicalDispenser.energyCapacity-energyStorage, ChemicalDispenser.energyUsage); - } - return 0; + if(amount <= 0||energyStorage >= ChemicalDispenser.energyCapacity) + return 0; + + int received = Math.min(amount, Math.min(ChemicalDispenser.energyCapacity-energyStorage, ChemicalDispenser.energyUsage)); + if(!simulate) + this.energyStorage += received; + return received; } @Override @@ -123,7 +149,7 @@ private boolean canAttach(WireType toAttach, int conn) if(conn==0) return attachCat.equals(IIDataWireType.DATA_CATEGORY)&&limitType==null; else if(conn==1) - return acceptablePowerWires.contains(attachCat)&&secondCable==null; + return ACCEPTABLE_POWER_WIRES.contains(attachCat)&&secondCable==null; return false; } @@ -131,21 +157,19 @@ else if(conn==1) @Override public void connectCable(WireType cableType, TargetingInfo target, IImmersiveConnectable other) { - switch(getTargetedConnector(target)) + int connector = getTargetedConnector(target); + if(connector==0&&limitType==null) { - case 0: - if(this.limitType==null) - { - DataWireNetwork.updateConnectors(pos, world, wireNetwork); - this.limitType = cableType; - } - break; - case 1: - if(secondCable==null) - this.secondCable = cableType; - break; + limitType = cableType; + DataWireNetwork.updateConnectors(pos, world, wireNetwork); } - this.markContainingBlockForUpdate(null); + else if(connector==1&&secondCable==null) + secondCable = cableType; + else + return; + + markDirty(); + markContainingBlockForUpdate(getWorld().getBlockState(pos)); } @Override @@ -157,343 +181,212 @@ public WireType getCableLimiter(TargetingInfo target) return limitType; case 1: return secondCable; + default: + return null; } - return null; } @Override - public void removeCable(Connection connection) + public void removeCable(@Nullable Connection connection) { WireType type = connection!=null?connection.cableType: null; - if(type==null) - { - limitType = null; - secondCable = null; - } - if(type==limitType) + String category = type!=null?type.getCategory(): null; + + if(type==null||IIDataWireType.DATA_CATEGORY.equals(category)) { wireNetwork.removeFromNetwork(this); - this.limitType = null; + limitType = null; } - if(type==secondCable) - this.secondCable = null; - this.markContainingBlockForUpdate(null); + if(type==null||ACCEPTABLE_POWER_WIRES.contains(category)) + secondCable = null; + + markDirty(); + markContainingBlockForUpdate(getWorld().getBlockState(pos)); } @Override public Vec3d getConnectionOffset(Connection con) { - boolean right = con.cableType==limitType; - return getConnectionOffset(con, right); + return getConnectorOffset(con!=null&&IIDataWireType.DATA_CATEGORY.equals(con.cableType.getCategory())); } @Override public Vec3d getConnectionOffset(Connection con, TargetingInfo target, Vec3i offsetLink) { - return getConnectionOffset(con, getTargetedConnector(target)==0); + return getConnectorOffset(getTargetedConnector(target)==0); } - private Vec3d getConnectionOffset(Connection con, boolean data) + private Vec3d getConnectorOffset(boolean data) { + double multiplier = data?CONNECTOR_OFFSET: -CONNECTOR_OFFSET; + if(facing.getAxis()!=EnumFacing.Axis.Y) + { + Vec3i side = facing.rotateYCCW().getDirectionVec(); + return new Vec3d( + 0.5+side.getX()*multiplier, + 0.5+multiplier, + 0.5+side.getZ()*multiplier + ); + } + Vec3i direction = facing.getDirectionVec(); + Vec3d diagonal = new Vec3d(direction.getY(), 0, -1); + Vec3d result = new Vec3d(0.5, 0.5, 0.5).add(diagonal.scale(multiplier)); - if(data) - switch(facing) - { - default: - case UP: - { - return new Vec3d(0.875f, 0.5f, 0.125f); - } - case DOWN: - return new Vec3d(0.125f, 0.75f, 0.125f); - case SOUTH: - return new Vec3d(0.125, 0.125, 0.5); - case NORTH: - return new Vec3d(0.125, 0.875, 0.5); - case EAST: - return new Vec3d(0.5, 0.875, 0.125); - case WEST: - return new Vec3d(0.5, 0.875, 0.875); - } - else - switch(facing) - { - default: - case UP: - { - return new Vec3d(0.125f, 0.525f, 0.875f); - } - case DOWN: - return new Vec3d(0.875f, 0.525f, 0.875f); - case SOUTH: - return new Vec3d(0.875, 0.875, 0.5); - case NORTH: - return new Vec3d(0.875, 0.125, 0.5); - case EAST: - return new Vec3d(0.5, 0.125, 0.875); - case WEST: - return new Vec3d(0.5, 0.125, 0.125); - } + //Keep the connector depth aligned with the existing model for vertical placement. + if(facing==EnumFacing.DOWN&&data) + result = result.addVector(0, 0.25, 0); + else if(!data) + result = result.addVector(0, 0.025, 0); + return result; } public int getTargetedConnector(TargetingInfo target) { - switch(facing) - { - case UP: - { - if(target.hitX <= 1f&&target.hitX >= 0.75f&&target.hitZ <= 0.25f&&target.hitZ >= 0f) - return 0; - if(target.hitX <= 0.25&&target.hitX >= 0&&target.hitZ <= 1&&target.hitZ >= 0.75) - return 1; - } - break; - case DOWN: - { - if(target.hitX <= 0.25&&target.hitX >= 0&&target.hitZ <= 0.25f&&target.hitZ >= 0f) - return 0; - if(target.hitX <= 1f&&target.hitX >= 0.75f&&target.hitZ <= 1&&target.hitZ >= 0.75) - return 1; - } - break; - case NORTH: - { - // 0.125, 0.875, 0.5 - if(target.hitX <= 0.25&&target.hitX >= 0&&target.hitY <= 1&&target.hitY >= 0.75) - return 0; - // 0.875, 0.125, 0.5 - if(target.hitX <= 1f&&target.hitX >= 0.75f&&target.hitY <= 0.25f&&target.hitY >= 0f) - return 1; - } - break; - case SOUTH: - { - // 0.125, 0.125, 0.5 - if(target.hitX <= 0.25&&target.hitX >= 0&&target.hitY <= 0.25f&&target.hitY >= 0f) - return 0; - // 0.875, 0.875, 0.5 - if(target.hitX <= 1f&&target.hitX >= 0.75f&&target.hitY <= 1&&target.hitY >= 0.75) - return 1; - } - break; - case WEST: - { - // 0.5, 0.875, 0.875 - if(target.hitZ <= 1f&&target.hitZ >= 0.75f&&target.hitY <= 1&&target.hitY >= 0.75) - return 0; - // 0.5, 0.125, 0.125 - if(target.hitZ <= 0.25&&target.hitZ >= 0&&target.hitY <= 0.25f&&target.hitY >= 0f) - return 1; - } - break; - case EAST: - { - // 0.5, 0.875, 0.125 - if(target.hitZ <= 0.25&&target.hitZ >= 0&&target.hitY <= 1&&target.hitY >= 0.75) - return 0; - // 0.5, 0.875, 0.875 - if(target.hitZ <= 1f&&target.hitZ >= 0.75f&&target.hitY <= 0.25f&&target.hitY >= 0f) - return 1; - } - break; - } + Vec3d hit = new Vec3d(target.hitX, target.hitY, target.hitZ); + if(isConnectorHit(hit, getConnectorOffset(true))) + return 0; + if(isConnectorHit(hit, getConnectorOffset(false))) + return 1; return -1; } - public WireType getLimiter(int side) + private boolean isConnectorHit(Vec3d hit, Vec3d connector) { - if(side==0) - return limitType; - return secondCable; + Vec3i normal = facing.getDirectionVec(); + return (normal.getX()!=0||Math.abs(hit.x-connector.x) <= CONNECTOR_HIT_RADIUS) + &&(normal.getY()!=0||Math.abs(hit.y-connector.y) <= CONNECTOR_HIT_RADIUS) + &&(normal.getZ()!=0||Math.abs(hit.z-connector.z) <= CONNECTOR_HIT_RADIUS); } + @Nonnull @Override - public void receiveMessageFromServer(NBTTagCompound message) - { - super.receiveMessageFromServer(message); - if(message.hasKey("energyStorage")) - energyStorage = message.getInteger("energyStorage"); - if(message.hasKey("plannedAmount")) - plannedAmount = message.getInteger("plannedAmount"); - if(message.hasKey("scatter")) - scatter = message.getInteger("scatter"); - if(message.hasKey("pitch")) - pitch = message.getFloat("pitch"); - if(message.hasKey("yaw")) - yaw = message.getFloat("yaw"); - if(message.hasKey("plannedYaw")) - plannedYaw = message.getFloat("plannedYaw"); - if(message.hasKey("plannedPitch")) - plannedPitch = message.getFloat("plannedPitch"); - if(message.hasKey("tank")) - tank.readFromNBT(message.getCompoundTag("tank")); - if(message.hasKey("shouldIgnite")) - shouldIgnite = message.getBoolean("shouldIgnite"); - if(message.hasKey("facing")) - facing = EnumFacing.getFront(message.getInteger("facing")); - + public float[] getBlockBounds() + { + Vec3i direction = facing.getDirectionVec(); + return new float[]{ + getMinBound(direction.getX()), getMinBound(direction.getY()), getMinBound(direction.getZ()), + getMaxBound(direction.getX()), getMaxBound(direction.getY()), getMaxBound(direction.getZ()) + }; } - @Override - public void readCustomNBT(NBTTagCompound nbt, boolean descPacket) + private static float getMinBound(int direction) { - super.readCustomNBT(nbt, descPacket); - if(nbt.hasKey("secondCable")) - secondCable = ApiUtils.getWireTypeFromNBT(nbt, "secondCable"); - else - secondCable = null; - energyStorage = nbt.getInteger("energyStorage"); - plannedAmount = nbt.getInteger("plannedAmount"); - scatter = nbt.getInteger("scatter"); - shouldIgnite = nbt.getBoolean("shouldIgnite"); - pitch = nbt.getInteger("pitch"); - yaw = nbt.getInteger("yaw"); - if(nbt.hasKey("facing")) - facing = EnumFacing.getFront(nbt.getInteger("facing")); - if(nbt.hasKey("tank")) - tank.readFromNBT(nbt.getCompoundTag("tank")); - if(nbt.hasKey("plannedYaw")) - plannedYaw = nbt.getFloat("plannedYaw"); - if(nbt.hasKey("plannedPitch")) - plannedPitch = nbt.getFloat("plannedPitch"); + return direction > 0?0.5f: 0f; } - @Override - public void writeCustomNBT(NBTTagCompound nbt, boolean descPacket) - { - super.writeCustomNBT(nbt, descPacket); - if(secondCable!=null) - nbt.setString("secondCable", secondCable.getUniqueName()); - nbt.setInteger("energyStorage", energyStorage); - nbt.setInteger("plannedAmount", plannedAmount); - nbt.setInteger("scatter", scatter); - nbt.setBoolean("shouldIgnite", shouldIgnite); - nbt.setFloat("pitch", pitch); - nbt.setFloat("yaw", yaw); - nbt.setInteger("facing", facing.ordinal()); - nbt.setTag("tank", tank.writeToNBT(new NBTTagCompound())); - nbt.setFloat("plannedYaw", plannedYaw); - nbt.setFloat("plannedPitch", plannedPitch); + private static float getMaxBound(int direction) + { + return direction < 0?0.5f: 1f; } @Override - public float[] getBlockBounds() + public void update() { - switch(this.facing) + //Move the nozzle to the commanded angles. + pitch = approachAngle(pitch, plannedPitch, ChemicalDispenser.rotateVTime); + yaw = approachAngle(yaw, plannedYaw, ChemicalDispenser.rotateHTime); + + //Refresh the data network once after the tile loads. + if(hasWorld()&&!world.isRemote&&!refreshWireNetwork) { - case UP: - { - return new float[]{0, 0.5f, 0, 1, 1, 1}; - } - case DOWN: - { - return new float[]{0, 0, 0, 1, 0.5f, 1}; - } - case SOUTH: - { - return new float[]{0, 0, 0.5f, 1, 1, 1}; - } - case NORTH: - { - return new float[]{0, 0, 0, 1, 1, 0.5f}; - } - case EAST: - { - return new float[]{0.5f, 0, 0, 1, 1, 1}; - } - case WEST: - { - return new float[]{0, 0, 0, 0.5f, 1, 1}; - } + refreshWireNetwork = true; + wireNetwork.removeFromNetwork(null); } - return new float[]{0, 0, 0, 1, 1, 1}; + + //A redstone signal requests one standard chemthrower operation. + if(world.isBlockPowered(pos)) + plannedAmount = 20; + + //Spray only on the server and only after the nozzle reaches its target. + if(world.isRemote||plannedAmount <= 0||tank.getFluid()==null||plannedYaw!=yaw||plannedPitch!=pitch) + return; + + sprayFluid(); } - @Override - public void update() + private static float approachAngle(float current, float target, int rotationTime) { - if(plannedPitch > pitch) - pitch += 45f/(ChemicalDispenser.rotateVTime/20f); - if(plannedPitch < pitch) - pitch -= 45f/(ChemicalDispenser.rotateVTime/20f); + float step = rotationTime <= 0?Float.MAX_VALUE: 900f/rotationTime; + return MathHelper.clamp(IIMath.progressValue(current, target, step, 1), -45f, 45f); + } + + private void sprayFluid() + { + FluidStack fluidStack = tank.getFluid(); + if(fluidStack==null||fluidStack.getFluid()==null) + return; - if(Math.abs(plannedPitch-pitch) < (45f/(ChemicalDispenser.rotateVTime/20f))) - pitch = plannedPitch; - pitch = MathHelper.clamp(pitch, -45, 45); + int consumed = Math.min(IEConfig.Tools.chemthrower_consumption, plannedAmount); + if(consumed > fluidStack.amount||energyStorage < ChemicalDispenser.energyUsage) + return; - if(plannedYaw > yaw) - yaw += 45f/(ChemicalDispenser.rotateHTime/20f); - if(plannedYaw < yaw) - yaw -= 45f/(ChemicalDispenser.rotateHTime/20f); + //The scatter command changes the spray from a wide, short cone to a narrow, long stream. + float focus = MathHelper.clamp(scatter/100f, 0f, 1f); + boolean gas = fluidStack.getFluid().isGaseous(fluidStack)||ChemthrowerHandler.isGas(fluidStack.getFluid()); + float baseScatter = gas?ChemicalDispenser.sprayScatterGas: ChemicalDispenser.sprayScatterFluid; + float baseRange = gas?ChemicalDispenser.sprayRangeGas: ChemicalDispenser.sprayRangeFluid; + float shotScatter = MathHelper.clamp( + (float)MathHelper.clampedLerp(baseScatter*3f, 0f, focus), + 0.05f, 10f + ); + float shotRange = MathHelper.clamp( + (float)MathHelper.clampedLerp(0f, baseRange*0.5f, focus), + 0.25f, 10f + ); - if(Math.abs(plannedYaw-yaw) < (45f/(ChemicalDispenser.rotateHTime/20f))) - yaw = plannedYaw; - yaw = MathHelper.clamp(yaw, -45, 45); + Vec3d direction = getSprayDirection(); + Vec3d origin = new Vec3d(pos).addVector(0.5, 0.5, 0.5).add(direction.scale(0.5)); - if(hasWorld()&&!world.isRemote&&!refreshWireNetwork) + //Create the configured number of chemthrower shots for this operation. + for(int i = 0; i < ChemicalDispenser.sprayShotsPerTick; i++) { - refreshWireNetwork = true; - wireNetwork.removeFromNetwork(null); + Vec3d shotDirection = direction.addVector( + Utils.RAND.nextGaussian()*shotScatter, + Utils.RAND.nextGaussian()*shotScatter, + Utils.RAND.nextGaussian()*shotScatter + ); + EntityIIChemthrowerShot shot = new EntityIIChemthrowerShot(world, + origin.x, origin.y, origin.z, + shotDirection.x*0.5, shotDirection.y*0.5, shotDirection.z*0.5, + fluidStack + ).withMotion(shotDirection.scale(shotRange)); + + if(shouldIgnite) + shot.setFire(10); + world.spawnEntity(shot); } - if(world.isBlockPowered(this.getPos())) - plannedAmount = 20; + //Play the spray loop at the same cadence as the handheld chemthrower. + if(world.getTotalWorldTime()%4==0) + world.playSound(null, pos.getX()+0.5f, pos.getY()-0.5f, pos.getZ()+0.5f, + shouldIgnite?IESounds.sprayFire: IESounds.spray, + SoundCategory.PLAYERS, 0.5f, shouldIgnite?1.5f: 0.75f); - if(!world.isRemote&&plannedAmount > 0&&tank.getFluid()!=null&&plannedYaw==yaw&&plannedPitch==pitch) + energyStorage -= ChemicalDispenser.energyUsage; + tank.drain(consumed, true); + plannedAmount -= consumed; + } + + private Vec3d getSprayDirection() + { + EnumFacing output = facing.getOpposite(); + Vec3i direction = output.getDirectionVec(); + + if(output.getHorizontalIndex()!=-1) { - int consumed = IEConfig.Tools.chemthrower_consumption; - FluidStack fs = tank.getFluid(); - if(energyStorage >= ChemicalDispenser.energyUsage&&Math.min(consumed, plannedAmount) <= fs.amount) - { - energyStorage -= ChemicalDispenser.energyUsage; - Vec3i vi = facing.getOpposite().getDirectionVec(); - Vec3d v = new Vec3d(vi.getX(), vi.getY(), vi.getZ()).rotateYaw((float)Math.toRadians(yaw)*((facing.getAxisDirection()==AxisDirection.POSITIVE)?-1: 1)); - - if(facing.getHorizontalIndex()!=-1) - v = v.addVector(0, Math.toRadians(pitch), 0); - else - { - v = new Vec3d(vi.getX(), vi.getY(), vi.getZ()); - v = v.addVector(Math.toRadians(-pitch), 0, Math.toRadians(yaw)); - } - - int split = 8; - boolean isGas = fs.getFluid().isGaseous()||ChemthrowerHandler.isGas(fs.getFluid()); - - float scatter = isGas?.05f: .025f; - float range = isGas?1f: 1.25f; - - scatter *= (1f-((float)this.scatter/100f))*3f; - range *= (((float)this.scatter/100f))*0.5; - - scatter = MathHelper.clamp(scatter, 0.05f, 10f); - range = MathHelper.clamp(range, 0.25f, 10f); - - for(int i = 0; i < split; i++) - { - Vec3d vecDir = v.addVector(Utils.RAND.nextGaussian()*scatter, Utils.RAND.nextGaussian()*scatter, Utils.RAND.nextGaussian()*scatter); - EntityIIChemthrowerShot chem = new EntityIIChemthrowerShot(world, (float)pos.getX()+0.5f+(v.x/2f), (float)pos.getY()+0.5f+(v.y/2f), (float)pos.getZ()+0.5f+(v.z/2f), vecDir.x*0.5, vecDir.y*0.5, vecDir.z*0.5, fs); - - // Apply momentum from the player. - chem.motionX = vecDir.x*range; - chem.motionY = vecDir.y*range; - chem.motionZ = vecDir.z*range; - - if(shouldIgnite) - chem.setFire(10); - world.spawnEntity(chem); - } - if(world.getTotalWorldTime()%4==0) - if(shouldIgnite) - world.playSound(null, pos.getX()+0.5f, pos.getY()-0.5f, pos.getZ()+0.5f, IESounds.sprayFire, SoundCategory.PLAYERS, .5f, 1.5f); - else - world.playSound(null, pos.getX()+0.5f, pos.getY()-0.5f, pos.getZ()+0.5f, IESounds.spray, SoundCategory.PLAYERS, .5f, .75f); - } - tank.drain(Math.min(plannedAmount, consumed), true); - plannedAmount -= consumed; - plannedAmount = Math.max(plannedAmount, 0); + float baseYaw = (float)Math.toDegrees(Math.atan2(-direction.getX(), direction.getZ())); + float yawDirection = facing.getAxisDirection()==AxisDirection.POSITIVE?1f: -1f; + return IIMath.offsetPosDirectionXZ(1, 0, baseYaw+yaw*yawDirection, pitch); } + + //For vertical placement, yaw and pitch are independent tilts on the horizontal plane. + Vec3d horizontal = IIMath.offsetPosDirectionXZ( + Math.tan(Math.toRadians(yaw)), + Math.tan(Math.toRadians(pitch)), + 0, 0 + ); + return new Vec3d(horizontal.x, direction.getY(), horizontal.z).normalize(); } @Override @@ -519,11 +412,6 @@ public void onDataChange() } } - @Override - public World getConnectorWorld() - { - return getWorld(); - } @Override public void onPacketReceive(DataPacket packet) @@ -545,15 +433,7 @@ public void onPacketReceive(DataPacket packet) if(packet.get('i') instanceof DataTypeBoolean) this.shouldIgnite = ((DataTypeBoolean)packet.get('i')).value; - IIPacketHandler.sendToClient(this, new MessageIITileSync(this, EasyNBT.newNBT() - .withFloat("plannedPitch", plannedPitch) - .withFloat("pitch", pitch) - .withFloat("plannedYaw", plannedYaw) - .withFloat("yaw", yaw) - .withInt("plannedAmount", plannedAmount) - .withInt("scatter", scatter) - .withBoolean("shouldIgnite", shouldIgnite) - )); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); } @Override @@ -563,49 +443,7 @@ public void sendPacket(DataPacket packet) } @Override - public boolean moveConnectionTo(Connection c, BlockPos newEnd) - { - return true; - } - - @Override - public EnumFacing getFacing() - { - return facing; - } - - @Override - public void setFacing(EnumFacing facing) - { - this.facing = facing; - } - - @Override - public int getFacingLimitation() - { - return 0; - } - - @Override - public boolean mirrorFacingOnPlacement(EntityLivingBase placer) - { - return true; - } - - @Override - public boolean canHammerRotate(EnumFacing side, float hitX, float hitY, float hitZ, EntityLivingBase entity) - { - return false; - } - - @Override - public boolean canRotate(EnumFacing axis) - { - return false; - } - - @Override - public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) + public boolean hasCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) { if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY&&facing==this.facing) return true; @@ -613,46 +451,45 @@ public boolean hasCapability(Capability capability, @Nullable EnumFacing faci } @Override - public T getCapability(Capability capability, @Nullable EnumFacing facing) + @SuppressWarnings("unchecked") + public T getCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) { if(capability==CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY&&facing==this.facing) return (T)fluidHandler; return super.getCapability(capability, facing); } - static class SidedFluidHandler implements IFluidHandler + private static class SidedFluidHandler implements IFluidHandler { - TileEntityChemicalDispenser tile; - EnumFacing facing; + private final TileEntityChemicalDispenser tile; - SidedFluidHandler(TileEntityChemicalDispenser tile, EnumFacing facing) + private SidedFluidHandler(TileEntityChemicalDispenser tile) { this.tile = tile; - this.facing = facing; } @Override public int fill(FluidStack resource, boolean doFill) { int i = tile.tank.fill(resource, doFill); - if(i > 0) - { - tile.markDirty(); - tile.markContainingBlockForUpdate(null); - } + if(doFill&&i > 0) + tile.updateTileForEvent(SyncEvents.TILE_CUSTOM2); return i; } @Override public FluidStack drain(FluidStack resource, boolean doDrain) { - return tile.tank.drain(resource.amount, doDrain); + return drain(resource.amount, doDrain); } @Override public FluidStack drain(int maxDrain, boolean doDrain) { - return tile.tank.drain(maxDrain, doDrain); + FluidStack drained = tile.tank.drain(maxDrain, doDrain); + if(doDrain&&drained!=null&&drained.amount > 0) + tile.updateTileForEvent(SyncEvents.TILE_CUSTOM2); + return drained; } @Override @@ -662,4 +499,12 @@ public IFluidTankProperties[] getTankProperties() } } + //--- IAdvancedTextOverlay ---// + + @SideOnly(Side.CLIENT) + @Override + public String[] getOverlayText(EntityPlayer player, RayTraceResult mop) + { + return new String[]{IIUtils.getFluidNameOverlayText(tank.getFluid())}; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java index 1a927d5a3..6a6cf6e81 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityMedicalCrate.java @@ -181,39 +181,6 @@ private boolean canFillTankFrom(int index, FluidStack resource) return index==0?HEALTH_POTION.test(resource): BOOST_POTION.test(resource); } - @Override - public void onAnimationChangeClient(boolean state, int part) - { - if(part==1) - shouldHeal = state; - else if(part==2) - shouldBoost = state; - else - super.onAnimationChangeClient(state, part); - } - - @Override - public void onAnimationChangeServer(boolean state, int part) - { - boolean changed; - if(part==1) - { - changed = shouldHeal!=state; - shouldHeal = state; - } - else if(part==2) - { - changed = shouldBoost!=state; - shouldBoost = state; - } - else - { - super.onAnimationChangeServer(state, part); - return; - } - if(changed) - updateTileForEvent(SyncEvents.TILE_CUSTOM1); - } public static class FluidWrapper implements IFluidHandler { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java index 1c9761c0a..7a561b71a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/effect_crate/TileEntityRepairCrate.java @@ -158,38 +158,4 @@ public boolean isStackValid(int slot, ItemStack stack) { return Utils.compareToOreName(stack, "plateSteel"); } - - @Override - public void onAnimationChangeClient(boolean state, int part) - { - if(part==1) - shouldRepairArmor = state; - else if(part==2) - shouldRepairVehicles = state; - else - super.onAnimationChangeClient(state, part); - } - - @Override - public void onAnimationChangeServer(boolean state, int part) - { - boolean changed; - if(part==1) - { - changed = shouldRepairArmor!=state; - shouldRepairArmor = state; - } - else if(part==2) - { - changed = shouldRepairVehicles!=state; - shouldRepairVehicles = state; - } - else - { - super.onAnimationChangeServer(state, part); - return; - } - if(changed) - updateTileForEvent(SyncEvents.TILE_CUSTOM1); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java index 5c5caa9a6..a830daec3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityChemicalBath.java @@ -4,6 +4,7 @@ import blusunrize.immersiveengineering.api.tool.ChemthrowerHandler; import blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IPlayerInteraction; +import blusunrize.immersiveengineering.common.util.Utils; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -11,15 +12,19 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.NonNullList; import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.RayTraceResult; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.FluidUtil; import net.minecraftforge.fluids.IFluidTank; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import pl.pabilo8.immersiveintelligence.api.crafting.BathingRecipe; import pl.pabilo8.immersiveintelligence.api.crafting.recipe.IIMultiblockRecipe; +import pl.pabilo8.immersiveintelligence.api.utils.tools.IAdvancedTextOverlay; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.ChemicalBath; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IIUtils; @@ -38,7 +43,8 @@ * @ii-approved 0.3.1 * @since 28.06.2019 */ -public class TileEntityChemicalBath extends TileEntityMultiblockProductionSingle implements IPlayerInteraction +public class TileEntityChemicalBath extends TileEntityMultiblockProductionSingle + implements IPlayerInteraction, IAdvancedTextOverlay { @SyncNBT(events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_RECIPE_CHANGED}) public FluidTank tank; @@ -174,19 +180,14 @@ public IIGUI getGUI() @Override public boolean isStackValid(int slot, ItemStack stack) { - switch(slot) + return switch(slot) { - case MultiblockChemicalBath.ITEM_IN: - return IIMultiblockRecipe.streamRecipes(BathingRecipe.class) - .anyMatch(r -> r.itemInput.matchesItemStack(stack)); - case MultiblockChemicalBath.BUCKET_IN: - return stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null); - case MultiblockChemicalBath.ITEM_OUT: - case MultiblockChemicalBath.BUCKET_OUT: - return true; - default: - return false; - } + case MultiblockChemicalBath.ITEM_IN -> IIMultiblockRecipe.streamRecipes(BathingRecipe.class) + .anyMatch(r -> r.itemInput.matchesItemStack(stack)); + case MultiblockChemicalBath.BUCKET_IN -> stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null); + case MultiblockChemicalBath.ITEM_OUT, MultiblockChemicalBath.BUCKET_OUT -> true; + default -> false; + }; } @Override @@ -210,4 +211,21 @@ public boolean interact(@Nonnull EnumFacing side, @Nonnull EntityPlayer player, return false; } + + + //--- IAdvancedTextOverlay ---// + + @SideOnly(Side.CLIENT) + @Override + public String[] getOverlayText(EntityPlayer player, RayTraceResult mop) + { + if(!Utils.isFluidRelatedItemStack(player.getHeldItem(EnumHand.MAIN_HAND))) + return new String[0]; + + TileEntityChemicalBath master = master(); + if(master!=null&&isPOI("tank_bucket")) + return new String[]{IIUtils.getFluidNameOverlayText(master.tank.getFluid())}; + + return new String[0]; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java index 964f28de4..5f0d370cb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityChemicalPainter.java @@ -5,12 +5,14 @@ import blusunrize.immersiveengineering.common.util.Utils; import com.elytradev.mirage.event.GatherLightsEvent; import com.elytradev.mirage.lighting.ILightEventConsumer; +import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.NonNullList; import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.text.TextFormatting; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.FluidUtil; @@ -36,6 +38,7 @@ import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.util.FilteredFluidTank; import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.production.TileEntityMultiblockProductionSingle; @@ -310,13 +313,25 @@ public String[] getOverlayText(EntityPlayer player, RayTraceResult mop) return new String[0]; if(isPOI("tank_cyan")) - return new String[]{IIUtils.getFluidNameOverlayText(master.tankCyan.getFluid())}; + return new String[]{ + I18n.format(IIReference.DESCRIPTION_KEY+"chemical_painter.tank_cyan"), + TextFormatting.GRAY+IIUtils.getFluidNameOverlayText(master.tankCyan.getFluid())+TextFormatting.RESET + }; else if(isPOI("tank_magenta")) - return new String[]{IIUtils.getFluidNameOverlayText(master.tankMagenta.getFluid())}; + return new String[]{ + I18n.format(IIReference.DESCRIPTION_KEY+"chemical_painter.tank_magenta"), + TextFormatting.GRAY+IIUtils.getFluidNameOverlayText(master.tankMagenta.getFluid())+TextFormatting.RESET + }; else if(isPOI("tank_yellow")) - return new String[]{IIUtils.getFluidNameOverlayText(master.tankYellow.getFluid())}; + return new String[]{ + I18n.format(IIReference.DESCRIPTION_KEY+"chemical_painter.tank_yellow"), + TextFormatting.GRAY+IIUtils.getFluidNameOverlayText(master.tankYellow.getFluid())+TextFormatting.RESET + }; else if(isPOI("tank_black")) - return new String[]{IIUtils.getFluidNameOverlayText(master.tankBlack.getFluid())}; + return new String[]{ + I18n.format(IIReference.DESCRIPTION_KEY+"chemical_painter.tank_black"), + TextFormatting.GRAY+IIUtils.getFluidNameOverlayText(master.tankBlack.getFluid())+TextFormatting.RESET + }; return new String[0]; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java index efd922732..9cd7c36c2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityCoagulator.java @@ -1,19 +1,29 @@ package pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity; import blusunrize.immersiveengineering.api.energy.immersiveflux.FluxStorageAdvanced; +import blusunrize.immersiveengineering.common.util.Utils; import blusunrize.immersiveengineering.common.util.inventory.IEInventoryHandler; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; import net.minecraft.util.NonNullList; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.text.TextFormatting; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.IFluidTank; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.api.crafting.CoagulatorRecipe; import pl.pabilo8.immersiveintelligence.api.crafting.recipe.IIMultiblockRecipe; +import pl.pabilo8.immersiveintelligence.api.utils.tools.IAdvancedTextOverlay; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.Coagulator; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.multiblock.MultiblockCoagulator; import pl.pabilo8.immersiveintelligence.common.util.FilteredFluidTank; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.ISerializableEnum; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; @@ -29,6 +39,7 @@ * @since 04.03.2021 */ public class TileEntityCoagulator extends TileEntityMultiblockProductionSingle + implements IAdvancedTextOverlay { @SyncNBT(events = {SyncEvents.TILE_CUSTOM1, SyncEvents.TILE_RECIPE_CHANGED}) public FluidTank tankCoagulant; @@ -292,4 +303,32 @@ public enum CraneAnimation implements ISerializableEnum MOVE_BACK, PLACE_BUCKET } + + + //--- IAdvancedTextOverlay ---// + + @SideOnly(Side.CLIENT) + @Override + public String[] getOverlayText(EntityPlayer player, RayTraceResult mop) + { + if(!Utils.isFluidRelatedItemStack(player.getHeldItem(EnumHand.MAIN_HAND))) + return new String[0]; + + TileEntityCoagulator master = master(); + if(master!=null) + { + if(isPOI("tank_input_blocks")) + return new String[]{ + TextFormatting.GRAY+I18n.format(IIReference.DESCRIPTION_KEY+"coagulator.input_tank")+TextFormatting.RESET, + IIUtils.getFluidNameOverlayText(master.tankInput.getFluid()) + }; + else if(isPOI("tank_coagulant_blocks")) + return new String[]{ + TextFormatting.GRAY+I18n.format(IIReference.DESCRIPTION_KEY+"coagulator.coagulant_tank")+TextFormatting.RESET, + IIUtils.getFluidNameOverlayText(master.tankCoagulant.getFluid()) + }; + } + + return new String[0]; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIICharredLog.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIICharredLog.java index d0a5cea88..4f6bae23c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIICharredLog.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIICharredLog.java @@ -36,6 +36,7 @@ public BlockIICharredLog() super("charred_log", PropertyEnum.create("type", CharredLogs.class), Material.WOOD, ItemBlockIIBase::new, BlockLog.LOG_AXIS); this.setHardness(2.0F); this.setResistance(1F); + this.setFlammable(true); setCategory(IICategory.RESOURCES); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLeaves.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLeaves.java index a5f6260a5..0d861d5b4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLeaves.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLeaves.java @@ -50,6 +50,7 @@ public BlockIIRubberLeaves() this.setTickRandomly(true); this.setHardness(0.2F); this.setLightOpacity(1); + setFlammable(true); lightOpacity = 0; setCategory(IICategory.RESOURCES); } @@ -335,4 +336,4 @@ public int getColourForIEItem(ItemStack stack, int pass) return ColorizerFoliage.getFoliageColorBasic(); } } -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLog.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLog.java index a6172d4c1..b6a389330 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLog.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberLog.java @@ -40,10 +40,12 @@ public BlockIIRubberLog() super("rubber_log", PropertyEnum.create("type", RubberLogs.class), Material.WOOD, ItemBlockIIBase::new, BlockLog.LOG_AXIS); this.setHardness(2.0F); this.setResistance(1F); + setFlammable(true); setCategory(IICategory.RESOURCES); setBlockLayer(BlockRenderLayer.SOLID); setSubBlockLayer(RubberLogs.STRIPPED, BlockRenderLayer.CUTOUT); + } @Nullable diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberSapling.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberSapling.java index 460b114d4..a93fa2303 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberSapling.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/simple/BlockIIRubberSapling.java @@ -43,6 +43,7 @@ public BlockIIRubberSapling() BlockSapling.STAGE); setBlockLayer(BlockRenderLayer.CUTOUT_MIPPED); setLightOpacity(0); + setFlammable(true); setFullCube(false); setCategory(IICategory.RESOURCES); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ie/ImmersiveEngineeringHelper.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ie/ImmersiveEngineeringHelper.java index e212919be..c9d71395d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ie/ImmersiveEngineeringHelper.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/ie/ImmersiveEngineeringHelper.java @@ -41,6 +41,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.client.gui.block.overrides.GuiIECrateOverride; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides.Chemthrower; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides.Railgun; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; @@ -51,6 +52,7 @@ import pl.pabilo8.immersiveintelligence.common.gui.ContainerIICrate; import pl.pabilo8.immersiveintelligence.common.item.ammo.ItemIIAmmoCasing.Casing; import pl.pabilo8.immersiveintelligence.common.item.crafting.ItemIIMaterial.Materials; +import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIChemthrowerOverride; import pl.pabilo8.immersiveintelligence.common.item.weapons.ItemIIRailgunOverride; import pl.pabilo8.immersiveintelligence.common.util.IIReflectionUtils; @@ -78,6 +80,11 @@ public void preInit() IEContent.itemRailgun = new ItemIIRailgunOverride(); IILogger.info("Immersive Engineering Railgun was overridden by Immersive Intelligence"); } + if(Chemthrower.enableChemthrowerOverride) + { + IEContent.itemChemthrower = new ItemIIChemthrowerOverride(); + IILogger.info("Immersive Engineering Chemthrower was overridden by Immersive Intelligence"); + } if(Overrides.concreteOverride) { IEContent.blockFluidConcrete = new BlockIEFluidConcreteOverride(); @@ -251,6 +258,18 @@ public void clientPreInit() .setTransformations(TransformType.GROUND, new Matrix4().translate(.125, .125, .0625).scale(.125, .125, .125))); IEContent.itemRailgun.setTileEntityItemStackRenderer(ItemRendererIEOBJ.INSTANCE); } + if(Chemthrower.enableChemthrowerOverride) + { + ImmersiveModelRegistry.instance.registerCustomItemModel(new ItemStack(IEContent.itemChemthrower, 1, 0), new ItemModelReplacement_OBJ("immersiveengineering:models/item/chemthrower.obj", true) + .setTransformations(TransformType.FIRST_PERSON_RIGHT_HAND, new Matrix4().scale(.375, .375, .375).translate(-.25, 1, .5).rotate(Math.PI*.5, 0, 1, 0)) + .setTransformations(TransformType.FIRST_PERSON_LEFT_HAND, new Matrix4().scale(-.375, .375, .375).translate(-.25, 1, .5).rotate(-Math.PI*.5, 0, 1, 0)) + .setTransformations(TransformType.THIRD_PERSON_RIGHT_HAND, new Matrix4().translate(0, .75, .1875).scale(.5, .5, .5).rotate(Math.PI*.75, 0, 1, 0).rotate(Math.PI*.375, 0, 0, 1).rotate(-Math.PI*.25, 1, 0, 0)) + .setTransformations(TransformType.THIRD_PERSON_LEFT_HAND, new Matrix4().translate(0, .75, .1875).scale(.5, -.5, .5).rotate(Math.PI*.75, 0, 1, 0).rotate(Math.PI*.625, 0, 0, 1).rotate(-Math.PI*.25, 1, 0, 0)) + .setTransformations(TransformType.FIXED, new Matrix4().translate(.125, .125, -.25).scale(.3125, .3125, .3125).rotate(Math.PI, 0, 1, 0).rotate(Math.PI*.25, 0, 0, 1)) + .setTransformations(TransformType.GUI, new Matrix4().translate(-.1875, .3125, 0).scale(.4375, .4375, .4375).rotate(-Math.PI*.6875, 0, 1, 0).rotate(-Math.PI*.125, 0, 0, 1)) + .setTransformations(TransformType.GROUND, new Matrix4().translate(0, .25, .125).scale(.25, .25, .25))); + IEContent.itemChemthrower.setTileEntityItemStackRenderer(ItemRendererIEOBJ.INSTANCE); + } //Enable overriding IE GUIs with II's Deco based ones if(Overrides.enableDecoOverride) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java index 7401ce0c2..ae698e55c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/crafting/IIRecipes.java @@ -53,6 +53,7 @@ import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.PrintingPress; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.Sawmill; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides.Chemthrower; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides.Railgun; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.block.metal_device.BlockIIMetalDevice.IIBlockTypes_MetalDevice; @@ -134,7 +135,7 @@ public static void doRecipes(IForgeRegistryModifiable recipeRegistry) replaceRecipe(recipeRegistry, Overrides.changeRevolverProduction, "toolupgrades/railgun_scope", "materials/gunparts/precision_scope"); replaceRecipe(recipeRegistry, Overrides.changeRevolverProduction, "tool/revolver"); replaceRecipe(recipeRegistry, Railgun.changeRailgunProduction, "tool/railgun"); - replaceRecipe(recipeRegistry, Overrides.changeChemthrowerProduction, "tool/chemthrower"); + replaceRecipe(recipeRegistry, Chemthrower.changeChemthrowerProduction, "tool/chemthrower"); //--- Add Recipes ---// addMinecartRecipes(recipeRegistry); @@ -1811,7 +1812,7 @@ public static void addForeignOreDict() OreDictionary.registerOre("logWood", new ItemStack(IIContent.blockRubberLog)); OreDictionary.registerOre("woodRubber", new ItemStack(IIContent.blockRubberLog)); - OreDictionary.registerOre("blockLeaves", new ItemStack(IIContent.blockRubberLeaves)); + OreDictionary.registerOre("treeLeaves", new ItemStack(IIContent.blockRubberLeaves)); OreDictionary.registerOre("tnt", new ItemStack(Blocks.TNT)); OreDictionary.registerOre("materialTNT", new ItemStack(Blocks.TNT)); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/EntityAmmoBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/EntityAmmoBase.java index f813e634a..6f36de088 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/EntityAmmoBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/EntityAmmoBase.java @@ -4,6 +4,7 @@ import com.elytradev.mirage.lighting.IEntityLightEventConsumer; import com.elytradev.mirage.lighting.Light; import io.netty.buffer.ByteBuf; +import lombok.Getter; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -46,35 +47,43 @@ public abstract class EntityAmmoBase> extend /** * The ammo type */ + @Getter protected IAmmoType ammoType; /** * The ammo core */ + @Getter protected AmmoCore core; /** * The ammo core type */ + @Getter protected CoreType coreType; /** * The fuse type */ + @Getter protected FuseType fuseType; /** * The fuse parameter, for a timer fuse it's the fuse time in ticks, for a proximity fuse it's the fuse range in blocks
    * Not used by impact fuses */ + @Getter protected int fuseParameter = 0; /** * The paint color of the bullet, in rgbInt format */ + @Getter protected IIColor paintColor = null; /** * List of component tuples, containing the component and its NBT (can be empty but not null) */ + @Getter protected List> components; /** * The owner of this bullet, used for statistics */ + @Getter protected Entity owner; /** * Axis alligned bounding box of the bullet, because fuck minecraft's bloody AABB (de)sync wankfest. @@ -125,7 +134,7 @@ public void setFromStack(@Nonnull ItemStack stack) @ParametersAreNonnullByDefault public void setFromParameters(IAmmoType ammoType, AmmoCore core, CoreType coreType, FuseType fuseType, int fuseParameter, - List> components) + List> components) { this.ammoType = ammoType; this.core = core; @@ -145,17 +154,17 @@ public void setPosition(double x, double y, double z) this.posX = x; this.posY = y; this.posZ = z; - float fraction = this.width / 2.0F; - this.setEntityBoundingBox(new AxisAlignedBB(x - fraction, y - fraction, z - fraction, x + fraction, y + fraction, z + fraction)); + float fraction = this.width/2.0F; + this.setEntityBoundingBox(new AxisAlignedBB(x-fraction, y-fraction, z-fraction, x+fraction, y+fraction, z+fraction)); } @Override public void resetPositionToBB() { AxisAlignedBB box = this.getEntityBoundingBox(); - this.posX = (box.minX + box.maxX) / 2.0D; - this.posY = (box.minY + box.maxY) / 2.0D; // We use center instead of minY - this.posZ = (box.minZ + box.maxZ) / 2.0D; + this.posX = (box.minX+box.maxX)/2.0D; + this.posY = (box.minY+box.maxY)/2.0D; // We use center instead of minY + this.posZ = (box.minZ+box.maxZ)/2.0D; } @Override @@ -288,47 +297,7 @@ public void setFire(int seconds) } - public IAmmoType getAmmoType() - { - return ammoType; - } - - //--- Getters ---// - - public AmmoCore getCore() - { - return core; - } - - public CoreType getCoreType() - { - return coreType; - } - - public FuseType getFuseType() - { - return fuseType; - } - - public int getFuseParameter() - { - return fuseParameter; - } - - public List> getComponents() - { - return components; - } - - public IIColor getPaintColor() - { - return paintColor; - } - - public Entity getOwner() - { - return owner; - } + //--- Setters ---// /** * @param owner The owner of this bullet, used for statistics diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityIIChemthrowerShot.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityIIChemthrowerShot.java index 69fec458a..b47ae0121 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityIIChemthrowerShot.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityIIChemthrowerShot.java @@ -2,27 +2,24 @@ import blusunrize.immersiveengineering.api.tool.ChemthrowerHandler; import blusunrize.immersiveengineering.api.tool.ChemthrowerHandler.ChemthrowerEffect; -import blusunrize.immersiveengineering.common.entities.EntityIEProjectile; -import blusunrize.immersiveengineering.common.util.IEFluid; import com.elytradev.mirage.event.GatherLightsEvent; import com.elytradev.mirage.lighting.IEntityLightEventConsumer; import com.elytradev.mirage.lighting.Light; -import com.google.common.base.Optional; +import lombok.Getter; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; 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.network.datasync.DataParameter; -import net.minecraft.network.datasync.EntityDataManager; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.*; import net.minecraft.util.math.RayTraceResult.Type; -import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -30,325 +27,499 @@ import net.minecraftforge.fml.common.Optional.Method; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import pl.pabilo8.immersiveintelligence.api.ammo.PenetrationRegistry; +import pl.pabilo8.immersiveintelligence.api.ammo.penetration.IPenetrationHandler; +import pl.pabilo8.immersiveintelligence.api.ammo.utils.PenetrationCache; +import pl.pabilo8.immersiveintelligence.client.IIClientUtils; +import pl.pabilo8.immersiveintelligence.client.fx.particles.AbstractParticle; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; +import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleRegistry; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides.Chemthrower; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIMath; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; +import pl.pabilo8.immersiveintelligence.common.util.entity.ISyncNBTEntity; import pl.pabilo8.immersiveintelligence.common.util.raytracer.FactoryTracer; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; +import javax.vecmath.Vector2f; +import javax.vecmath.Vector3f; +import java.util.*; /** * Expansion of the IE's Chemthrower. * Originally created due to forced Albedo compat on IE's side. * * @author Pabilo8 (pabilo@iiteam.net) - * @author Avalon + * @author Avalon (avalon@iiteam.net) + * @updated 14.08.2026 * @since 08.07.2023 - * @since 15.12.2024 */ @Interface(iface = "com.elytradev.mirage.lighting.IEntityLightEventConsumer", modid = "mirage") -public class EntityIIChemthrowerShot extends EntityIEProjectile implements IEntityLightEventConsumer +public class EntityIIChemthrowerShot extends Entity implements ISyncNBTEntity, IEntityLightEventConsumer { - private static final double SIZE = 0.5; - private static final DataParameter> dataMarker_fluid = EntityDataManager.createKey(EntityIIChemthrowerShot.class, IEFluid.OPTIONAL_FLUID_STACK); - protected Set hitEntities = new HashSet<>(); - protected Set hitPos = new HashSet<>(); - protected final FactoryTracer flightTracer = FactoryTracer.create(new AxisAlignedBB(-SIZE, -SIZE, -SIZE, SIZE, SIZE, SIZE)) - .setFilters(this.hitEntities, this.hitPos); - private FluidStack fluid; + private final Set ignoredEntities = new HashSet<>(); + private final Set ignoredPositions = new HashSet<>(); + private final FactoryTracer flightTracer = FactoryTracer.create( + new AxisAlignedBB(-Chemthrower.shotEntitySize, -Chemthrower.shotEntitySize, -Chemthrower.shotEntitySize, Chemthrower.shotEntitySize, Chemthrower.shotEntitySize, Chemthrower.shotEntitySize) + ).setFilters(ignoredEntities, ignoredPositions); + + @Getter + @SyncNBT(events = {SyncEvents.ENTITY_CUSTOM1}, nullable = true) + public FluidStack fluidStack; + @SyncNBT(events = {SyncEvents.ENTITY_CUSTOM1}) + public int tickLimit = Chemthrower.chemthrowerShotLifetime; + @SyncNBT(nullable = true) + public UUID shooterUUID; + @SyncNBT(events = {SyncEvents.ENTITY_CUSTOM1, SyncEvents.ENTITY_COLLISION}) + public boolean ignited; + @SyncNBT(events = {SyncEvents.ENTITY_COLLISION}) + public boolean stopped; + @Getter + @SyncNBT(events = {SyncEvents.ENTITY_COLLISION}) + public Vec3d endPosition = Vec3d.ZERO; + @Getter + private EntityLivingBase shooter; + private int stoppedTicks; public EntityIIChemthrowerShot(World world) { super(world); - hitEntities.add(this); + setSize(Chemthrower.shotEntitySize, Chemthrower.shotEntitySize); + ignoredEntities.add(this); } - public EntityIIChemthrowerShot(World world, double x, double y, double z, double ax, double ay, double az, FluidStack fluid) + public EntityIIChemthrowerShot(World world, double x, double y, double z, + double lookX, double lookY, double lookZ, FluidStack fluidStack) { - super(world, x, y, z, ax, ay, az); - this.fluid = fluid; - this.setFluidSynced(); + this(world); + setLocationAndAngles(x, y, z, rotationYaw, rotationPitch); + setPosition(x, y, z); + withMotion(lookX, lookY, lookZ); + this.fluidStack = fluidStack==null?null: fluidStack.copy(); } - public EntityIIChemthrowerShot(World world, EntityLivingBase living, double ax, double ay, double az, FluidStack fluid) + public EntityIIChemthrowerShot(World world, EntityLivingBase shooter, + double lookX, double lookY, double lookZ, FluidStack fluidStack) { - super(world, living, ax, ay, az); - this.fluid = fluid; - this.setFluidSynced(); + this(world, shooter.posX, shooter.posY+shooter.getEyeHeight(), shooter.posZ, lookX, lookY, lookZ, fluidStack); + rotationYaw = shooter.rotationYaw; + rotationPitch = shooter.rotationPitch; + this.shooter = shooter; + shooterUUID = shooter.getUniqueID(); + ignoredEntities.add(shooter); } + /** + * Adds entities that the server collision trace must ignore. + */ public EntityIIChemthrowerShot withShooters(Entity... entities) { - if(entities.length > 0) - this.hitEntities.addAll(Arrays.asList(entities)); + ignoredEntities.addAll(Arrays.asList(entities)); return this; } + /** + * Adds block positions that the server collision trace must ignore. + */ public EntityIIChemthrowerShot withShooters(Collection blockPos) { - if(!blockPos.isEmpty()) - this.hitPos.addAll(blockPos); + ignoredPositions.addAll(blockPos); return this; } + /** + * Adds block positions that the server collision trace must ignore. + */ public EntityIIChemthrowerShot withShooters(BlockPos... blockPos) { - if(blockPos.length > 0) - this.hitPos.addAll(Arrays.asList(blockPos)); + ignoredPositions.addAll(Arrays.asList(blockPos)); return this; } + /** + * Sets projectile motion. + */ public EntityIIChemthrowerShot withMotion(double x, double y, double z) { - this.motionX = x; - this.motionY = y; - this.motionZ = z; + motionX = x; + motionY = y; + motionZ = z; return this; } + /** + * Sets projectile motion. + */ public EntityIIChemthrowerShot withMotion(Vec3d vecDir) { return withMotion(vecDir.x, vecDir.y, vecDir.z); } - @Override - protected void entityInit() + /** + * Sets the maximum projectile lifetime. + */ + public EntityIIChemthrowerShot withTickLimit(int limit) { - super.entityInit(); - this.dataManager.register(dataMarker_fluid, Optional.absent()); + tickLimit = Math.max(1, limit); + if(!world.isRemote&&ticksExisted > 0) + updateEntityForEvent(SyncEvents.ENTITY_CUSTOM1); + return this; } - public void setFluidSynced() + //--- NBT ---// + + @Override + @SideOnly(Side.CLIENT) + public void receiveNBTMessageClient(NBTTagCompound nbt) { - if(this.getFluid()!=null) - this.dataManager.set(dataMarker_fluid, Optional.of(this.getFluid())); + ISyncNBTEntity.super.receiveNBTMessageClient(nbt); + if(stopped) + applyStopState(); } - public FluidStack getFluidSynced() + @Override + public void readEntityFromNBT(NBTTagCompound compound) { - return this.dataManager.get(dataMarker_fluid).orNull(); + ISyncNBTEntity.super.readEntityFromNBT(compound); + if(stopped) + applyStopState(); } - public FluidStack getFluid() + @Override + public void writeEntityToNBT(NBTTagCompound compound) { - return fluid; + ISyncNBTEntity.super.writeEntityToNBT(compound); } + //--- Update ---// + @Override - public double getGravity() + protected void entityInit() { - if(getFluid()!=null) - { - FluidStack fluidStack = getFluid(); - boolean isGas = fluidStack.getFluid().isGaseous(fluidStack)||ChemthrowerHandler.isGas(fluidStack.getFluid()); - return (isGas?0.025f: 0.05F)*(fluidStack.getFluid().getDensity(fluidStack) < 0?-1: 1); - } - return super.getGravity(); + } @Override public void onUpdate() { - if(this.getShooter()==null&&this.world.isRemote) - this.shootingEntity = getShooterSynced(); - this.onEntityUpdate(); + super.onUpdate(); + if(isDead) + return; - if(!inGround) - { - flightTracer.stepTrace(world, this.getPositionVector(), - this.getPositionVector().addVector(motionX, motionY, motionZ), - hit -> { - if(hit==null||hit.typeOfHit==null) - { - System.out.println("Invalid RayTraceResult: "+hit); - return false; - } - - onImpact(hit); - - switch(hit.typeOfHit) - { - case BLOCK: - return hitPos.add(hit.getBlockPos()); - case ENTITY: - if(hit.entityHit!=null) - { - return onEntityHit(hit.entityHit); - } - break; - default: - System.out.println("Unhandled hit type: "+hit.typeOfHit); - break; - } - return false; - } - ); - } - else + if(stopped) { - handleInGroundState(); + //Stop the projectile on client if it's stopped on server + applyStopState(); + if(!world.isRemote&&++stoppedTicks >= Chemthrower.shotRemainingTicks) + setDead(); + return; } - updatePositionAndMotion(); - } - - private void handleInGroundState() - { - IBlockState state = this.world.getBlockState(getPosition()); - Block block = state.getBlock(); - if(block==this.inBlock&&block.getMetaFromState(state)==this.inMeta) + if(world.isRemote) { - ++this.ticksInGround; - if(this.ticksInGround >= getMaxTicksInGround()) - this.setDead(); + //Update on client, no colision simulation + Vec3d start = getPositionVector(); + moveProjectile(); + spawnTraceParticle(start, getPositionVector()); + return; } - else + + //Server-side update + resolveShooter(); + if(ticksExisted >= tickLimit) { - this.inGround = false; - this.motionX *= this.rand.nextFloat()*0.2F; - this.motionY *= this.rand.nextFloat()*0.2F; - this.motionZ *= this.rand.nextFloat()*0.2F; - this.ticksInGround = 0; - this.ticksInAir = 0; + stopAt(getPositionVector()); + return; } + + Vec3d start = getPositionVector(); + Vec3d end = start.addVector(motionX, motionY, motionZ); + //Trace the collision path and react + RayTraceResult collision = flightTracer.stepTrace(world, start, end, this::handleTraceHit); + //Stop projectile on first valid hit + if(collision==null&&!stopped) + moveProjectile(); + + //Ignite the block projectile is landed at + updateIgnition(); } - private void updatePositionAndMotion() + private boolean handleTraceHit(RayTraceResult hit) { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; + if(hit==null||hit.typeOfHit==null||hit.typeOfHit==Type.MISS) + return false; - this.motionY -= getGravity(); - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + return switch(hit.typeOfHit) + { + case ENTITY -> handleEntityCollision(hit); + case BLOCK -> handleBlockCollision(hit); + default -> false; + }; } - private boolean onEntityHit(Entity hit) + private boolean handleEntityCollision(RayTraceResult hit) { - if(hit==null) + Entity target = hit.entityHit; + if(target==null||ignoredEntities.contains(target)) + return false; + + if(shooter instanceof EntityPlayer&&target instanceof EntityPlayer&& + !((EntityPlayer)shooter).canAttackPlayer((EntityPlayer)target)) { - System.out.println("Attempted to process a null entity."); + ignoredEntities.add(target); return false; } - if(!hitEntities.add(hit)) return false; + if(!ignited&&canIgnite()&&target.isBurning()) + setFire(3); + handleFluidImpact(hit, fluidStack); + stopAt(getHitPosition(hit)); + return true; + } + + private boolean handleBlockCollision(RayTraceResult hit) + { + BlockPos pos = hit.getBlockPos(); + if(ignoredPositions.contains(pos)) + return false; + + IBlockState state = world.getBlockState(pos); + handleFluidImpact(hit, fluidStack); + if(state.getCollisionBoundingBox(world, pos)==Block.NULL_AABB) + return false; + + Vec3d hitPosition = getHitPosition(hit); + Vec3d direction = new Vec3d(motionX, motionY, motionZ); + double length = direction.lengthVector(); + if(length > 1e-6) + hitPosition = hitPosition.subtract(direction.scale(0.05d/length)); - if(fire > 0) hit.setFire(fire); + stopAt(hitPosition); + if(state.getMaterial()!=Material.AIR) + state.getBlock().onEntityCollidedWithBlock(world, pos, state, this); return true; } - @Override - public void onImpact(RayTraceResult mop) + private Vec3d getHitPosition(RayTraceResult hit) { - if(mop==null||mop.typeOfHit==null) - { - System.out.println("RayTraceResult is null or invalid."); + return hit.hitVec==null?getPositionVector(): hit.hitVec; + } + + private void stopAt(Vec3d position) + { + if(stopped) return; - } - if(!this.world.isRemote&&getFluid()!=null) - { - FluidStack fluidStack = getFluid(); - if(fluidStack!=null&&fluidStack.getFluid()!=null) - { - handleFluidImpact(mop, fluidStack); - } - else + stopped = true; + endPosition = position; + applyStopState(); + updateEntityForEvent(SyncEvents.ENTITY_COLLISION); + } + + private void applyStopState() + { + setPosition(endPosition.x, endPosition.y, endPosition.z); + motionX = 0; + motionY = 0; + motionZ = 0; + } + + private void moveProjectile() + { + posX += motionX; + posY += motionY; + posZ += motionZ; + updateRotation(); + + float decay = 0.99f; + if(isInWater()) + decay *= 0.8f; + motionX *= decay; + motionY *= decay; + motionZ *= decay; + motionY -= getGravity(); + + setPosition(posX, posY, posZ); + } + + private void updateRotation() + { + this.prevRotationYaw = this.rotationYaw; + this.prevRotationPitch = this.rotationPitch; + float[] rotation = IIMath.getRotationFromVector(motionX, motionY, motionZ); + this.rotationYaw = MathHelper.wrapDegrees(rotation[0]); + this.rotationPitch = rotation[1]; + } + + private void resolveShooter() + { + if(shooter!=null||shooterUUID==null) + return; + + for(Entity entity : world.loadedEntityList) + if(entity instanceof EntityLivingBase&&shooterUUID.equals(entity.getUniqueID())) { - System.out.println("FluidStack or Fluid is null."); + shooter = (EntityLivingBase)entity; + ignoredEntities.add(entity); + return; } - } - else - { - System.out.println("World is client-side or fluid is null."); - } + } + + private void updateIgnition() + { + if(!canIgnite()||ignited) + return; + + Material material = world.getBlockState(new BlockPos(posX, posY, posZ)).getMaterial(); + if(material==Material.FIRE||material==Material.LAVA) + setFire(6); + } + + /** + * Gets the gravity applied to the projectile. + */ + public double getGravity() + { + if(fluidStack==null||fluidStack.getFluid()==null) + return 0.05f; + + Fluid fluid = fluidStack.getFluid(); + boolean gas = fluid.isGaseous(fluidStack)||ChemthrowerHandler.isGas(fluid); + return (gas?0.025f: 0.05f)*(fluid.getDensity(fluidStack) < 0?-1: 1); + } + + /** + * Checks if the projectile fluid can ignite. + */ + public boolean canIgnite() + { + return ChemthrowerHandler.isFlammable(fluidStack==null?null: fluidStack.getFluid()); } @Override - protected boolean allowFriendlyFire(EntityPlayer target) + public void setFire(int seconds) { - return false; + if(!canIgnite()) + return; + + super.setFire(seconds); + if(world.isRemote) + return; + + boolean changed = !ignited; + ignited = true; + if(changed&&ticksExisted > 0) + updateEntityForEvent(SyncEvents.ENTITY_CUSTOM1); } - private void handleFluidImpact(RayTraceResult mop, FluidStack fluidStack) + private void handleFluidImpact(RayTraceResult hit, FluidStack fluidStack) { + if(fluidStack==null||fluidStack.getFluid()==null) + return; + Fluid fluid = fluidStack.getFluid(); ChemthrowerEffect effect = ChemthrowerHandler.getEffect(fluid); - - boolean fire = fluid.getTemperature(fluidStack) > 1000; + boolean hotFluid = fluid.getTemperature(fluidStack) > 1000; if(effect!=null) + applyChemthrowerEffect(hit, fluidStack, effect); + else if(hit.entityHit!=null&&fluid.getTemperature(fluidStack) > 500) { - applyChemthrowerEffect(mop, fluidStack, fluid, effect); - } - else if(mop.entityHit!=null&&fluid.getTemperature(fluidStack) > 500) - { - int tempDiff = fluid.getTemperature(fluidStack)-300; - int damage = Math.abs(tempDiff)/500; - if(mop.entityHit.attackEntityFrom(DamageSource.LAVA, damage)) - { - mop.entityHit.hurtResistantTime = (int)(mop.entityHit.hurtResistantTime*0.75); - } + int damage = Math.abs(fluid.getTemperature(fluidStack)-300)/500; + if(hit.entityHit.attackEntityFrom(DamageSource.LAVA, damage)) + hit.entityHit.hurtResistantTime = (int)(hit.entityHit.hurtResistantTime*0.75f); } - if(mop.entityHit!=null) + if(hit.typeOfHit==Type.BLOCK&&ignited) + applyBurningBlockImpact(hit); + + if(hit.entityHit!=null) { - int f = this.isBurning()?this.fire: fire?3: 0; - if(f > 0) + int fireTime = ignited?fire: hotFluid?3: 0; + if(fireTime > 0) { - mop.entityHit.setFire(f); - if(mop.entityHit.attackEntityFrom(DamageSource.IN_FIRE, 2)) - { - mop.entityHit.hurtResistantTime = (int)(mop.entityHit.hurtResistantTime*0.75); - } + hit.entityHit.setFire(fireTime); + if(hit.entityHit.attackEntityFrom(DamageSource.IN_FIRE, 2)) + hit.entityHit.hurtResistantTime = (int)(hit.entityHit.hurtResistantTime*0.75f); } } } - private void applyChemthrowerEffect(RayTraceResult mop, FluidStack fluidStack, Fluid fluid, ChemthrowerEffect effect) + private void applyChemthrowerEffect(RayTraceResult hit, FluidStack fluidStack, ChemthrowerEffect effect) { - ItemStack thrower = ItemStack.EMPTY; - EntityPlayer shooter = (EntityPlayer)this.getShooter(); - if(shooter!=null) - { - thrower = shooter.getHeldItem(EnumHand.MAIN_HAND); - } + EntityPlayer shooter = this.shooter instanceof EntityPlayer?(EntityPlayer)this.shooter: null; + ItemStack thrower = shooter==null?ItemStack.EMPTY: shooter.getHeldItem(EnumHand.MAIN_HAND); - if(mop.typeOfHit==Type.ENTITY&&mop.entityHit instanceof EntityLivingBase) - { - effect.applyToEntity((EntityLivingBase)mop.entityHit, shooter, thrower, fluidStack); - } - else if(mop.typeOfHit==Type.BLOCK) - { - effect.applyToBlock(world, mop, shooter, thrower, fluidStack); - } + if(hit.typeOfHit==Type.ENTITY&&hit.entityHit instanceof EntityLivingBase) + effect.applyToEntity((EntityLivingBase)hit.entityHit, shooter, thrower, fluidStack); + else if(hit.typeOfHit==Type.BLOCK) + effect.applyToBlock(world, hit, shooter, thrower, fluidStack); + } + + private void applyBurningBlockImpact(RayTraceResult hit) + { + BlockPos pos = hit.getBlockPos(); + IBlockState state = world.getBlockState(pos); + IPenetrationHandler penetration = PenetrationRegistry.getPenetrationHandler(state); + if(PenetrationCache.dealBlockBurnDamage(world, Chemthrower.shotBlockBurnDamage, pos, penetration)) + return; + + EnumFacing side = hit.sideHit==null?EnumFacing.UP: hit.sideHit; + BlockPos firePos = pos.offset(side); + if(!world.isOutsideBuildHeight(firePos)&&world.isAirBlock(firePos)&&Blocks.FIRE.canPlaceBlockAt(world, firePos)) + world.setBlockState(firePos, Blocks.FIRE.getDefaultState(), 3); + } + + @SideOnly(Side.CLIENT) + private void spawnTraceParticle(Vec3d start, Vec3d end) + { + if(fluidStack==null||fluidStack.getFluid()==null) + return; + + Fluid fluidStack = this.fluidStack.getFluid(); + boolean gas = (fluidStack.isGaseous(this.fluidStack)||ChemthrowerHandler.isGas(fluidStack)); + String particleName = gas?"gas": "fluid"; + IIColor color = IIClientUtils.getFluidTextureColor(this.fluidStack); + if(ignited) + particleName = ticksExisted < 6?particleName+"_fire": (gas?"fire_gas": "fire"); + + AbstractParticle particle = ParticleRegistry.spawnParticle("chemthrower/"+particleName, start, new Vec3d(motionX, motionY, motionZ), new Vector2f()); + if(particle!=null) + particle.withProperty(ParticleProperties.STRETCH, new Vector3f((float)end.x, (float)end.y, (float)end.z)) + .withProperty(ParticleProperties.COLOR, color) + .withProperty(ParticleProperties.SIZE, (gas?2.5f: 0.75f)*MathHelper.clamp(ticksExisted/10f, 0.35f, 1f)); } @Override + public boolean attackEntityFrom(DamageSource source, float amount) + { + return false; + } + @SideOnly(Side.CLIENT) - public int getBrightnessForRender() + @Override + public boolean canRenderOnFire() { - FluidStack fluidStack = getFluid(); - if(fluidStack!=null) - { - int light = this.isBurning()?15: fluidStack.getFluid().getLuminosity(fluidStack); - int superBrightness = super.getBrightnessForRender(); - light = (superBrightness&(0xff<<20))|(light<<4); - if(light > 0) - return Math.max(light, superBrightness); - } - return super.getBrightnessForRender(); + return false; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean isInRangeToRender3d(double x, double y, double z) + { + return false; } + //--- Mirage compat ---// + @Override public float getBrightness() { - FluidStack fluidStack = getFluid(); if(fluidStack!=null) { - int light = this.isBurning()?15: fluidStack.getFluid().getLuminosity(fluidStack); + int light = ignited?15: fluidStack.getFluid().getLuminosity(fluidStack); if(light > 0) return Math.max(light, super.getBrightness()); } @@ -360,12 +531,11 @@ public float getBrightness() @Method(modid = "mirage") public void gatherLights(GatherLightsEvent gatherLightsEvent, Entity entity) { - FluidStack fluidStack = getFluid(); - if(fluidStack!=null) - { - int light = this.isBurning()?15: fluidStack.getFluid().getLuminosity(fluidStack); - if(light > 0) - gatherLightsEvent.add(Light.builder().pos(this).radius(.05f*light).color(1, 1, 1).build()); - } + if(fluidStack==null) + return; + + int light = ignited?15: fluidStack.getFluid().getLuminosity(fluidStack); + if(light > 0) + gatherLightsEvent.add(Light.builder().pos(this).radius(0.05f*light).color(1, 1, 1).build()); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java index e44662e3c..fc41fa20b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/component/EntityWhitePhosphorus.java @@ -24,13 +24,13 @@ public class EntityWhitePhosphorus extends EntityIEProjectile implements IEntity public EntityWhitePhosphorus(World world) { super(world); - setTickLimit(8); + setTickLimit(60); } public EntityWhitePhosphorus(World world, double x, double y, double z, double ax, double ay, double az) { super(world, x, y, z, ax, ay, az); - setTickLimit(8); + setTickLimit(60); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoGuidedMissile.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoGuidedMissile.java index 804b8361d..0820dbeb0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoGuidedMissile.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoGuidedMissile.java @@ -27,9 +27,7 @@ public EntityAmmoGuidedMissile(World world) protected void spawnTrailParticles() { super.spawnTrailParticles(); - - ParticleRegistry.spawnParticle("ammo/missile_wire", getPositionVector(), - Vec3d.ZERO, new Vector2f((float)Math.toRadians(rotationYaw), (float)Math.toRadians(rotationPitch-90))) - .withProperty(ParticleProperties.STRETCH, new Vector3f(1, velocity, 1)); + ParticleRegistry.spawnParticle("ammo/missile_wire", getPositionVector(), Vec3d.ZERO, new Vector2f()) + .withProperty(ParticleProperties.STRETCH, new Vector3f((float)prevPosX, (float)prevPosY, (float)prevPosZ)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java index a1532943e..1c0b07556 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java @@ -7,6 +7,7 @@ import pl.pabilo8.immersiveintelligence.api.ammo.penetration.IPenetrationHandler; import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleProperties; import pl.pabilo8.immersiveintelligence.client.fx.utils.ParticleRegistry; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.entity.IIEntityUtils; import javax.vecmath.Vector2f; @@ -18,6 +19,7 @@ */ public class EntityAmmoMissile extends EntityAmmoProjectile { + @SyncNBT int fuelRemaining = 1000; public EntityAmmoMissile(World world) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java index 0129ea24b..f1ae09f81 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java @@ -1,5 +1,6 @@ package pl.pabilo8.immersiveintelligence.common.entity.ammo.types; +import lombok.Getter; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -30,6 +31,7 @@ import pl.pabilo8.immersiveintelligence.api.ammo.utils.PenetrationCache; import pl.pabilo8.immersiveintelligence.common.entity.ammo.EntityAmmoBase; import pl.pabilo8.immersiveintelligence.common.util.IIDamageSources; +import pl.pabilo8.immersiveintelligence.common.util.IIMath; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; @@ -98,6 +100,7 @@ public class EntityAmmoProjectile extends EntityAmmoBase /** * The velocity of the bullet, in blocks per tick */ + @Getter @SyncNBT(events = SyncEvents.ENTITY_COLLISION) public float velocity; /** @@ -171,11 +174,6 @@ public float getDamage() //--- Update ---// - public float getVelocity() - { - return velocity; - } - @Override public void onUpdate() { @@ -212,10 +210,9 @@ public void onUpdate() */ protected void doRotations() { - Vec3d normalized = new Vec3d(motionX, motionY, motionZ).normalize(); - float motionXZ = MathHelper.sqrt(normalized.x*normalized.x+normalized.z*normalized.z); - this.rotationYaw = (float)((Math.atan2(normalized.x, normalized.z)*180D)/Math.PI); - this.rotationPitch = -(float)((Math.atan2(normalized.y, motionXZ)*180D)/Math.PI); + float[] rotation = IIMath.getRotationFromVector(motionX, motionY, motionZ); + this.rotationYaw = rotation[0]; + this.rotationPitch = rotation[1]; } /** @@ -561,6 +558,8 @@ public void readEntityFromNBT(NBTTagCompound compound) EasyNBT nbt = EasyNBT.wrapNBT(compound); this.baseMotion = nbt.getVec3d("base_motion"); + this.rotationYaw = nbt.getFloat("yaw"); + this.rotationPitch = nbt.getFloat("pitch"); this.ignoredEntities = nbt.streamList(NBTTagInt.class, "ignored_entities", EasyNBT.TAG_INT) .map(NBTTagInt::getInt) .map(world::getEntityByID) @@ -579,6 +578,8 @@ public void writeEntityToNBT(NBTTagCompound compound) super.writeEntityToNBT(compound); EasyNBT nbt = EasyNBT.wrapNBT(compound); nbt.withVec3d("base_motion", baseMotion); + nbt.withFloat("yaw", rotationYaw); + nbt.withFloat("pitch", rotationPitch); if(ignoredEntities!=null&&!ignoredEntities.isEmpty()) nbt.withList("ignored_entities", e -> new NBTTagInt(e.getEntityId()), ignoredEntities); if(ignoredPositions!=null&&!ignoredPositions.isEmpty()) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIChemthrowerOverride.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIChemthrowerOverride.java new file mode 100644 index 000000000..ebd90f9ad --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/weapons/ItemIIChemthrowerOverride.java @@ -0,0 +1,104 @@ +package pl.pabilo8.immersiveintelligence.common.item.weapons; + +import blusunrize.immersiveengineering.api.tool.ChemthrowerHandler; +import blusunrize.immersiveengineering.common.Config.IEConfig; +import blusunrize.immersiveengineering.common.IEContent; +import blusunrize.immersiveengineering.common.items.ItemChemthrower; +import blusunrize.immersiveengineering.common.util.IESounds; +import blusunrize.immersiveengineering.common.util.ItemNBTHelper; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.math.Vec3d; +import net.minecraftforge.fluids.FluidStack; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Overrides.Chemthrower; +import pl.pabilo8.immersiveintelligence.common.entity.ammo.component.EntityIIChemthrowerShot; + +/** + * Overrides IE's chemthrower to use II chemthrower projectiles and particle effects. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @since 14.08.2026 + */ +public class ItemIIChemthrowerOverride extends ItemChemthrower +{ + /** + * Creates the chemthrower override and replaces the IE item registration entry. + */ + public ItemIIChemthrowerOverride() + { + super(); + IEContent.registeredIEItems.removeIf(item -> item instanceof ItemChemthrower); + IEContent.registeredIEItems.add(this); + } + + @Override + public void onUsingTick(ItemStack stack, EntityLivingBase user, int count) + { + //Can't use without fluid + FluidStack fluidStack = getFluid(stack); + if(fluidStack==null||fluidStack.getFluid()==null) + { + user.stopActiveHand(); + return; + } + + //Compute if firing is still possible with fluid already consumed + int duration = getMaxItemUseDuration(stack)-count; + int consumption = IEConfig.Tools.chemthrower_consumption; + if(consumption*duration > fluidStack.amount) + { + user.stopActiveHand(); + return; + } + + //Set range and scatter + boolean gas = fluidStack.getFluid().isGaseous(fluidStack)||ChemthrowerHandler.isGas(fluidStack.getFluid()); + float scatter = gas?Chemthrower.chemthrowerScatterGas: Chemthrower.chemthrowerScatterFluid; + float range = gas?Chemthrower.chemthrowerRangeGas: Chemthrower.chemthrowerRangeFluid; + + //Reduce spraying if focus upgrade is installed + if(getUpgrades(stack).getBoolean("focus")) + { + range += Chemthrower.chemthrowerRangeFocusModifier; + scatter -= Chemthrower.chemthrowerScatterFocusModifier; + } + + boolean ignite = ChemthrowerHandler.isFlammable(fluidStack.getFluid())&&ItemNBTHelper.getBoolean(stack, "ignite"); + Vec3d look = user.getLookVec(); + //Create shot entities + for(int i = 0; i < Chemthrower.chemthrowerShotsPerTick; i++) + { + Vec3d direction = look.addVector( + user.getRNG().nextGaussian()*scatter, + user.getRNG().nextGaussian()*scatter, + user.getRNG().nextGaussian()*scatter + ); + + if(!user.world.isRemote) + { + EntityIIChemthrowerShot shot = new EntityIIChemthrowerShot(user.world, user, + direction.x*0.25, direction.y*0.25, direction.z*0.25, fluidStack) + .withMotion( + user.motionX+direction.x*range, + user.motionY+direction.y*range, + user.motionZ+direction.z*range + ); + if(ignite) + shot.setFire(10); + user.world.spawnEntity(shot); + } + + //Recoil / pushback + user.motionX -= direction.x*Chemthrower.chemthrowerPushback*range; + user.motionY -= direction.y*Chemthrower.chemthrowerPushback*range; + user.motionZ -= direction.z*Chemthrower.chemthrowerPushback*range; + } + + //Play spraying sound + if(count%4==0) + user.world.playSound(null, user.posX, user.posY, user.posZ, + ignite?IESounds.sprayFire: IESounds.spray, + SoundCategory.PLAYERS, 0.5f, ignite?1.5f: 0.75f); + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java index ee45fc9ff..a3e5abcb0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java @@ -118,6 +118,36 @@ public static Vec3d offsetPosDirectionXYZ(Vec3d offset, float rotationYaw, float .add(offsetPosDirection(offset.z, yawZ, 0)); } + + /** + * Calculates yaw and pitch from a vector. + * + * @param x x component of the vector + * @param y y component of the vector + * @param z z component of the vector + * @return yaw and pitch of the vector in degrees (-180 to 180) + */ + public static float[] getRotationFromVector(double x, double y, double z) + { + return getRotationFromVector(new Vec3d(x, y, z)); + } + + /** + * Calculates yaw and pitch from a vector. + * + * @param vector the vector to get the rotation from + * @return yaw and pitch of the vector in degrees (-180 to 180) + */ + public static float[] getRotationFromVector(Vec3d vector) + { + Vec3d normalized = vector.normalize(); + float horizontal = MathHelper.sqrt(normalized.x*normalized.x+normalized.z*normalized.z); + return new float[]{ + (float)((MathHelper.atan2(normalized.x, normalized.z)*180D)/Math.PI), + (float)((MathHelper.atan2(normalized.y, horizontal)*180D)/Math.PI) + }; + } + /** * Works™ */ diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIIBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIIBase.java index 149c812f8..d04fb72e9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIIBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIIBase.java @@ -76,7 +76,7 @@ public class BlockIIBase & IIBlockEnum> extends Block implemen * Hiding block's ItemBlock by meta
    * Whether SubBlocks are not full cubes */ - protected final boolean[] hidden, fullCubes; + protected final boolean[] hidden, fullCubes, flammable; /** * Language key for tooltip description in ItemBlock */ @@ -131,6 +131,8 @@ public BlockIIBase(String name, PropertyEnum mainProperty, Material material, Arrays.fill(this.hidden, false); this.fullCubes = new boolean[sub]; Arrays.fill(this.fullCubes, false); + this.flammable = new boolean[sub]; + Arrays.fill(this.flammable, false); this.stackAmounts = new int[sub]; Arrays.fill(this.stackAmounts, 64); @@ -198,6 +200,7 @@ public void parseSubBlocks() if(properties.hidden().isSet()) hidden[i] = properties.hidden().isTrue(); if(properties.fullCube().isSet()) fullCubes[i] = properties.fullCube().isTrue(); + if(properties.flammable().isSet()) flammable[i] = properties.flammable().isTrue(); if(properties.stackSize()!=-1) stackAmounts[i] = properties.stackSize(); if(properties.opacity()!=-1) opaqueness[i] = properties.opacity(); @@ -535,6 +538,12 @@ public final BlockIIBase setFullCube(boolean fullCube) return this; } + public final BlockIIBase setFlammable(boolean flammable) + { + Arrays.fill(this.flammable, flammable); + return this; + } + protected boolean normalBlockCheck(@Nonnull IBlockState state) { if(enumValues==null||!this.equals(state.getBlock())) return true; @@ -592,6 +601,16 @@ public boolean isNormalCube(@Nonnull IBlockState state, @Nullable IBlockAccess w return normalBlockCheck(state); } + @Override + public boolean isFlammable(IBlockAccess world, BlockPos pos, EnumFacing face) + { + IBlockState state = world.getBlockState(pos); + if(enumValues==null||!this.equals(state.getBlock())) + return true; + int meta = state.getValue(property).getMeta(); + return flammable[meta%enumValues.length]; + } + //--- Tool Types ---// public void setToolTypes(String... toolTypes) @@ -629,4 +648,4 @@ public IngredientStack getIngredientStack(E subBlock, int amount) { return new IngredientStack(getStack(subBlock, amount)); } -} \ No newline at end of file +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/IIBlockInterfaces.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/IIBlockInterfaces.java index 35838a7b3..057b16aee 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/IIBlockInterfaces.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/IIBlockInterfaces.java @@ -97,6 +97,11 @@ default boolean listForCreative() */ TernaryValue fullCube() default TernaryValue.UNSET; + /** + * @return whether this SubBlock can be set on fire + */ + TernaryValue flammable() default TernaryValue.UNSET; + /** * @return max stack size of ItemBlock for this SubBlock, if different from block */ diff --git a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/chemical_painter.json b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/chemical_painter.json index 34a1ef28f..688935f31 100644 --- a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/chemical_painter.json +++ b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/chemical_painter.json @@ -56,10 +56,10 @@ "item_input": 29, "item_output": 25, "uv_light": 47, - "tank_cyan": [39, 59], - "tank_magenta": [38, 58], - "tank_yellow": [36, 56], - "tank_black": [35, 55] + "tank_black": [39, 59], + "tank_yellow": [38, 58], + "tank_magenta": [36, 56], + "tank_cyan": [35, 55] }, "rotations": { "item_output": "clockwise_90" diff --git a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/coagulator.json b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/coagulator.json index dffc188b5..22f19f7b3 100644 --- a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/coagulator.json +++ b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/coagulator.json @@ -166,7 +166,9 @@ "tank_coagulant": 140, "tank_input": 146, "item_outputs": [33, 32, 31, 30, 29, 28], - "control_panel": 69 + "control_panel": 69, + "tank_input_blocks": [146, 145, 152, 153, 111, 110, 117, 118], + "tank_coagulant_blocks": [140, 141, 147, 148, 105, 106, 112, 113] }, "rotations": { "item_outputs": "clockwise_180" diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/data_connector/chemical_dispenser.json b/src/main/resources/assets/immersiveintelligence/blockstates/data_connector/chemical_dispenser.json index efdf6f47d..63ed6997e 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/data_connector/chemical_dispenser.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/data_connector/chemical_dispenser.json @@ -32,7 +32,7 @@ "transform": { "rotation": [ { - "y": 90 + "y": 0 } ] } @@ -41,7 +41,7 @@ "transform": { "rotation": [ { - "y": 90 + "y": 0 }, { "z": 180 } @@ -57,9 +57,14 @@ }, "south": { "transform": { - "rotation": { - "x": -90 - } + "rotation": [ + { + "x": -90 + }, + { + "y": -180 + } + ] } }, "west": { diff --git a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang index d2ba04124..70c46a672 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang @@ -1291,6 +1291,14 @@ desc.immersiveintelligence.fire_missions_module.tooltip=Add and modify fire miss desc.immersiveintelligence.tooltip.armor=Armor %f%% +desc.immersiveintelligence.coagulator.input_tank=Input Tank +desc.immersiveintelligence.coagulator.coagulant_tank=Coagulant Tank + +desc.immersiveintelligence.chemical_painter.tank_cyan=Cyan Ink Tank +desc.immersiveintelligence.chemical_painter.tank_magenta=Magenta Ink Tank +desc.immersiveintelligence.chemical_painter.tank_yellow=Yellow Ink Tank +desc.immersiveintelligence.chemical_painter.tank_black=Black Ink Tank + desc.immersiveintelligence.upgrade_gui.title=Upgrade Machine desc.immersiveintelligence.upgrade_gui.tech_tree=Tech Tree desc.immersiveintelligence.upgrade_gui.info=Information diff --git a/src/main/resources/assets/immersiveintelligence/particles/ammo/missile_wire.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/ammo/missile_wire.fx.amt index 2ccc6c99d..70c175098 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/ammo/missile_wire.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/ammo/missile_wire.fx.amt @@ -1,10 +1,13 @@ { - "type": "ParticleModel", - "models": ["ammo/rocket_wire.obj"], + "type": "ParticleRibbon", + "textures": [ + "immersiveintelligence:particle/tracer/missile_wire" + ], + "size": 1.0, "max_lifetime": 200, "draw_stage": "custom", "alpha": 0.05, "programs": [ "gravity(0.12,0.05)" ] -} \ No newline at end of file +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt index 4ceea2d5e..f3f31673a 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt @@ -13,4 +13,4 @@ "type": "ammo/tracer_mid" } ] -} \ No newline at end of file +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_end.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_end.fx.amt deleted file mode 100644 index dd5acf3fd..000000000 --- a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_end.fx.amt +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "ParticleModel", - "models": ["ammo/tracer_end.obj"], - "max_lifetime": 2, - "draw_stage": "custom_additive" -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire.fx.amt new file mode 100644 index 000000000..ff15c6769 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire.fx.amt @@ -0,0 +1,19 @@ +{ + "type": "ParticleVanilla", + "max_lifetime": 5, + "size": 0.75, + "draw_stage": "custom_additive", + "color": "cfcfcf", + "textures": [ + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3" + ], + "programs": [ + "dust_transition" + ], + "properties": { + "color": "cfcfcf" + } +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire_gas.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire_gas.fx.amt new file mode 100644 index 000000000..6e86513b7 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fire_gas.fx.amt @@ -0,0 +1,10 @@ +{ + "type": "ParticleVanilla", + "max_lifetime": 4, + "size": 0.75, + "draw_stage": "custom_additive", + "textures": ["immersiveintelligence:particle/smoke/explosion_smoke"], + "programs": [ + "shockwave_transition" + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid.fx.amt new file mode 100644 index 000000000..f243d2b86 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid.fx.amt @@ -0,0 +1,16 @@ +{ + "type": "ParticleVanilla", + "max_lifetime": 6, + "size": 0.25, + "draw_stage": "custom", + "textures": [ + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3" + ], + "programs": [ + "smoke_transition(0.35)", + "lifetime_retexture" + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid_fire.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid_fire.fx.amt new file mode 100644 index 000000000..22a920f41 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/fluid_fire.fx.amt @@ -0,0 +1,25 @@ +{ + "type": "ParticleVanilla", + "max_lifetime": 3, + "size": 0.5, + "draw_stage": "custom", + "textures": [ + "immersiveintelligence:particle/shrapnel/shrapnel0", + "immersiveintelligence:particle/shrapnel/shrapnel1", + "immersiveintelligence:particle/shrapnel/shrapnel2", + "immersiveintelligence:particle/shrapnel/shrapnel3" + ], + "programs": [ + "smoke_transition(0.55)", + "lifetime_retexture" + ], + "scheduled": [ + { + "amount": 1, + "time": 1, + "type": "chemthrower/fire", + "generator": "same", + "inherited_properties": ["size"] + } + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas.fx.amt new file mode 100644 index 000000000..4e6c7abfd --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas.fx.amt @@ -0,0 +1,16 @@ +{ + "type": "ParticleVanilla", + "max_lifetime": 12, + "size": 0.75, + "alpha": 0.25, + "draw_stage": "custom_smoke_noise_shader", + "textures": [ + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke4", + "immersiveintelligence:particle/smoke_trej/smoke5", + "immersiveintelligence:particle/smoke_trej/smoke6" + ], + "programs": [ + "smoke_transition(0.35)" + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas_fire.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas_fire.fx.amt new file mode 100644 index 000000000..3630ee407 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/chemthrower/gas_fire.fx.amt @@ -0,0 +1,24 @@ +{ + "type": "ParticleVanilla", + "max_lifetime": 9, + "size": 0.75, + "draw_stage": "custom_smoke_noise_shader", + "textures": [ + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke4", + "immersiveintelligence:particle/smoke_trej/smoke5", + "immersiveintelligence:particle/smoke_trej/smoke6" + ], + "programs": [ + "smoke_transition(0.35)" + ], + "scheduled": [ + { + "amount": 1, + "time": 5, + "type": "chemthrower/fire", + "generator": "same", + "inherited_properties": ["size"] + } + ] +} diff --git a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/orb.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/orb.fx.amt index 18495413e..3bdc98aa3 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/orb.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/orb.fx.amt @@ -18,7 +18,7 @@ { "time": 20, "generator": "rand_xz", - "distance": 2.0, + "distance": 1.5, "amount": 4, "type": "phosphorus/smoke_main" } diff --git a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_main.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_main.fx.amt index 558c9a77a..84fe277f2 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_main.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_main.fx.amt @@ -8,5 +8,6 @@ "programs": [ "smoke_transition" ], - "size": 4.5 + "size": 4.5, + "motion": [0.0, 0.0, 0.0] } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_trace.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_trace.fx.amt index 219a1afd6..833eec1b8 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_trace.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/phosphorus/smoke_trace.fx.amt @@ -1,6 +1,14 @@ { "type": "ParticleVanilla", - "textures": ["immersiveintelligence:particle/smoke/smoke"], + "textures": [ + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke4", + "immersiveintelligence:particle/smoke_trej/smoke5", + "immersiveintelligence:particle/smoke_trej/smoke6" + ], "max_lifetime": 80, "draw_stage": "custom_smoke_noise_shader", "aabb": 0.3, diff --git a/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt index 05bbe1a04..a632ca115 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/shrapnel/burst.fx.amt @@ -1,19 +1,12 @@ { "type": "ParticleVanilla", "textures": [ - "immersiveintelligence:particle/shrapnel/shrapnel0", - "immersiveintelligence:particle/shrapnel/shrapnel1", - "immersiveintelligence:particle/shrapnel/shrapnel2", - "immersiveintelligence:particle/shrapnel/shrapnel3", - "immersiveintelligence:particle/shrapnel/shrapnel0", - "immersiveintelligence:particle/shrapnel/shrapnel1", - "immersiveintelligence:particle/shrapnel/shrapnel2", - "immersiveintelligence:particle/shrapnel/shrapnel3" + "immersiveintelligence:particle/shrapnel/shrapnel0" ], "max_lifetime": 20, "draw_stage": "custom", "color": "FFFFFFFF", - "size": 1.0, + "size": 0.5, "programs": [ "lifetime_retexture", "dust_transition", diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke0.png b/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke0.png new file mode 100644 index 0000000000000000000000000000000000000000..c56964cea60fab6c1d73cedda31f3782fbcdba5d GIT binary patch literal 4335 zcmeHJO-vI}5PpTSr7eXO45fzHa@3FzV}yeSQcGJF!%swFdm&O<)B|d?2`3MF^W=dG z0Yg0D0n+G20s#{+Tp$__CZHkF1`=9++Y(6sD9#jjS+=WP3=uU<^ZI^f=9_u*=FPrm zjrCTI>WqpIqG4*PuS0LZmQ4{NlRvI?z(juASZ5^U&2x3UH4EmHlCB%#W{z`$-#PtS+n z!#H5Ix3_oI@As>^ySr73i;GETGWagd&(EJ98X8hL91e){9vwhn7yoe2`QUUqsg{>Th=nC4&|l92`snXf&GO*4EapP#Nbx-GZ1fo5OsbC;(p|-S{6k=X6{65BMp^ z$fj{aLxXl{X=#I|>Et%yE=R@kKr|DZnwoNfJ}DFm`R3-P7t(kKP%erEECs+~u~6IF z+Y`;r&8L4T(8I&St9ZG@JV;5Tk&%(8TrRH+1olf4+=GIusw%G9@;ylbKqg$@1>C#G z;~`MX(Q+6-_vva*tzn3&*- zh*%6#09a+Iy=V-iDx=)-102TN6WRYW0+Q|lmN+CVD10g}FQ=xarnrlSJbcC=iCwxR zL+~eB3IsCT6w4%(MrAY_C2MPIZ;@d#nV7M$v1Nu~X0UAfd_E)8Ao04vA?*(&Ie;bB zU@*{;NMtB8GxMC;Y*s>@CivU~^1ECv($&>PbUIxTyz-O~sgTqNNGb$inC$HA5Hwy} zTdRa3N$@$DmzS4p=tWss8G-dL@GXdd%-&}R8EHt81LNc4QFtH8z~ELm9OjH7b}$%B zHgo{a|0_5^LFwO4W0zweDhb=$+i3uQXS3NZjE;_ySS)r5KAVb_l@%Yn20tQdB9UO= z6S6!xImsFM)!6Nnz_CZ5WhOVY S@Y!<~kA^YVS9`ABdiotCygW$& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke1.png b/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke1.png new file mode 100644 index 0000000000000000000000000000000000000000..4acee54388b287c93d3fc8fab1293efc78b99181 GIT binary patch literal 4335 zcmc&$TS%No6rNw#?5Q&9zfOL(a+t3D5m^t@~Is4O_H!Et) zEc;f)RdYqT{!XR&6Mdd3zv#m+&xSH~F3*&c_5KyDaPeIKy5R3mru{p72+hdIVAa*t zi6WVHWM^kHI|ktj76n0+QCV3TEr}&Q;-8(JwYirO6ci+J5wfGrVv0oQd3jg_xJbz z&}cN(<>lp(2mp(Zj~5i&Ah;9&=Dyn6+6Q4_VIt4m+#G9dZMCCP6+)yuaOr7jX)i}b zMM=y=-`Ln-6B82!H8nLK@qHXBEEpOZn#ZEByuADx;P%MK$Y@GRiVh{Z=_&?_EO5yu zg(^>Z_9V!A3mi3gDk9n|FC;}490i^PS7hP1N_3S0QlJn(#H6I8Xq(MuKn3=xRI1T~ zgM-fp1_nA^x#;8qX-6Sl$ASI=TzU6diVq;^O zTCGmU+6B(Yp_2e2;w=1SFc|o{2zz>ZSW{C|CCmYMssuX6Wrztm>1GI z<()oP(UTkJwg``!Q$E^5D4Nmvva+%ddV6~lGcz+qIe~$J3~wa{!`RNw4(sUXV5_UE zMl^D@#bWt|_~q%68{jqtN6cMN@ZR3uo))=%wXm>|IX*p2CX*zS-Y^LX34LvCZBE@( z+Ta3l8v(p!E}#+G(94sIM&pCHxHu;7v~ro~eQbJqnr&}y>+u?S>Qw{~`as-HjNYuI z7>3C8NpoBS%xbkVTt*C!v-^lfE(-Kd7@)WUBqktkBS1N%#~LoEj}eVK#0aAp9&e%y z+_%E!=B6E2rG0X8Qkb8g@7mhh`UcPRE`CxxMZlv0qzRrB5ybsegJS!eiVRopVR(4> z+Y1W|FVPxO6^eo!BAk@+F6yZhx-CKyMgwR3@pFtlhB0rz<9-~wS5{V5Hpa)t7mwCN z=*i=wy%KO60cqENhI-$2p-0}bK2Bbf-O#NhiY9u2~xdk~tzFBtnA6i1e AegFUf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke2.png b/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke2.png new file mode 100644 index 0000000000000000000000000000000000000000..a394d14c78ce665f75df5d8ac23ff56388979f57 GIT binary patch literal 4335 zcmcIn3rti;6rHypc3IdBgc1sh&;p5Avnnb`>IW(Wfvf_4Kt-#h#A>1~Ee&m2Z2BRM ziHQ=^L<>=)O)QD6P!Q6Rw$wKGK`Vkp<0qj6k-s9s0t>vJ`(R#o*S9F49rAYG+_|4~ z@4NTTa3E!Eg3%CQV2l|P*Tkh^4yH%%#+abVPs+kVvn$pT%UIbVkI|i4tlhGb6XKXi zei!=f-E`u6}3l-t2w3 zZ1sEDJ9D$&3eMY|`*v_bq9rB$Gm{@sm=Kbx0ty1Lpb#eg$F z<*|y23iaj7mu>Cs?X0DxC0*jgkNkOv0Du?9$H&hh28U=(TAu5s1B1Q090O^xr_-7S z-%S3qH+W=4Ty+{5Og}7COkZxH8nMf zMMXsi$HvBvB0t-ar-P(Pt<_Q?O^j8mRxNXPch@B)CGAK~PS%HngsA4snZpnm2D;$y z?;njkK79WC`ED*FXA=dO`H+K1@ZtOGTefUj4nctgs2*shn!w%|gnHm&FBhg+ zRzM3d2j07P&w!GZ1P2EP8DhcE <}V7>mvjT;W1S1#w6m>5HOd3lA^YOO)pW^{IT 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 Ql*r9Yo0EEA+Ruyr4N;-V-2eap literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke5.png b/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke5.png new file mode 100644 index 0000000000000000000000000000000000000000..5a339962b5b5391e0dec1a61e4c527b2848c7538 GIT binary patch literal 4335 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 Mq_m_16LL!a4Ugxjz5oCK literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke6.png b/src/main/resources/assets/immersiveintelligence/textures/particle/smoke_trej/smoke6.png new file mode 100644 index 0000000000000000000000000000000000000000..76f9c3913e1ff40b9c45f6bcb6dd0544d0f36c13 GIT binary patch literal 4335 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 literal 0 HcmV?d00001 From 7bde462da72474a4b975768d4d1d5c40b88af732 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sat, 15 Aug 2026 01:58:15 +0200 Subject: [PATCH 17/23] Fixed Data Router GUI tooltip crash --- .../gui/deco/component/collection/DecoScrolledCollection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoScrolledCollection.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoScrolledCollection.java index b16027913..e0819f734 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoScrolledCollection.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/collection/DecoScrolledCollection.java @@ -72,7 +72,7 @@ public void setParentGUI(DecoGui parent) public List getTooltip() { List tooltip = super.getTooltip(); - return tooltip.isEmpty()?display.getTooltip(): tooltip; + return (tooltip.isEmpty()&&display!=this)?display.getTooltip(): tooltip; } /** From 430d2f87318662758cdcf93cf2c690ca2b3f2e56 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sat, 15 Aug 2026 02:50:15 +0200 Subject: [PATCH 18/23] Added input validation to the Ballistic Computer, modernized code, updated manual page Closes #670 --- .../api/ammo/utils/IIAmmoUtils.java | 155 +++++++++++--- .../TileEntityBallisticComputer.java | 192 ++++++++++-------- .../common/util/IIMath.java | 8 + .../staticdefense/ballistic_computer.md | 38 +++- 4 files changed, 278 insertions(+), 115 deletions(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java index 8f6e2fcd0..ef90354e8 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java @@ -65,11 +65,17 @@ import java.util.stream.Stream; /** + * Provides shared ammunition, ballistic, penetration, and effect utilities. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @since 14.03.2020 */ public class IIAmmoUtils { + private static final int MAX_TRAJECTORY_SIMULATION_STEPS = 4096; + private static final double MIN_TRAJECTORY_VELOCITY = 1e-7D; + //--- Global Values ---// public static boolean ammoBreaksBlocks = Weapons.blockDamage; public static boolean ammoExplodesBlocks = Ammunition.blockDamage; @@ -160,29 +166,42 @@ public static float calculateBallisticAngle(Vec3d posShooter, Vec3d posTarget, I */ public static float calculateBallisticAngle(double distance, double height, float force, double gravity, double drag, double anglePrecision) { - double bestAngle = 0; - double bestDistance = Float.MAX_VALUE; + if(!areFinite(distance, height, force, gravity, drag, anglePrecision) + ||distance < 0||force <= 0||gravity < 0||drag <= 0||drag > 1||anglePrecision <= 0||anglePrecision >= 0.5D) + return Float.NaN; if(gravity==0D) - return 90F-(float)(Math.atan(height/distance)*180F/Math.PI); + return 90F-(float)Math.toDegrees(Math.atan2(height, distance)); + + double bestAngle = 0; + double bestDistance = Double.MAX_VALUE; + int angleSteps = 0; /* - * simulate the trajectory for angles from 45 to 90 degrees, - * returning the angle which lands the projectile closest to the target distance + * Simulate the trajectory for candidate angles and stop malformed or unreachable + * calculations before they can hold the server thread indefinitely. */ for(double i = Math.PI*anglePrecision; i < Math.PI*0.5D; i += anglePrecision) { - double motionX = MathHelper.cos((float)i)*force;// calculate the x component of the vector - double motionY = MathHelper.sin((float)i)*force;// calculate the y component of the vector + if(++angleSteps > MAX_TRAJECTORY_SIMULATION_STEPS) + return Float.NaN; + + double motionX = MathHelper.cos((float)i)*force; + double motionY = MathHelper.sin((float)i)*force; double posX = 0; double posY = 0; + int trajectorySteps = 0; while(posY > height||motionY > 0) { - // simulate movement, until we reach the y-level required + if(++trajectorySteps > MAX_TRAJECTORY_SIMULATION_STEPS) + return Float.NaN; + motionX *= drag; - motionY *= drag; - motionY -= gravity; + motionY = motionY*drag-gravity; posX += motionX; posY += motionY; + if(!areFinite(motionX, motionY, posX, posY)) + return Float.NaN; } + double distanceToTarget = Math.abs(distance-posX); if(distanceToTarget < bestDistance) { @@ -191,7 +210,7 @@ public static float calculateBallisticAngle(double distance, double height, floa } } - return 90F-(float)(bestAngle*180D/Math.PI); + return 90F-(float)Math.toDegrees(bestAngle); } //TODO: 15.02.2024 check out optimized version @@ -235,31 +254,121 @@ public static float calculateBallisticAngle(double distance, double height, floa } */ + + /** + * Calculates the direct-fire travel time with projectile drag. + * + * @param distance horizontal distance to the target + * @param pitch calculated projectile pitch + * @param velocity initial projectile velocity + * @return travel time in ticks, or -1 if the target cannot be reached + */ + public static int calculateDirectImpactTime(double distance, float pitch, double velocity) + { + if(distance <= 0D) + return 0; + if(!Double.isFinite(distance)||!Float.isFinite(pitch)||!Double.isFinite(velocity)||velocity <= 0D) + return -1; + + double drag = 1D-EntityAmmoProjectile.DRAG; + double horizontalVelocity = Math.cos(Math.toRadians(90D-pitch))*velocity; + if(drag <= 0D||drag >= 1D||horizontalVelocity <= 0D) + return -1; + + double remaining = 1D-distance*(1D-drag)/(horizontalVelocity*drag); + return remaining > 0D?(int)Math.ceil(Math.log(remaining)/Math.log(drag)): -1; + } + + /** + * Calculates the ballistic travel time until the projectile reaches the target height. + * + * @param height target height relative to the shooter + * @param pitch calculated projectile pitch + * @param force initial projectile velocity + * @param gravity projectile gravity + * @param drag projectile drag factor + * @return travel time in ticks, or -1 if the parameters are invalid + */ + public static int calculateBallisticImpactTime(double height, float pitch, float force, double gravity, double drag) + { + if(!Double.isFinite(height)||!Float.isFinite(pitch)||!Float.isFinite(force) + ||!Double.isFinite(gravity)||!Double.isFinite(drag) + ||force <= 0F||gravity <= 0D||drag <= 0D||drag >= 1D) + return -1; + + double motionY = Math.sin(Math.toRadians(90D-pitch))*force; + int min = 0; + if(motionY > 0D) + { + double apex = gravity/(gravity+(1D-drag)*motionY); + min = (int)Math.ceil(Math.log(apex)/Math.log(drag)); + } + + int max = Integer.MAX_VALUE; + if(getBallisticHeightAtTick(max, motionY, gravity, drag) > height) + return -1; + + while(min < max) + { + int tick = min+(max-min)/2; + if(getBallisticHeightAtTick(tick, motionY, gravity, drag) <= height) + max = tick; + else + min = tick+1; + } + return min; + } + + private static double getBallisticHeightAtTick(int tick, double initialMotionY, double gravity, double drag) + { + double dragSum = drag*(1D-Math.pow(drag, tick))/(1D-drag); + return initialMotionY*dragSum-gravity/(1D-drag)*(tick-dragSum); + } + + /** + * Calculates a direct-fire elevation angle with drag and gravity compensation. + * + * @param initialVelocity projectile velocity + * @param mass projectile mass + * @param toTarget relative target position + * @return compensated elevation angle, or {@link Float#NaN} for invalid or unreachable input + */ public static float getDirectFireAngle(double initialVelocity, double mass, Vec3d toTarget) { + if(toTarget==null||!areFinite(initialVelocity, mass, toTarget.x, toTarget.y, toTarget.z) + ||initialVelocity <= 0||mass < 0) + return Float.NaN; + double force = initialVelocity; - double dist = toTarget.distanceTo(new Vec3d(0, toTarget.y, 0)); + double dist = Math.hypot(toTarget.x, toTarget.z); double gravityMotionY = 0, motionY = 0, baseMotionY = toTarget.normalize().y, baseMotionYC; - while(dist > 0) + for(int step = 0; dist > 0&&step < MAX_TRAJECTORY_SIMULATION_STEPS; step++) { force -= EntityAmmoProjectile.DRAG*force; + if(force <= MIN_TRAJECTORY_VELOCITY||!Double.isFinite(force)) + return Float.NaN; + gravityMotionY -= EntityAmmoProjectile.GRAVITY*mass; - baseMotionYC = baseMotionY*(force/(initialVelocity)); - motionY += (baseMotionYC+gravityMotionY); + baseMotionYC = baseMotionY*(force/initialVelocity); + motionY += baseMotionYC+gravityMotionY; dist -= force; + if(!areFinite(gravityMotionY, motionY, dist)) + return Float.NaN; } + if(dist > 0) + return Float.NaN; toTarget = toTarget.addVector(0, motionY-baseMotionY, 0).normalize(); + return (float)Math.toDegrees(Math.atan2(toTarget.y, Math.hypot(toTarget.x, toTarget.z))); + } - /*return (float)Math.toDegrees(calculateFireAngle(initialVelocity, - mass*EntityAmmoProjectile.GRAVITY, - toTarget.distanceTo(new Vec3d(0, toTarget.y, 0)), - toTarget.y - ));*/ - - - return (float)Math.toDegrees((Math.atan2(toTarget.y, toTarget.distanceTo(new Vec3d(0, toTarget.y, 0))))); + private static boolean areFinite(double... values) + { + for(double value : values) + if(!Double.isFinite(value)) + return false; + return true; } public static float calculateFireAngle(double initialVelocity, double gravity, double distance, double heightDifference) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java index 3af1668bd..4f775eebc 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityBallisticComputer.java @@ -3,12 +3,12 @@ import blusunrize.immersiveengineering.api.energy.immersiveflux.FluxStorageAdvanced; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IPlayerInteraction; import blusunrize.immersiveengineering.common.util.Utils; +import lombok.Value; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.init.MobEffects; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; @@ -19,7 +19,6 @@ import pl.pabilo8.immersiveintelligence.api.ammo.utils.IIAmmoUtils; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; import pl.pabilo8.immersiveintelligence.api.data.IIDataHandlingUtils; -import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeBoolean; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeFloat; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeInteger; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeItemStack; @@ -28,14 +27,21 @@ import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.multiblock.MultiblockBallisticComputer; import pl.pabilo8.immersiveintelligence.common.entity.ammo.types.EntityAmmoProjectile; +import pl.pabilo8.immersiveintelligence.common.util.IIMath; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIGeneric; /** + * Machine that converts 3D coordinates into artillery angles. Also makes good cocoa. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 15.08.2026 * @since 28.06.2019 */ public class TileEntityBallisticComputer extends TileEntityMultiblockIIGeneric implements IPlayerInteraction { + @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public int progress = 0; public TileEntityBallisticComputer() @@ -58,100 +64,104 @@ protected void onUpdate() } - @Override - public void readCustomNBT(NBTTagCompound nbt, boolean descPacket) - { - super.readCustomNBT(nbt, descPacket); - progress = nbt.getInteger("progress"); - } - - @Override - public void writeCustomNBT(NBTTagCompound nbt, boolean descPacket) - { - super.writeCustomNBT(nbt, descPacket); - nbt.setInteger("progress", progress); - } - @Override public void receiveData(DataPacket packet, int pos) { if(energyStorage.getEnergyStored() < BallisticComputer.energyUsage) return; - energyStorage.extractEnergy(BallisticComputer.energyUsage, false); - //TODO: 08.02.2024 is this necessary? - packet = packet.clone(); - //No target - if(!packet.has('x', 'y', 'z')) + final BallisticResult[] result = {null}; + boolean validTarget = IIDataHandlingUtils.expectingVectorParam(packet, + target -> result[0] = calculateTarget(packet, target), + angles -> result[0] = IIMath.isNumberFinite(angles.x, angles.y)? + new BallisticResult(angles.x, angles.y, -1): null + ); + if(!validTarget||result[0]==null) return; - float x = IIDataHandlingUtils.asFloat('x', packet); - float y = IIDataHandlingUtils.asFloat('y', packet); - float z = IIDataHandlingUtils.asFloat('z', packet); - packet.remove('x', 'y', 'z'); + energyStorage.extractEnergy(BallisticComputer.energyUsage, false); + + //The player can use a Data Merger anyway + DataPacket output = packet.clone(); + output.remove('v', 'x', 'y', 'z', 'p', 's', 'm', 'f', 't', 'd'); + output.set('y', new DataTypeFloat(result[0].yaw)); + output.set('p', new DataTypeFloat(result[0].pitch)); + if(result[0].impactTime >= 0) + output.set('t', new DataTypeInteger(result[0].impactTime)); - double mass = 0; - double force = IIContent.itemAmmoHeavyArtillery.getVelocity(); + sendData(output, getDirection("data_output"), multiblock.getPointOfInterest("data_output")); + } + + private BallisticResult calculateTarget(DataPacket packet, Vec3d target) + { + if(!IIMath.isNumberFinite(target.x, target.y, target.z)) + return null; + + BallisticParameters parameters = getBallisticParameters(packet); + if(parameters==null) + return null; + + double distance = Math.hypot(target.x, target.z); + double gravity = EntityAmmoProjectile.GRAVITY*parameters.mass; + float yaw = (float)((Math.toDegrees(Math.atan2(-target.x, target.z))+360D)%360D); + boolean direct = IIDataHandlingUtils.optionalBoolean('d', packet).orElse(false); + float pitch; + int impactTime; - //Get info from item - if(packet.has('s')) + if(direct) { - DataTypeItemStack t = packet.getVarInType(DataTypeItemStack.class, packet.get('s')); - ItemStack stack = t.value; - if(stack.getItem() instanceof IAmmoTypeItem) - { - IAmmoTypeItem bullet = (IAmmoTypeItem)stack.getItem(); - force = bullet.getVelocity(); - mass = bullet.getMass(stack); - } - packet.remove('s'); + pitch = 90-IIAmmoUtils.getDirectFireAngle(parameters.velocity, parameters.mass, target); + impactTime = IIAmmoUtils.calculateDirectImpactTime(distance, pitch, parameters.velocity); } - //Get info from variables else { - if(packet.has('m')) - mass = packet.getVarInType(DataTypeInteger.class, packet.get('m')).value; - if(packet.has('f')) - force = packet.getVarInType(DataTypeInteger.class, packet.get('f')).value; - if(packet.has('t')) - { - String bname = packet.get('t').toString(); - IAmmoTypeItem bullet = AmmoRegistry.getAmmoItem(bname); - if(bullet!=null) - force = bullet.getVelocity(); - } - - - packet.remove('m', 'f', 't'); + pitch = IIAmmoUtils.calculateBallisticAngle(distance, target.y, (float)parameters.velocity, + gravity, 1D-EntityAmmoProjectile.DRAG, 0.002D); + impactTime = IIAmmoUtils.calculateBallisticImpactTime(target.y, pitch, + (float)parameters.velocity, gravity, 1D-EntityAmmoProjectile.DRAG); } - float distance = (float)new Vec3d(0, 0, 0).distanceTo(new Vec3d(x, 0, z)); - - double drag = 0.99f; - double gravity = EntityAmmoProjectile.GRAVITY*mass; - - float yaw; - if(x < 0&&z >= 0) - yaw = (float)(Math.atan(Math.abs((double)x/(double)z))/Math.PI*180D); - else if(x <= 0&&z <= 0) - yaw = (float)(Math.atan(Math.abs((double)z/(double)x))/Math.PI*180D)+90; - else if(z < 0) - yaw = (float)(Math.atan(Math.abs((double)x/(double)z))/Math.PI*180D)+180; - else - yaw = (float)(Math.atan(Math.abs((double)z/(double)x))/Math.PI*180D)+270; + return impactTime >= 0&&IIMath.isNumberFinite(yaw, pitch)? + new BallisticResult(yaw, pitch, impactTime): null; + } - float pitch; + private BallisticParameters getBallisticParameters(DataPacket packet) + { + //Extract info from an ammo ItemStack + if(packet.get('s') instanceof DataTypeItemStack) + { + ItemStack stack = ((DataTypeItemStack)packet.get('s')).value; + if(!stack.isEmpty()&&stack.getItem() instanceof IAmmoTypeItem bullet) + return validateParameters(bullet.getMass(stack), bullet.getVelocity()); + } - //direct - if(packet.getVarInType(DataTypeBoolean.class, packet.get('d')).value) - pitch = 90-IIAmmoUtils.getDirectFireAngle((float)force, mass, new Vec3d(x, y, z)); - else //ballistic - pitch = IIAmmoUtils.calculateBallisticAngle(distance, y, (float)force, gravity, drag, 0.002); + //Use mass and velocity (force) + Float mass = IIDataHandlingUtils.optionalFloat('m', packet).orElse(null); + if(mass==null) + return null; + double force = IIDataHandlingUtils.optionalFloat('f', packet) + .map(Float::doubleValue) + .orElse((double)IIContent.itemAmmoHeavyArtillery.getVelocity()); + + //Use ammo type to get velocity + String ammoType = IIDataHandlingUtils.optionalString('t', packet).orElse(null); + if(ammoType!=null) + { + IAmmoTypeItem bullet = AmmoRegistry.getAmmoItem(ammoType); + if(bullet!=null) + force = bullet.getVelocity(); + } - packet.set('y', new DataTypeFloat(yaw)); - packet.set('p', new DataTypeFloat(pitch)); + return validateParameters(mass, force); + } - sendData(packet, getDirection("data_output"), multiblock.getPointOfInterest("data_output")); + private BallisticParameters validateParameters(double mass, double velocity) + { + //Give to Carver what is Carver's + if(!IIMath.isNumberFinite(mass, velocity)||mass <= 0||velocity <= 0) + return null; + //and to the computer what won't explode the maths + return new BallisticParameters(mass, velocity); } @Override @@ -167,27 +177,27 @@ public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, Ite { player.setItemStackToSlot(hand==EnumHand.MAIN_HAND?EntityEquipmentSlot.MAINHAND: EntityEquipmentSlot.OFFHAND, new ItemStack(Items.BUCKET)); master.progress += 1; - forceTileUpdate(); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); return true; } else if(master.progress > 1&&master.progress < 6&&heldItem.getItem()==Items.DYE&&heldItem.getMetadata()==3) { heldItem.shrink(1); master.progress += 1; - forceTileUpdate(); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); return true; } else if(master.progress > 5&&master.progress < 10&&heldItem.getItem()==Items.SUGAR) { heldItem.shrink(1); master.progress += 1; - forceTileUpdate(); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); return true; } else if(master.progress > 9&&master.progress < 32&&Utils.compareToOreName(heldItem, "stickSteel")) { master.progress += 1; - forceTileUpdate(); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); return true; } else if(master.progress >= 32&&heldItem.isEmpty()) @@ -199,10 +209,30 @@ else if(master.progress >= 32&&heldItem.isEmpty()) master.progress = 0; if(!IIUtils.hasUnlockedIIAdvancement(player, "main/secret_cocoa")) IIUtils.unlockIIAdvancement(player, "main/secret_cocoa"); - forceTileUpdate(); + updateTileForEvent(SyncEvents.TILE_CUSTOM1); return true; } } return false; } + + /** + * Inner value class to store angles and impact time. + */ + @Value + private static class BallisticResult + { + float yaw, pitch; + int impactTime; + } + + /** + * Inner value class to store mass and velocity. + */ + @Value + private static class BallisticParameters + { + double mass; + double velocity; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java index a3e5abcb0..f75359654 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIMath.java @@ -236,4 +236,12 @@ public static int gcd(int... numbers) return gcd; } + + public static boolean isNumberFinite(double... values) + { + for(double value : values) + if(!Double.isFinite(value)) + return false; + return true; + } } diff --git a/src/main/resources/assets/immersiveintelligence/ie_manual/en_us/ii_warfare/staticdefense/ballistic_computer.md b/src/main/resources/assets/immersiveintelligence/ie_manual/en_us/ii_warfare/staticdefense/ballistic_computer.md index 8a297b1e1..4d18caa76 100644 --- a/src/main/resources/assets/immersiveintelligence/ie_manual/en_us/ii_warfare/staticdefense/ballistic_computer.md +++ b/src/main/resources/assets/immersiveintelligence/ie_manual/en_us/ii_warfare/staticdefense/ballistic_computer.md @@ -3,18 +3,34 @@ Ballistic Computer Electronically Integrated Numbers # intro |[multiblock]{mb:"II:BallisticComputer"}| -The Ballistic Computer is a complex calculation device that translates a position vector and bullet mass to yaw and pitch used by some [data-driven](data_main.md) [weapons](artillery_howitzer.md). +The Ballistic Computer is a complex calculation device that translates a relative target position and ammunition data into yaw and pitch used by some [data-driven](data_main.md) [weapons](artillery_howitzer.md). # guide When calculating pitch and yaw, the [Ballistic Computer] expects *relative* coordinates. This means that to the computer, [0,0,0] is the **center** of the controlled machine. Ensure that you correctly calculate the coordinates lest your shells miss their targets. -# data1 -|[data_variable]{type:"integer", direction:"in", letter:"x", name:"X-coordinate", description:"The relative x-coordinate"}| -|[data_variable]{type:"integer", direction:"in", letter:"y", name:"Y-coordinate", description:"The relative y-coordinate"}| -|[data_variable]{type:"integer", direction:"in", letter:"z", name:"Z-coordinate", description:"The relative z-coordinate"}| -|[data_variable]{type:"float", direction:"in", letter:"m", name:"Shell mass", description:"The ballistic mass"}| - -Inputting these values to the Ballistic Computer will output a ["p" (pitch)] and ["y" (yaw)] value. -# data2 -|[data_variable]{type:"float", direction:"out", letter:"p", name:"Pitch value", description:"Pitch value to hit your location. From 0 to -105"}| -|[data_variable]{type:"float", direction:"out", letter:"y", name:"Yaw value", description:"Yaw value to hit your location. From 0 to 360"}| +A [target] can be passed using either a [vector type](../../ii_data/data_types.md#vector), which requires an [advanced input device](../../ii_data/data_input_machine.md#advanced_data_upgrade) or [x,y, and z coordinates](../../ii_data/data_types.md#float). +# target +|[data_variable]{type:"vector", direction:"in", letter:"v", name:"Target vector", description:"Relative target position as a vector"}| +|[data_variable]{type:"float", direction:"in", letter:"x", name:"X-coordinate", description:"Relative X-coordinate of the target"}| +|[data_variable]{type:"float", direction:"in", letter:"y", name:"Y-coordinate", description:"Relative Y-coordinate of the target"}| +|[data_variable]{type:"float", direction:"in", letter:"z", name:"Z-coordinate", description:"Relative Z-coordinate of the target"}| +# projectile +|[data_variable]{type:"itemstack", direction:"in", letter:"s", name:"Ammunition stack", description:"Ammunition item used to read both mass and standard velocity"}| +|[data_variable]{type:"float", direction:"in", letter:"m", name:"Projectile mass", description:"Projectile ballistic mass. Required when no valid ammunition stack is supplied"}| +|[data_variable]{type:"float", direction:"in", letter:"f", name:"Projectile velocity", description:"Custom projectile velocity. Defaults to the heavy artillery shell velocity"}| +|[data_variable]{type:"string", direction:"in", letter:"t", name:"Ammunition type", description:"Registered ammunition type", values:[["artillery_8bCal","Heavy Artillery"], ["artillery_6bCal_long","Medium Artillery"], ["artillery_6bCal","Light Artillery"], ["mortar_6bCal","Light Artillery"]]}| +# projectile2 +|[data_variable]{type:"boolean", direction:"in", letter:"d", name:"Direct fire", description:"Use direct-fire instead of the default ballistic trajectory"}| +Providing an [ammunition stack](bullet_production.md) supplies both the [mass] and [velocity] values. +Otherwise, the input packet has to contain values for [mass] and [velocity]. Velocity can be passed as a [number](../../ii_data/data_types.md#float) or by providing an [ammunition type]. +# output +Inputting valid target and projectile data will output a [yaw], [pitch] and [impact time] value. +All valid input variables listed in prior pages are removed from the output packet. +|[data_variable]{type:"float", direction:"out", letter:"p", name:"Pitch value", description:"Pitch value used to aim the weapon"}| +|[data_variable]{type:"float", direction:"out", letter:"y", name:"Yaw value", description:"Yaw value used to aim the weapon, from 0 to 360"}| +|[data_variable]{type:"float", direction:"out", letter:"t", name:"Time before impact", description:"Estimated time for the shell to reach its target, in ticks"}| +# passthrough +In case yaw and pitch angles are **input** into the [Computer], it will pass them to the **output**, without doing any calculations. +
    +|[data_variable]{type:"float", direction:"in", letter:"y", name:"Yaw value", description:"Input yaw passed directly to the output"}| +|[data_variable]{type:"float", direction:"in", letter:"p", name:"Pitch value", description:"Input pitch passed directly to the output"}| From 0cdbcae32a6ae0541ceb5ed6a47216e055328a99 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sat, 15 Aug 2026 19:46:22 +0200 Subject: [PATCH 19/23] Changed conditional variables in ALM to require a True value for Boolean data type --- .../TileEntityArithmeticLogicMachine.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java index 950916027..6c3796b97 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArithmeticLogicMachine.java @@ -7,9 +7,10 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.NonNullList; import net.minecraft.util.SoundCategory; -import net.minecraftforge.common.util.Constants; +import net.minecraftforge.common.util.Constants.NBT; import net.minecraftforge.common.util.INBTSerializable; import pl.pabilo8.immersiveintelligence.api.data.DataPacket; +import pl.pabilo8.immersiveintelligence.api.data.IIDataHandlingUtils; import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeExpression; import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType; import pl.pabilo8.immersiveintelligence.api.upgrade.IManagedUpgradableDevice; @@ -118,15 +119,15 @@ public void receiveMessageFromClient(@Nonnull NBTTagCompound message) forceTileUpdate(); } - if(message.hasKey("memory_load_rules", Constants.NBT.TAG_LIST)) + if(message.hasKey("memory_load_rules", NBT.TAG_LIST)) { - memoryLoadRules.deserializeNBT(message.getTagList("memory_load_rules", Constants.NBT.TAG_COMPOUND)); + memoryLoadRules.deserializeNBT(message.getTagList("memory_load_rules", NBT.TAG_COMPOUND)); markDirty(); forceTileUpdate(); } - if(message.hasKey("memory_save_rules", Constants.NBT.TAG_LIST)) + if(message.hasKey("memory_save_rules", NBT.TAG_LIST)) { - memorySaveRules.deserializeNBT(message.getTagList("memory_save_rules", Constants.NBT.TAG_COMPOUND)); + memorySaveRules.deserializeNBT(message.getTagList("memory_save_rules", NBT.TAG_COMPOUND)); markDirty(); forceTileUpdate(); } @@ -189,7 +190,9 @@ public void receiveData(DataPacket packet, int pos) char condition = exp.getRequiredVariable(); //Respect condition, if set: expressions with a required variable only run when that variable is present in the input packet. - if(condition==' '||packet.has(condition)) + if(condition==' '||(newPacket.has(condition)&& + //In case the variable is a boolean, it must be true + IIDataHandlingUtils.optionalBoolean(condition, newPacket).orElse(true))) newPacket.set(c, exp.getValue(newPacket)); } } From d744d96286c438f51d117f7b647d2838e67d89aa Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 16 Aug 2026 03:39:43 +0200 Subject: [PATCH 20/23] Precision Assembler and Projectile Workshop fixes and rendering improvements Closes #679, #609 --- .../api/ammo/enums/ComponentRole.java | 7 +- .../api/ammo/parts/AmmoComponent.java | 9 +- .../api/ammo/parts/IAmmoType.java | 8 + .../api/ammo/utils/IIAmmoUtils.java | 17 +- .../crafting/ProjectileWorkshopRecipe.java | 1 + .../client/fx/particles/ParticleGlow.java | 3 + .../gui/block/GuiPrecisionAssembler.java | 4 +- .../gui/block/GuiProjectileWorkshop.java | 9 +- .../GuiDataInputMachine.java | 36 +--- .../GuiDataInputMachineEdit.java | 11 +- .../component/DecoTextBasedComponent.java | 22 +-- .../client/gui/deco/util/DecoColors.java | 11 ++ .../metal/PrecisionAssemblerRenderer.java | 166 +++++++++++------ .../client/util/amt/parts/AMTParticle.java | 91 +++++++-- .../immersiveintelligence/common/IIUtils.java | 2 +- .../components/AmmoComponentFirework.java | 2 +- .../ammo/components/AmmoComponentFish.java | 2 +- .../components/AmmoComponentPropaganda.java | 2 +- .../ammo/components/AmmoComponentTesla.java | 2 +- .../components/AmmoComponentTracerPowder.java | 3 +- .../explosives/AmmoComponentHMX.java | 2 +- .../explosives/AmmoComponentRDX.java | 2 +- .../explosives/AmmoComponentTNT.java | 2 +- .../factory/AmmoComponentFluid.java | 4 +- .../factory/AmmoComponentShrapnel.java | 2 +- .../AmmoComponentWhitePhosphorus.java | 2 +- .../components/nuke/AmmoComponentNuke.java | 2 +- .../TileEntityChemicalDispenser.java | 3 + .../TileEntityArtilleryHowitzer.java | 3 +- .../TileEntityPrecisionAssembler.java | 45 +++-- .../MultiblockProjectileWorkshop.java | 6 +- .../TileEntityProjectileWorkshop.java | 172 +++++++++++++----- .../compat/crafttweaker/AmmoTweaker.java | 2 +- .../compat/dd/AmmoComponentWindCharge.java | 2 +- .../compat/nb/AmmoComponentNetherFire.java | 2 +- .../compat/thaum/AmmoComponentAlumentum.java | 4 +- .../thaum/AmmoComponentBottledTaint.java | 2 +- .../thaum/AmmoComponentPrimordialPearl.java | 8 +- .../thaumaugment/AmmoComponentImpetus.java | 8 +- .../item/ammo/gun/ItemIIAmmoAutocannon.java | 1 - .../aabb/multiblock/precision_assembler.json | 4 +- .../aabb/multiblock/projectile_workshop.json | 1 + .../precision_assembler/tools/buzzsaw.json | 30 +++ .../precision_assembler/tools/drill.json | 30 +++ .../precision_assembler/tools/hammer.json | 146 +++++++++++++++ .../precision_assembler/tools/inserter.json | 69 +++++++ .../precision_assembler/tools/welder.json | 38 ++++ .../immersiveintelligence/lang/de_de.lang | 2 +- .../immersiveintelligence/lang/en_us.lang | 3 +- .../immersiveintelligence/lang/ru_ru.lang | 2 +- .../immersiveintelligence/lang/uk_ua.lang | 2 +- .../immersiveintelligence/lang/zh_cn.lang | 2 +- .../multiblock/flagpole/flagpole.obj.amt | 2 +- .../precision_assembler/tools/buzzsaw.obj.amt | 14 +- .../precision_assembler/tools/drill.obj.amt | 14 +- .../precision_assembler/tools/hammer.obj.amt | 14 +- .../tools/inserter.obj.amt | 3 - .../tools/solderer.obj.amt | 6 +- .../precision_assembler/tools/welder.obj.amt | 15 +- .../particles/ammo/tracer.fx.amt | 20 +- .../particles/ammo/tracer_mid.fx.amt | 16 -- .../precision_assembler/buzzsaw.fx.amt | 59 ++++++ .../precision_assembler/drilling.fx.amt | 38 ++++ .../precision_assembler/hammering.fx.amt | 22 +++ .../precision_assembler/welding.fx.amt | 13 ++ 65 files changed, 972 insertions(+), 275 deletions(-) create mode 100644 src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/inserter.json delete mode 100644 src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_mid.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/buzzsaw.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/drilling.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/hammering.fx.amt create mode 100644 src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/welding.fx.amt diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/enums/ComponentRole.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/enums/ComponentRole.java index a34f3730e..2a0092dce 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/enums/ComponentRole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/enums/ComponentRole.java @@ -1,9 +1,11 @@ package pl.pabilo8.immersiveintelligence.api.ammo.enums; +import lombok.Getter; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.ILocalizedEnum; +@Getter public enum ComponentRole implements ILocalizedEnum { GENERAL_PURPOSE(0xaaaaaa), @@ -29,11 +31,6 @@ public enum ComponentRole implements ILocalizedEnum this.color = IIColor.fromPackedRGB(color); } - public IIColor getColor() - { - return color; - } - @Override public String geLocaleKey() { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/AmmoComponent.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/AmmoComponent.java index 3a19d6a25..fdf1e1d74 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/AmmoComponent.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/AmmoComponent.java @@ -25,11 +25,11 @@ public abstract class AmmoComponent extends AmmoPart private final ComponentRole role; private final int slotsTaken; - public AmmoComponent(String name, float density, ComponentRole role, IIColor color) + public AmmoComponent(String name, float density, ComponentRole role, IIColor color, int slotsTaken) { super(name, density, color); this.role = role; - this.slotsTaken = 1; + this.slotsTaken = slotsTaken; } //--- Properties ---// @@ -99,4 +99,9 @@ public int getSlotsTaken() { return slotsTaken; } + + public boolean isSpaciousComponent() + { + return slotsTaken >= 3; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/IAmmoType.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/IAmmoType.java index 1251cc76c..33b99723e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/IAmmoType.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/parts/IAmmoType.java @@ -67,6 +67,14 @@ default float getPenetrationDepth() */ int getCaliber(); + /** + * @return Amount of {@link pl.pabilo8.immersiveintelligence.api.crafting.BulletComponentStack} used to fill this ammo type, defaults to the caliber + */ + default int getComponentUsed() + { + return getCaliber(); + } + /** * @return Returns allowed core types, these affect the final damage, penetration and overall performance * @see CoreType diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java index ef90354e8..a7103b9b4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/IIAmmoUtils.java @@ -451,7 +451,6 @@ public static void createAmmoTooltip(IAmmoTypeItem ammo, ItemStack stack, AmmoComponent[] components = ammo.getComponents(stack); //information section - tooltip.add(IIReference.COLOR_IMMERSIVE_ORANGE.getHexCol(I18n.format(IIReference.DESC_BULLETS+"details"))); //core + type @@ -460,8 +459,6 @@ public static void createAmmoTooltip(IAmmoTypeItem ammo, ItemStack stack, core.getColor().getHexCol(I18n.format("item."+ImmersiveIntelligence.MODID+".bullet.component."+core.getName()+".name")) ); - //TODO: 20.08.2025 propellant - //fuse if(ammo.getAllowedFuseTypes().length > 0) { @@ -475,12 +472,19 @@ public static void createAmmoTooltip(IAmmoTypeItem ammo, ItemStack stack, tooltip.add(I18n.format(IIReference.DESC_BULLETS+"mass", Utils.formatDouble(ammo.getMass(stack), "0.##"))); //components section + ArrayList componentTooltips = new ArrayList<>(); + int componentSlotsTaken = 0; if(components.length > 0) { - tooltip.add(IIReference.COLOR_IMMERSIVE_ORANGE.getHexCol(I18n.format(IIReference.DESC_BULLETS+"components"))); + componentTooltips.add(IIReference.COLOR_IMMERSIVE_ORANGE.getHexCol(I18n.format(IIReference.DESC_BULLETS+"components"))); for(AmmoComponent comp : components) - tooltip.add(" "+comp.getTranslatedName()); + { + componentTooltips.add(" "+comp.getTranslatedName()); + componentSlotsTaken += comp.getSlotsTaken(); + } } + tooltip.add(I18n.format(IIReference.DESC_BULLETS+"component_slots", ammo.getCoreType(stack).getComponentSlots()-componentSlotsTaken)); + tooltip.addAll(componentTooltips); } //Performance tab @@ -546,7 +550,8 @@ private static String getFormattedBulletTypeName(IAmmoType ammo, ItemStack //Add all components with role different from "general purpose" Stream.concat(Stream.of(ammo.getCoreType(stack).getRole()), Arrays.stream(ammo.getComponents(stack)).map(AmmoComponent::getRole)) - .filter(c -> c==ComponentRole.GENERAL_PURPOSE) + .filter(c -> c!=ComponentRole.GENERAL_PURPOSE) + .distinct() .map(c -> c.getColor().getHexCol(I18n.format(IIReference.DESCRIPTION_KEY+"bullet_type."+c.getName()))) .forEach(c -> builder.append(c).append(" - ")); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/ProjectileWorkshopRecipe.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/ProjectileWorkshopRecipe.java index 70656ee0b..55784f428 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/ProjectileWorkshopRecipe.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/crafting/ProjectileWorkshopRecipe.java @@ -18,6 +18,7 @@ public class ProjectileWorkshopRecipe extends IIMultiblockRecipe { public static final String FILLING_RECIPE_NAME = "core_filling"; + public static final String CORE_PRODUCTION_RECIPE_PREFIX = "core_production_"; public static final ProjectileWorkshopRecipe CORE_FILLING = new ProjectileWorkshopRecipe(); @Nullable diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java index 91b29c34f..67ee06212 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/particles/ParticleGlow.java @@ -154,5 +154,8 @@ private void addTriangle(BufferBuilder buffer, Vec3d origin, Vec3d first, Vec3d buffer.pos(second.x, second.y, second.z) .color(edgeColor.red, edgeColor.green, edgeColor.blue, 0) .endVertex(); + buffer.pos(second.x, second.y, second.z) + .color(edgeColor.red, edgeColor.green, edgeColor.blue, 0) + .endVertex(); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiPrecisionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiPrecisionAssembler.java index f28f06241..8521f9e60 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiPrecisionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiPrecisionAssembler.java @@ -71,11 +71,11 @@ public void onInit() .withSize(48, 25) .withImageLocation(TEXTURE_PRE, true) .withUV(128, 14, 0, 48+14, 25), - this.recipeLink = new DecoImage(48+16-1-4-10, 8+4+2+10+10) + new DecoImage(48+16-1-4-10, 8+4+2+10+10) .withSize(85, 17-3) .withImageLocation(TEXTURE_PRE, true) .withUV(128, 0, 25, 85, 17+25-3), - new DecoImage(48+16-1-4-10, 8+4+2+10+10) + this.recipeLink = new DecoImage(48+16-1-4-10, 8+4+2+10+10) .withSize(85, 17-3) .withImageLocation(TEXTURE_PRE, true) .withUV(128, 0, 42, 85, 17+42-3) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiProjectileWorkshop.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiProjectileWorkshop.java index a8cd74b65..4a6544c1c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiProjectileWorkshop.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/GuiProjectileWorkshop.java @@ -40,6 +40,7 @@ import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IIUtils; +import pl.pabilo8.immersiveintelligence.common.ammo.components.factory.AmmoComponentFluid; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityProjectileWorkshop; import pl.pabilo8.immersiveintelligence.common.gui.ContainerProjectileWorkshop; import pl.pabilo8.immersiveintelligence.common.util.IIColor; @@ -183,8 +184,12 @@ private void addCoreFillerComponents() if(current==null||tile.componentInside.amount <= 0) return Collections.singleton(I18n.format("gui.immersiveengineering.empty")); return Arrays.asList( - tile.componentInside.getColor().getHexCol(tile.componentInside.getTranslatedName()), - tile.componentInside.amount+" mB" + current.getColor().getHexCol(current.getTranslatedName()), + TextFormatting.GRAY.toString()+tile.componentInside.amount+" Units"+TextFormatting.RESET, + TextFormatting.GRAY+ + (current instanceof AmmoComponentFluid?(current.getTranslatedName()+" "+Utils.formatDouble(tile.componentInside.amount/16f*1000, "0")+" mB"): + (Utils.formatDouble(tile.componentInside.amount/16f, "0.#")+" x "+current.getMaterial().getExampleStack().getDisplayName())) + +TextFormatting.RESET ); }) .withBackgroundTexture(DecoSprite.atlasSprite(DecoTextures.SLOT_IE, 32, true)) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachine.java index 032d374ad..9e5ace7e9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachine.java @@ -11,9 +11,7 @@ import pl.pabilo8.immersiveintelligence.api.data.types.generic.DataType.TypeMetaInfo; import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.DecoComponent; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.DecoComponent.MouseButton; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoButton; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoTab; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoDropdown; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.collection.DecoList; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.label.DecoLabel; @@ -80,29 +78,7 @@ public static DecoComponent[] getCommonParts(TileEntityDataInputMachine tile) .withSize(20, 52) .withImageLocation(PROGRESS_IMAGE, true) .withUV(64, 20, 0, 40, 52) - .withAnimation(ImageAnimationDirection.TOP_TO_BOTTOM, DecoGuiUtils.getMultiblockProductionSingleProgress(tile)), - new DecoTab() - .withLink(IIGUI.DATA_INPUT_MACHINE_STORAGE) - .withIcon(DecoTextures.ICON_STORAGE) - .withTranslatedTooltip(IIReference.DESCRIPTION_KEY+"storage_module"), - new DecoTab() - .withLink(IIGUI.DATA_INPUT_MACHINE_VARIABLES) - .withIcon(DecoTextures.ICON_VARIABLES) - .withTranslatedTooltip(IIReference.DESCRIPTION_KEY+"variables_module"), - - new DecoTab() - .withIcon(ICON_SEND_PACKET, 32) - .withTranslatedTooltip(IIReference.DESCRIPTION_KEY+"variable_send_packet") - .withOnPressed((gui, mouseButton, mouseX, mouseY) -> { - if(mouseButton==MouseButton.LEFT) - { - IIPacketHandler.sendToServer(new MessageIITileSync(tile, EasyNBT.newNBT() - .withBoolean("send_packet", true) - )); - return true; - } - return false; - }) + .withAnimation(ImageAnimationDirection.TOP_TO_BOTTOM, DecoGuiUtils.getMultiblockProductionSingleProgress(tile)) }; } @@ -133,9 +109,17 @@ public void onInit() .withInventorySlots(SlotStyle.IE_OUTPUT, container.dataOutput) .build(); - //Add tabs and energy bars + //Shared parts, like punchtape progress bar addComponents(getCommonParts(tile)); + //Add tabs + addLinkTab(IIGUI.DATA_INPUT_MACHINE_STORAGE, DecoTextures.ICON_STORAGE, "storage_module"); + addLinkTab(IIGUI.DATA_INPUT_MACHINE_VARIABLES, DecoTextures.ICON_VARIABLES, "variables_module"); + addLinkTab(this.gui, GuiDataInputMachine.ICON_SEND_PACKET, "variable_send_packet") + .withIcon(GuiDataInputMachine.ICON_SEND_PACKET, 32) + .withOnLMBPressed(() -> IIPacketHandler.sendToServer(new MessageIITileSync(tile, EasyNBT.newNBT().withBoolean("send_packet", true)))); + + //Add storage display and bars or the variable list, if in the "variables" tab if(isStorage) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachineEdit.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachineEdit.java index 839e4d044..844c850f5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachineEdit.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/data_input_machine/GuiDataInputMachineEdit.java @@ -18,6 +18,8 @@ import pl.pabilo8.immersiveintelligence.common.IIUtils; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityDataInputMachine; import pl.pabilo8.immersiveintelligence.common.gui.ContainerDataInputMachineEditing; +import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; +import pl.pabilo8.immersiveintelligence.common.network.messages.MessageIITileSync; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; @@ -82,9 +84,16 @@ public void onInit() .build(); - //Shared parts, like punchtape progress bar, tabs + //Shared parts, like punchtape progress bar addComponents(GuiDataInputMachine.getCommonParts(tile)); + //Add tabs + addLinkTab(IIGUI.DATA_INPUT_MACHINE_STORAGE, DecoTextures.ICON_STORAGE, "storage_module"); + addLinkTab(IIGUI.DATA_INPUT_MACHINE_VARIABLES, DecoTextures.ICON_VARIABLES, "variables_module"); + addLinkTab(this.gui, GuiDataInputMachine.ICON_SEND_PACKET, "variable_send_packet") + .withIcon(GuiDataInputMachine.ICON_SEND_PACKET, 32) + .withOnLMBPressed(() -> IIPacketHandler.sendToServer(new MessageIITileSync(tile, EasyNBT.newNBT().withBoolean("send_packet", true)))); + //Editor component specific to the data type editor = DecoDataEditor.getEditorFor(variableToEdit.getValue(), 43, 43); if(editor!=null) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/DecoTextBasedComponent.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/DecoTextBasedComponent.java index 2974de724..52e03b71a 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/DecoTextBasedComponent.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/DecoTextBasedComponent.java @@ -5,7 +5,6 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.util.DecoColors; import pl.pabilo8.immersiveintelligence.client.util.font.IIFontRenderer; import pl.pabilo8.immersiveintelligence.common.util.IIColor; -import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.ResLoc; /** @@ -16,24 +15,19 @@ @SuppressWarnings("unchecked") public abstract class DecoTextBasedComponent> extends DecoComponent { - protected static final IIColor BACKGROUND = IIColor.fromHex("efefef"); - protected static final IIColor BACKGROUND_HOVERED = IIColor.WHITE; - protected static final IIColor BACKGROUND_PRESSED = IIColor.MC_GRAY; - protected static final IIColor BACKGROUND_DISABLED = IIColor.MC_GRAY; - - protected IIColor backgroundColor = BACKGROUND; - protected IIColor backgroundColorHovered = BACKGROUND_HOVERED; - protected IIColor backgroundColorPressed = BACKGROUND_PRESSED; - protected IIColor backgroundColorDisabled = BACKGROUND_DISABLED; + protected IIColor backgroundColor = DecoColors.BACKGROUND; + protected IIColor backgroundColorHovered = DecoColors.BACKGROUND_HOVERED; + protected IIColor backgroundColorPressed = DecoColors.BACKGROUND_PRESSED; + protected IIColor backgroundColorDisabled = DecoColors.BACKGROUND_DISABLED; protected ResLoc backgroundLocation; protected String text = ""; protected IIFontRenderer fontRenderer = IIClientUtils.fontRegular; protected IIColor textLabelColor = DecoColors.H1; - protected IIColor textBoxColor = IIColor.fromHex("afafaf"); - protected IIColor textHoveredColor = IIColor.fromHex("cfcfcf"); - protected IIColor textPressedColor = IIReference.COLOR_IMMERSIVE_ORANGE; - protected IIColor textDisabledColor = IIColor.BLACK; + protected IIColor textBoxColor = DecoColors.TEXT; + protected IIColor textHoveredColor = DecoColors.TEXT_HOVERED; + protected IIColor textPressedColor = DecoColors.TEXT_PRESSED; + protected IIColor textDisabledColor = DecoColors.TEXT_DISABLED; public DecoTextBasedComponent(int x, int y) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoColors.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoColors.java index 0df4c7cd1..c5f7e56de 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoColors.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoColors.java @@ -1,6 +1,7 @@ package pl.pabilo8.immersiveintelligence.client.gui.deco.util; import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; /** * Colors commonly used inside {@link pl.pabilo8.immersiveintelligence.client.gui.deco.DecoGui}. @@ -11,6 +12,16 @@ */ public class DecoColors { + public static final IIColor TEXT = IIColor.fromHex("afafaf"); + public static final IIColor TEXT_HOVERED = IIColor.fromHex("cfcfcf"); + public static final IIColor TEXT_PRESSED = IIReference.COLOR_IMMERSIVE_ORANGE; + public static final IIColor TEXT_DISABLED = IIColor.BLACK; + + public static final IIColor BACKGROUND = IIColor.fromHex("efefef"); + public static final IIColor BACKGROUND_HOVERED = IIColor.WHITE; + public static final IIColor BACKGROUND_PRESSED = IIColor.MC_GRAY; + public static final IIColor BACKGROUND_DISABLED = IIColor.MC_GRAY; + public static final IIColor H1 = IIColor.fromPackedRGB(0x0a0a0a); public static final IIColor H2 = IIColor.fromPackedRGB(0x1a1a1a); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/PrecisionAssemblerRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/PrecisionAssemblerRenderer.java index f984cac6c..7d72e8ffd 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/PrecisionAssemblerRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/PrecisionAssemblerRenderer.java @@ -17,6 +17,7 @@ import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTModel; import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMT; import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMTItem; +import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMTParticle; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IIMultiblockRenderer; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer.RegisteredTileRenderer; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.PrecisionAssembler; @@ -32,12 +33,12 @@ import javax.annotation.Nullable; import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.IntStream; /** + * Renders the Precision Assembler and composes tool-slot-specific work animations. + * * @author Pabilo8 (pabilo@iiteam.net) - * @updated 01.04.2026 + * @updated 07.08.2026 * @ii-approved 0.3.1 * @since 21.06.2019 */ @@ -59,7 +60,8 @@ public class PrecisionAssemblerRenderer extends IIMultiblockRenderer getPrecisionToolHeaders(te==null?null: te.toolHash)) + .withHeaderProvider((te) -> getPrecisionToolHeaders(getToolOrder(te))) .build(); this.drawer1 = IIAnimationCachedMap.create(this.model, IIReference.RES_II.with("precision_assembler/drawer1")); @@ -168,15 +175,15 @@ public void compileModels(IBlockState state, OBJModel model) this.itemSchematic = new AMTCrossVariantReference<>("print_image", this.model); } - private SlotItemStates getSlotStatesForRecipe(PrecisionAssemblerRecipe recipe, String toolHash) + private SlotItemStates getSlotStatesForRecipe(PrecisionAssemblerRecipe recipe, String toolOrder) { - int hash = Objects.hash(recipe, toolHash); + int hash = Objects.hash(recipe, toolOrder); return this.slotStateCache.lookup(hash); } - private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe recipe, String toolHash) + private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe recipe, String toolOrder, String toolHash) { - int hash = Objects.hash(recipe, toolHash); + int hash = Objects.hash(recipe, toolOrder); if(this.workAnimations.containsItem(hash)) return this.workAnimations.lookup(hash); @@ -184,16 +191,20 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci if(!recipe.toolHash.equals(toolHash)) return null; - PrecisionToolInfo[] tools = PrecisionAssemblerRecipe.toolsFromHash(toolHash); - HashMap orderMap = IntStream.range(0, tools.length).boxed() - .collect(Collectors.toMap(i -> tools[i].getToolName(), i -> i, (a, b) -> b, HashMap::new)); + PrecisionToolInfo[] tools = getToolsBySlot(toolOrder); + HashMap orderMap = new HashMap<>(); + for(int i = 0; i < tools.length; i++) + if(tools[i]!=null) + orderMap.put(tools[i].getToolName(), i); - IIAnimationBuilder builder = new IIAnimationBuilder(IIReference.RES_II.with("precision_assembler/production/"+recipe.getName()+"_"+toolHash)); + IIAnimationBuilder builder = new IIAnimationBuilder(IIReference.RES_II.with( + "precision_assembler/production/"+recipe.getName()+"_"+Integer.toHexString(toolOrder.hashCode()) + )); //Opening animation builder.addAnimation(0, PrecisionAssembler.hatchTime, workBegin); //Initial tool rotation - builder.addAnimation(0, 1, AMTLoader.loadAnimation(IIReference.RES_II.with("precision_assembler/tools"))); + builder.addAnimation(0, recipe.getTotalProcessTime(), AMTLoader.loadAnimation(IIReference.RES_II.with("precision_assembler/tools"))); int processDuration = PrecisionAssembler.hatchTime; //Initial slot stacks from recipe inputs (output slot starts empty) @@ -263,6 +274,18 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci if(toolIdxObj!=null) { int toolIdx = toolIdxObj; + //Pick and drop transfer the item halfway through their action animation. + float transferMoment = processDuration+PrecisionAssembler.toolMoveTime*0.33f; + IIAnimation toolWorkAnimation = new IIAnimationBuilder( + IIReference.RES_II.with("precision_assembler/tools/generated/"+tool.getToolName())) + .addAnimation(0, 1, AMTLoader.loadAnimation(IIReference.RES_II.with("precision_assembler/tools/"+tool.getToolName()))) + .renameGroup("inserter", "inserter"+(toolIdx+1)) + .renameGroup("lower", "lower"+(toolIdx+1)) + .renameGroup("upper", "upper"+(toolIdx+1)) + .renameGroup("held", "held"+(toolIdx+1)) + .renameGroup("particle", "particle"+(toolIdx+1)) + .build(); + switch(toolIdx) { case 0: @@ -284,13 +307,16 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci { case "pick": { + if(toolWorkAnimation!=null) + builder.addAnimation(processDuration, PrecisionAssembler.toolMoveTime, toolWorkAnimation, 1); + //Source slot (0-4) ItemStack picked = slotStacks[target].copy(); slotStacks[target] = ItemStack.EMPTY; heldStacks[toolIdx] = picked.copy(); pendingNormalizations.add(() -> { - float t = (float)toolArrivalTime/recipe.getTotalProcessTime(); + float t = transferMoment/recipe.getTotalProcessTime(); slotStates.addSlotChange(target, t, ItemStack.EMPTY); slotStates.addHeldChange(toolIdx, t, picked.copy()); }); @@ -298,6 +324,9 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci } case "drop": { + if(toolWorkAnimation!=null) + builder.addAnimation(processDuration, PrecisionAssembler.toolMoveTime, toolWorkAnimation.getReversedAnimation(), 1); + ItemStack dropped = heldStacks[toolIdx].copy(); heldStacks[toolIdx] = ItemStack.EMPTY; @@ -306,7 +335,7 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci { slotStacks[target] = dropped.copy(); pendingNormalizations.add(() -> { - float t = (float)toolArrivalTime/recipe.getTotalProcessTime(); + float t = transferMoment/recipe.getTotalProcessTime(); slotStates.addSlotChange(target, t, dropped.copy()); slotStates.addHeldChange(toolIdx, t, ItemStack.EMPTY); }); @@ -315,7 +344,7 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci { //Slot not empty, just clear held pendingNormalizations.add(() -> { - float t = (float)toolArrivalTime/recipe.getTotalProcessTime(); + float t = transferMoment/recipe.getTotalProcessTime(); slotStates.addHeldChange(toolIdx, t, ItemStack.EMPTY); }); } @@ -323,18 +352,8 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci } case "work": { - if(workTime!=0) - { - IIAnimationBuilder workBuilder = new IIAnimationBuilder( - IIReference.RES_II.with("precision_assembler/tools/generated/"+tool.getToolName())) - .addAnimation(0, 1, AMTLoader.loadAnimation(IIReference.RES_II.with("precision_assembler/tools/"+tool.getToolName()))) - .renameGroup("inserter", "inserter"+(toolIdx+1)) - .renameGroup("lower", "lower"+(toolIdx+1)) - .renameGroup("upper", "upper"+(toolIdx+1)) - .renameGroup("held", "held"+(toolIdx+1)); - - builder.addAnimation(toolArrivalTime, workTime, workBuilder.build(), 1); - } + if(toolWorkAnimation!=null) + builder.addAnimation(toolArrivalTime, workTime, toolWorkAnimation, 1); break; } default: @@ -371,37 +390,78 @@ private IIAnimationCachedMap getAnimationForRecipe(PrecisionAssemblerRecipe reci return animation; } - private AMTModel getPrecisionToolModels(String toolHash) + private AMTModel getPrecisionToolModels(@Nullable String toolOrder) { - if(toolHash==null) - return new AMTModel(); - PrecisionToolInfo[] tools = PrecisionAssemblerRecipe.toolsFromHash(toolHash); - AMTModel[] toolModels = new AMTModel[tools.length]; + PrecisionToolInfo[] tools = getToolsBySlot(toolOrder); + List toolModels = new ArrayList<>(); for(int i = 0; i < tools.length; i++) { - toolModels[i] = new AMTModel(DefaultVertexFormats.BLOCK, tools[i].getToolModelRes()); - toolModels[i].renamePart("inserter", "inserter"+(i+1)); - toolModels[i].renamePart("lower", "lower"+(i+1)); - toolModels[i].renamePart("upper", "upper"+(i+1)); + PrecisionToolInfo tool = tools[i]; + if(tool==null) + continue; + + AMTModel toolModel = new AMTModel(DefaultVertexFormats.BLOCK, tool.getToolModelRes()); + toolModel.renamePart("inserter", "inserter"+(i+1)); + toolModel.renamePart("lower", "lower"+(i+1)); + toolModel.renamePart("upper", "upper"+(i+1)); + toolModels.add(toolModel); } - return new AMTModel(toolModels); + return new AMTModel(toolModels.toArray(new AMTModel[0])); } - private AMTModelHeader getPrecisionToolHeaders(@Nullable String toolHash) + private AMTModelHeader getPrecisionToolHeaders(@Nullable String toolOrder) { - if(toolHash==null) - return new AMTModelHeader(); - PrecisionToolInfo[] tools = PrecisionAssemblerRecipe.toolsFromHash(toolHash); - AMTModelHeader[] toolHeaders = new AMTModelHeader[tools.length]; + PrecisionToolInfo[] tools = getToolsBySlot(toolOrder); + List toolHeaders = new ArrayList<>(); for(int i = 0; i < tools.length; i++) { - toolHeaders[i] = AMTLoader.loadHeader(tools[i].getToolModelRes().withExtension(ResLoc.EXT_OBJAMT)); - toolHeaders[i].renameElement("inserter", "inserter"+(i+1)); - toolHeaders[i].renameElement("lower", "lower"+(i+1)); - toolHeaders[i].renameElement("upper", "upper"+(i+1)); - toolHeaders[i].renameElement("held", "held"+(i+1)); + PrecisionToolInfo tool = tools[i]; + if(tool==null) + continue; + + AMTModelHeader toolHeader = AMTLoader.loadHeader(tool.getToolModelRes().withExtension(ResLoc.EXT_OBJAMT)); + toolHeader.renameElement("inserter", "inserter"+(i+1)); + toolHeader.renameElement("lower", "lower"+(i+1)); + toolHeader.renameElement("upper", "upper"+(i+1)); + toolHeader.renameElement("held", "held"+(i+1)); + toolHeader.renameElement("particle", "particle"+(i+1)); + toolHeaders.add(toolHeader); } - return new AMTModelHeader(toolHeaders); + return new AMTModelHeader(toolHeaders.toArray(new AMTModelHeader[0])); + } + + @Nullable + private String getToolOrder(@Nullable TileEntityPrecisionAssembler te) + { + if(te==null) + return null; + if(!te.toolOrder.isEmpty()) + return te.toolOrder; + + //Fallback for tiles saved before slot order was stored. + String[] packedTools = te.toolHash.split(";"); + StringBuilder builder = new StringBuilder(); + for(int i = 0; i < 3; i++) + { + if(i > 0) + builder.append(';'); + if(i < packedTools.length) + builder.append(packedTools[i]); + } + return builder.toString(); + } + + private PrecisionToolInfo[] getToolsBySlot(@Nullable String toolOrder) + { + PrecisionToolInfo[] tools = new PrecisionToolInfo[3]; + if(toolOrder==null||toolOrder.isEmpty()) + return tools; + + String[] toolNames = toolOrder.split(";", -1); + for(int i = 0; i < tools.length&&i < toolNames.length; i++) + if(!toolNames[i].isEmpty()) + tools[i] = PrecisionAssemblerRecipe.getToolByName(toolNames[i]); + return tools; } private ItemStack getDisplayedItem(@Nullable IIMultiblockProcess process, TileEntityPrecisionAssembler te, int id) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTParticle.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTParticle.java index 585f653da..0fe708c14 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTParticle.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTParticle.java @@ -5,6 +5,7 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.math.Vec3d; +import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; import pl.pabilo8.immersiveintelligence.client.fx.factories.ParticleFactory; import pl.pabilo8.immersiveintelligence.client.fx.particles.AbstractParticle; @@ -14,17 +15,21 @@ import pl.pabilo8.immersiveintelligence.common.util.amt.AMTModelHeader; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; +import java.nio.FloatBuffer; import java.util.function.Consumer; /** * AMT type for drawing particle effects (gunshots, smoke, etc.) * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 16.08.2026 * @since 21.08.2022 */ public class AMTParticle extends AMT { + private final FloatBuffer modelView = BufferUtils.createFloatBuffer(16); private AbstractParticle particle; + private boolean correctRotation; public AMTParticle(String name, Vec3d originPos) { @@ -75,16 +80,44 @@ public AMTParticle setParticle(String particleName) return setParticle(ParticleRegistry.getParticle(particleName)); } + /** + * Sets whether inherited model rotation is removed before particle rendering. + * + * @param correctRotation whether the particle uses camera-space rotation + * @return this + */ + public AMTParticle setCorrectRotation(boolean correctRotation) + { + this.correctRotation = correctRotation; + return this; + } + @Override protected void draw(Tessellator tes, BufferBuilder buf) { if(particle==null) return; - //Uses the custom property value for age + //Use the custom property value for particle progress. particle.setProperty(ParticleProperties.PROGRESS, property); + + GlStateManager.pushMatrix(); GlStateManager.translate(originPos.x, originPos.y, originPos.z); + float x = ActiveRenderInfo.getRotationX(); + float xz = ActiveRenderInfo.getRotationXZ(); + float z = ActiveRenderInfo.getRotationZ(); + float yz = ActiveRenderInfo.getRotationYZ(); + float xy = ActiveRenderInfo.getRotationXY(); + + //Camera-facing particles must not inherit rotations from AMT parents or the model renderer. + if(correctRotation) + { + removeModelViewRotation(); + x = xz = 1f; + z = yz = xy = 0f; + } + //Set default particle drawing conditions GlStateManager.enableAlpha(); GlStateManager.enableBlend(); @@ -102,26 +135,47 @@ protected void draw(Tessellator tes, BufferBuilder buf) //Render AbstractParticle.interPos = Vec3d.ZERO; - particle.preRender( - 0, - ActiveRenderInfo.getRotationX(), - ActiveRenderInfo.getRotationXZ(), - ActiveRenderInfo.getRotationZ(), - ActiveRenderInfo.getRotationYZ(), - ActiveRenderInfo.getRotationXY() - ); - particle.render(buf, - 0, - ActiveRenderInfo.getRotationX(), - ActiveRenderInfo.getRotationXZ(), - ActiveRenderInfo.getRotationZ(), - ActiveRenderInfo.getRotationYZ(), - ActiveRenderInfo.getRotationXY() - ); + particle.preRender(0, x, xz, z, yz, xy); + particle.render(buf, 0, x, xz, z, yz, xy); tes.draw(); drawStage.clear(); GlStateManager.depthMask(true); + GlStateManager.color(1, 1, 1, 1); + GlStateManager.enableLighting(); + GlStateManager.enableCull(); + GlStateManager.popMatrix(); + } + + /** + * Removes rotation from the current model-view matrix and keeps position and scale. + */ + private void removeModelViewRotation() + { + modelView.clear(); + GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, modelView); + + float scaleX = length(modelView.get(0), modelView.get(1), modelView.get(2)); + float scaleY = length(modelView.get(4), modelView.get(5), modelView.get(6)); + float scaleZ = length(modelView.get(8), modelView.get(9), modelView.get(10)); + float x = modelView.get(12); + float y = modelView.get(13); + float z = modelView.get(14); + + modelView.clear(); + modelView.put(new float[]{ + scaleX, 0, 0, 0, + 0, scaleY, 0, 0, + 0, 0, scaleZ, 0, + x, y, z, 1 + }); + modelView.flip(); + GL11.glLoadMatrix(modelView); + } + + private static float length(float x, float y, float z) + { + return (float)Math.sqrt(x*x+y*y+z*z); } @Override @@ -135,14 +189,15 @@ public void applyProperties(EasyNBT nbt) { super.applyProperties(nbt); nbt.checkSetString("particle", this::setParticle); + nbt.checkSetBoolean("correct_rotation", this::setCorrectRotation); } - @Override protected AMT renamedCopy(String newName) { AMTParticle particle = new AMTParticle(newName, originPos); particle.particle = this.particle; + particle.correctRotation = this.correctRotation; return particle; } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java index 82471f962..db4658954 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIUtils.java @@ -207,7 +207,7 @@ public static boolean outputFluidToTank(FluidTank tank, int amount, BlockPos pos public static String getFluidNameOverlayText(@Nullable FluidStack stack) { return (stack==null||stack.amount <= 0)?I18n.format(Lib.GUI+"empty"): - (stack.getLocalizedName()+": "+stack.amount); + (stack.getLocalizedName()+": "+stack.amount+"mB"); } public static char cycleDataPacketChars(char current, boolean forward, boolean hasEmpty) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFirework.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFirework.java index 5c2d1a6c2..9fc3dd39e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFirework.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFirework.java @@ -25,7 +25,7 @@ public class AmmoComponentFirework extends AmmoComponent { public AmmoComponentFirework() { - super("firework", 1f, ComponentRole.FLARE, IIColor.fromPackedRGB(0xcab1b1)); + super("firework", 1f, ComponentRole.FLARE, IIColor.fromPackedRGB(0xcab1b1), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFish.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFish.java index 499708e26..c0b621eaa 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFish.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentFish.java @@ -27,7 +27,7 @@ public class AmmoComponentFish extends AmmoComponent { public AmmoComponentFish() { - super("fish", 0.125f, ComponentRole.SPECIAL, IIColor.fromPackedRGB(0x6b778a)); + super("fish", 0.125f, ComponentRole.SPECIAL, IIColor.fromPackedRGB(0x6b778a), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentPropaganda.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentPropaganda.java index 17991d85b..0b4a16bc5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentPropaganda.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentPropaganda.java @@ -24,7 +24,7 @@ public class AmmoComponentPropaganda extends AmmoComponent { public AmmoComponentPropaganda() { - super("propaganda", 0.65f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0xbaafa4)); + super("propaganda", 0.65f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0xbaafa4), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java index 3d21c9445..38040f6f1 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTesla.java @@ -30,7 +30,7 @@ public class AmmoComponentTesla extends AmmoComponent { public AmmoComponentTesla() { - super("tesla", 1f, ComponentRole.EMP, IIColor.fromPackedARGB(0x6b778a)); + super("tesla", 1f, ComponentRole.EMP, IIColor.fromPackedARGB(0x6b778a), 2); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java index 54f115689..dd091cdf3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/AmmoComponentTracerPowder.java @@ -15,6 +15,7 @@ import pl.pabilo8.immersiveintelligence.common.entity.ammo.EntityAmmoBase; import pl.pabilo8.immersiveintelligence.common.item.ItemIITracerPowder; import pl.pabilo8.immersiveintelligence.common.util.IIColor; + import javax.vecmath.Vector2f; import javax.vecmath.Vector3f; @@ -28,7 +29,7 @@ public class AmmoComponentTracerPowder extends AmmoComponent { public AmmoComponentTracerPowder() { - super("tracer_powder", 1f, ComponentRole.TRACER, IIColor.fromPackedRGB(0x6b778a)); + super("tracer_powder", 1f, ComponentRole.TRACER, IIColor.fromPackedRGB(0x5f788a), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentHMX.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentHMX.java index dfa355456..38f38284e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentHMX.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentHMX.java @@ -21,7 +21,7 @@ public class AmmoComponentHMX extends AmmoComponent { public AmmoComponentHMX() { - super("hmx", 1.75f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0xfbfbfb)); + super("hmx", 1.75f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0xfbfbfb), 2); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentRDX.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentRDX.java index fa4783b12..df621064d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentRDX.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentRDX.java @@ -21,7 +21,7 @@ public class AmmoComponentRDX extends AmmoComponent { public AmmoComponentRDX() { - super("rdx", 1.25f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0xd2c294)); + super("rdx", 1.25f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0xd2c294), 2); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentTNT.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentTNT.java index 38688b8ea..c70cb1981 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentTNT.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/explosives/AmmoComponentTNT.java @@ -21,7 +21,7 @@ public class AmmoComponentTNT extends AmmoComponent { public AmmoComponentTNT() { - super("tnt", 1f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0x282828)); + super("tnt", 1f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0x75585b), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentFluid.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentFluid.java index 39e9fdc28..451a0d494 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentFluid.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentFluid.java @@ -36,8 +36,8 @@ public AmmoComponentFluid(Fluid fluid) super((fluid.isGaseous()?"gas_": "fluid_")+IIStringUtil.toSnakeCase(fluid.getName()), Math.max(fluid.getDensity(), 0)/1000f, ComponentRole.CHEMICAL, - IIColor.fromPackedARGB(fluid.getColor()) - ); + IIColor.fromPackedARGB(fluid.getColor()), + 1); this.fluid = fluid; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java index b1a018712..4b7b20595 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/factory/AmmoComponentShrapnel.java @@ -33,7 +33,7 @@ public class AmmoComponentShrapnel extends AmmoComponent public AmmoComponentShrapnel(String material) { - super("shrapnel_"+material, 1f, ComponentRole.SHRAPNEL, ShrapnelHandler.registry.get(material).color); + super("shrapnel_"+material, 1f, ComponentRole.SHRAPNEL, ShrapnelHandler.registry.get(material).color, 1); shrapnel = ShrapnelHandler.registry.get(material); stack = new IngredientStack("dust"+Character.toUpperCase(material.charAt(0))+material.substring(1)); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java index 93d5647cb..6d6c14eb4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/incendiary/AmmoComponentWhitePhosphorus.java @@ -39,7 +39,7 @@ public class AmmoComponentWhitePhosphorus extends AmmoComponent { public AmmoComponentWhitePhosphorus() { - super("white_phosphorus", 1f, ComponentRole.SPECIAL, IIColor.fromPackedRGB(0x6b778a)); + super("white_phosphorus", 1f, ComponentRole.INCENDIARY, IIColor.fromPackedRGB(0xb8afa3), 2); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java index 8fcbec1df..5c6481694 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/ammo/components/nuke/AmmoComponentNuke.java @@ -53,7 +53,7 @@ public class AmmoComponentNuke extends AmmoComponent public AmmoComponentNuke() { - super("nuke", 2.5f, ComponentRole.TERRAIN_DENIAL, IIColor.fromPackedRGB(0x6b778a)); + super("nuke", 2.5f, ComponentRole.TERRAIN_DENIAL, IIColor.fromPackedRGB(0x6b778a), 3); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java index 6780dc106..82acefcb7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/metal_device/tileentity/TileEntityChemicalDispenser.java @@ -14,6 +14,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing.AxisDirection; +import net.minecraft.util.EnumHand; import net.minecraft.util.ITickable; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.MathHelper; @@ -505,6 +506,8 @@ public IFluidTankProperties[] getTankProperties() @Override public String[] getOverlayText(EntityPlayer player, RayTraceResult mop) { + if(!Utils.isFluidRelatedItemStack(player.getHeldItem(EnumHand.MAIN_HAND))) + return new String[0]; return new String[]{IIUtils.getFluidNameOverlayText(tank.getFluid())}; } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java index b35df18ed..f73d83726 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityArtilleryHowitzer.java @@ -149,8 +149,7 @@ public void onUpdate() tactileManager = new TactileManager(multiblock, this); tactileManager.defaultize(); - boolean rs = getRedstoneAtPos(0); - if(door.setState(rs)&&!world.isRemote) + if(!world.isRemote&&door.setState(getRedstoneAtPos(0))) IIPacketHandler.sendToClient(new MessageBooleanAnimatedPartsSync(door, this)); //operate only if energy is sufficient diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java index bafd0e8a2..deda24ac3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityPrecisionAssembler.java @@ -38,12 +38,15 @@ * @updated 07.08.2026 * @since 28.06.2019 */ -public class TileEntityPrecisionAssembler extends TileEntityMultiblockProductionSingle implements IBooleanAnimatedPartsBlock +public class TileEntityPrecisionAssembler extends TileEntityMultiblockProductionSingle + implements IBooleanAnimatedPartsBlock { - @SyncNBT + @SyncNBT(events = {SyncEvents.TILE_GUI_OPENED, SyncEvents.TILE_GUI_OPENED}) public MultiblockInteractablePart drawer1, drawer2; - @SyncNBT + @SyncNBT(events = {SyncEvents.TILE_GUI_OPENED}) public String toolHash = ""; + @SyncNBT(events = {SyncEvents.TILE_GUI_OPENED}) + public String toolOrder = ""; private IEInventoryHandler outputMainHandler, outputSecondaryHandler, inputHandler; private IEInventoryHandler[] toolInputHandlers; @@ -92,6 +95,10 @@ protected void onUpdate() updateTileForEvent(SyncEvents.TILE_RECIPE_CHANGED); } + //Populate the slot-preserving key for tiles saved before this field existed. + if(!world.isRemote&&toolOrder.isEmpty()&&!toolHash.isEmpty()) + rebuildToolConfiguration(); + //Handle drawer animations this.drawer1.update(); this.drawer2.update(); @@ -218,26 +225,40 @@ public void doGraphicalUpdates(int slot) { if(slot >= MultiblockPrecisionAssembler.SLOT_TOOL1&&slot <= MultiblockPrecisionAssembler.SLOT_TOOL3) { - //Rebuild tool hash - ArrayList toolList = new ArrayList<>(); - for(int i = MultiblockPrecisionAssembler.SLOT_TOOL1; i <= MultiblockPrecisionAssembler.SLOT_TOOL3; i++) + rebuildToolConfiguration(); + if(!world.isRemote) + updateTileForEvent(SyncEvents.TILE_GUI_OPENED); + } + } + + private void rebuildToolConfiguration() + { + ArrayList toolList = new ArrayList<>(); + StringBuilder orderBuilder = new StringBuilder(); + for(int i = MultiblockPrecisionAssembler.SLOT_TOOL1; i <= MultiblockPrecisionAssembler.SLOT_TOOL3; i++) + { + if(i > MultiblockPrecisionAssembler.SLOT_TOOL1) + orderBuilder.append(';'); + + ItemStack toolStack = inventory.get(i); + if(toolStack.getItem() instanceof IPrecisionTool) { - ItemStack toolStack = inventory.get(i); - if(toolStack.getItem() instanceof IPrecisionTool) - toolList.add(((IPrecisionTool)toolStack.getItem()).getToolID(toolStack)); + String toolID = ((IPrecisionTool)toolStack.getItem()).getToolID(toolStack); + toolList.add(toolID); + orderBuilder.append(toolID); } - this.toolHash = PrecisionAssemblerRecipe.buildToolHash(toolList.toArray(new String[0])); } + + this.toolHash = PrecisionAssemblerRecipe.buildToolHash(toolList.toArray(new String[0])); + this.toolOrder = orderBuilder.toString(); } @Override public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) { if(capability==CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) - { if(isPOI("item_in")||isPOI("tool1")||isPOI("tool2")||isPOI("tool3")) return true; - } return super.hasCapability(capability, facing); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java index 34c25797e..9ee5cfa83 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockProjectileWorkshop.java @@ -17,6 +17,7 @@ public class MultiblockProjectileWorkshop extends MultiblockStuctureBase bb = AmmoRegistry.getAmmoItem(message.getString("produced_bullet")); producedAmmo = bb==null?IIContent.itemAmmoHeavyArtillery: bb; } - if(message.hasKey("core_type")) - coreType = CoreType.v(message.getString("core_type")); - if(message.hasKey("component_fill_amount")) - componentFillAmount = Math.max(1, message.getInteger("component_fill_amount")); + componentFillAmount = Math.max(1, componentFillAmount); + validateCoreType(); } @Override @@ -183,17 +181,19 @@ public void receiveMessageFromClient(NBTTagCompound message) IAmmoTypeItem bb = AmmoRegistry.getAmmoItem(message.getString("produced_bullet")); producedAmmo = bb==null?IIContent.itemAmmoHeavyArtillery: bb; } - if(message.hasKey("core_type")) - coreType = CoreType.v(message.getString("core_type")); - if(message.hasKey("component_fill_amount")) - componentFillAmount = Math.max(1, message.getInteger("component_fill_amount")); + componentFillAmount = Math.max(1, componentFillAmount); + validateCoreType(); } + //--- IEInventoryHandler ---// + @Override public boolean isStackValid(int slot, ItemStack stack) { if(slot==MultiblockProjectileWorkshop.SLOT_COMPONENT_INPUT&&isUpgradeInstalled(IIContent.UPGRADE_CORE_FILLER)) - return AmmoRegistry.getAllComponents().stream().anyMatch(comp -> comp.getMaterial().matchesItemStackIgnoringSize(stack)); + return AmmoRegistry.getAllComponents().stream() + .filter(this::canUseComponent) + .anyMatch(comp -> comp.getMaterial().matchesItemStackIgnoringSize(stack)); else if(slot==MultiblockProjectileWorkshop.SLOT_INPUT) { if(isUpgradeInstalled(IIContent.UPGRADE_CORE_FILLER)) @@ -204,12 +204,7 @@ else if(slot==MultiblockProjectileWorkshop.SLOT_INPUT) return false; } - @Override - public int getSlotLimit(int i) - { - return i==MultiblockProjectileWorkshop.SLOT_COMPONENT_INPUT?1: 64; - } - + //--- Ammo Component Handling ---// private int getFluidPerComponentAmount() { @@ -222,11 +217,20 @@ private Optional getComponentForFluid(FluidStack fluid) return Optional.empty(); return AmmoRegistry.getAllComponents().stream() + .filter(this::canUseComponent) .filter(component -> component.getMaterial().fluid!=null) .filter(component -> fluid.isFluidEqual(component.getMaterial().fluid)) .findFirst(); } + /** + * Checks if the machine can install the specified component. + */ + private boolean canUseComponent(AmmoComponent component) + { + return component!=null&&(!component.isSpaciousComponent()||isUpgradeInstalled(IIContent.UPGRADE_INSERTER)); + } + private void pullComponentItem() { ItemStack stack = componentInputHandler.getStackInSlot(0); @@ -234,6 +238,7 @@ private void pullComponentItem() return; Optional matching = AmmoRegistry.getAllComponents().stream() + .filter(this::canUseComponent) .filter(comp -> comp.getMaterial().matchesItemStackIgnoringSize(stack)) .findFirst(); @@ -241,20 +246,35 @@ private void pullComponentItem() return; AmmoComponent component = matching.get(); - if(componentInside.isEmpty()) + if(component.getMaterial().fluid!=null) { - if(COMPONENT_AMOUNT_PER_ITEM <= ProjectileWorkshop.componentCapacity) + FluidActionResult result = FluidUtil.tryEmptyContainer(stack.copy(), tanksFiller, Integer.MAX_VALUE, null, true); + if(result.isSuccess()) { - ItemStack extracted = componentInputHandler.extractItem(0, 1, false); - componentInside = new BulletComponentStack(component, COMPONENT_AMOUNT_PER_ITEM, extracted.getTagCompound()); + inventory.set(MultiblockProjectileWorkshop.SLOT_COMPONENT_INPUT, result.getResult()); + updateTileForEvent(SyncEvents.TILE_RECIPE_CHANGED); } + return; } - else if(componentInside.matches(stack) - &&componentInside.amount+COMPONENT_AMOUNT_PER_ITEM <= ProjectileWorkshop.componentCapacity) + + if(componentInside.isEmpty()) { - componentInside.amount += COMPONENT_AMOUNT_PER_ITEM; - componentInputHandler.extractItem(0, 1, false); + if(MultiblockProjectileWorkshop.COMPONENT_AMOUNT_PER_ITEM > ProjectileWorkshop.componentCapacity) + return; + + componentInside = new BulletComponentStack(component, MultiblockProjectileWorkshop.COMPONENT_AMOUNT_PER_ITEM, stack.getTagCompound()); } + else if(componentInside.matches(stack) + &&componentInside.amount+MultiblockProjectileWorkshop.COMPONENT_AMOUNT_PER_ITEM <= ProjectileWorkshop.componentCapacity) + componentInside.amount += MultiblockProjectileWorkshop.COMPONENT_AMOUNT_PER_ITEM; + else + return; + + //The exposed component handler is insert-only. Consume the item from the backing inventory directly. + stack.shrink(1); + if(stack.isEmpty()) + inventory.set(MultiblockProjectileWorkshop.SLOT_COMPONENT_INPUT, ItemStack.EMPTY); + updateTileForEvent(SyncEvents.TILE_RECIPE_CHANGED); } private void pullComponentFluid() @@ -298,13 +318,62 @@ private int getRemainingComponentSlots(IAmmoTypeItem ammo, ItemStack stack private boolean canApplyComponent(ItemStack stack, IAmmoTypeItem ammo, AmmoComponent component, int fillAmount) { - if(!component.matchesBullet(ammo)) + if(!canUseComponent(component)||!component.matchesBullet(ammo)) return false; int componentSlotsTaken = component.getSlotsTaken()*fillAmount; return getRemainingComponentSlots(ammo, stack) >= componentSlotsTaken; } + //--- Ammo Core Handling ---// + + private void validateCoreType() + { + if(Arrays.stream(producedAmmo.getAllowedCoreTypes()).noneMatch(type -> type==coreType)) + coreType = producedAmmo.getAllowedCoreTypes()[0]; + } + + private String getCoreProductionRecipeName(IAmmoTypeItem ammo, AmmoCore core, CoreType type) + { + return ProjectileWorkshopRecipe.CORE_PRODUCTION_RECIPE_PREFIX+ammo.getName()+"|"+core.getName()+"|"+type.getName(); + } + + private ProjectileWorkshopRecipe getOrCreateCoreProductionRecipe(IAmmoTypeItem ammo, AmmoCore core, CoreType type) + { + String name = getCoreProductionRecipeName(ammo, core, type); + ProjectileWorkshopRecipe recipe = IIMultiblockRecipe.streamRecipes(ProjectileWorkshopRecipe.class) + .filter(existing -> name.equals(existing.getName())) + .findFirst() + .orElse(null); + if(recipe==null) + { + recipe = new ProjectileWorkshopRecipe(ammo, core, type); + recipe.setName(name); + } + return recipe; + } + + @Nullable + private ProjectileWorkshopRecipe restoreCoreProductionRecipe(String name) + { + if(!name.startsWith(ProjectileWorkshopRecipe.CORE_PRODUCTION_RECIPE_PREFIX)) + return null; + + String[] parts = name.substring(ProjectileWorkshopRecipe.CORE_PRODUCTION_RECIPE_PREFIX.length()).split("\\|", -1); + if(parts.length!=3) + return null; + + IAmmoTypeItem ammo = AmmoRegistry.getAmmoItem(parts[0]); + AmmoCore core = AmmoRegistry.getCore(parts[1]); + CoreType type = CoreType.v(parts[2]); + if(ammo==null||core==null||Arrays.stream(ammo.getAllowedCoreTypes()).noneMatch(allowed -> allowed==type)) + return null; + + return getOrCreateCoreProductionRecipe(ammo, core, type); + } + + //--- TileEntityMultiblockProductionSingle ---// + @Override protected IIMultiblockProcess findNewProductionProcess() { @@ -327,7 +396,8 @@ private IIMultiblockProcess findNewCoreProductionProce if(!first.isPresent()||stack.getCount() < producedAmmo.getCoreMaterialNeeded()) return null; - ProjectileWorkshopRecipe recipe = new ProjectileWorkshopRecipe(producedAmmo, first.get(), coreType); + validateCoreType(); + ProjectileWorkshopRecipe recipe = getOrCreateCoreProductionRecipe(producedAmmo, first.get(), coreType); stack.shrink(producedAmmo.getCoreMaterialNeeded()); return new IIMultiblockProcess<>(recipe); } @@ -346,29 +416,28 @@ private IIMultiblockProcess findNewFillingProcess() return null; int fillAmount = Math.max(1, componentFillAmount); - if(componentInside.amount < fillAmount) + int componentAmount = fillAmount*ammo.getComponentUsed(); + if(componentInside.amount < componentAmount) return null; ItemStack effect = stack.copy(); effect.setCount(1); AmmoComponent component = componentInside.component; - BulletComponentStack usedComponent = new BulletComponentStack(component, fillAmount, componentInside.tagCompound.copy()); - boolean canFill = canApplyComponent(effect, ammo, component, fillAmount); + if(!canApplyComponent(effect, ammo, component, fillAmount)) + return null; - if(canFill) - { - for(int i = 0; i < fillAmount; i++) - ammo.addComponents(effect, component, componentInside.tagCompound.copy()); - componentInside.subtract(fillAmount); - } + BulletComponentStack usedComponent = new BulletComponentStack(component, componentAmount, componentInside.tagCompound.copy()); + for(int i = 0; i < fillAmount; i++) + ammo.addComponents(effect, component, componentInside.tagCompound.copy()); + componentInside.subtract(componentAmount); stack.shrink(1); IIMultiblockProcess process = new IIMultiblockProcess<>(ProjectileWorkshopRecipe.CORE_FILLING) .withNBT(nbt -> nbt .withItemStack("effect", effect) - .withBoolean("filled", canFill) + .withBoolean("filled", true) .withSerializable("component", usedComponent) ); process.maxTicks *= ammo.getCaliber(); @@ -381,7 +450,12 @@ protected IIMultiblockProcess getProcessByName(String if(ProjectileWorkshopRecipe.FILLING_RECIPE_NAME.equals(name)) return new IIMultiblockProcess<>(ProjectileWorkshopRecipe.CORE_FILLING); - ProjectileWorkshopRecipe recipe = IIMultiblockRecipe.getRecipe(ProjectileWorkshopRecipe.class, name); + ProjectileWorkshopRecipe recipe = IIMultiblockRecipe.streamRecipes(ProjectileWorkshopRecipe.class) + .filter(existing -> name.equals(existing.getName())) + .findFirst() + .orElse(null); + if(recipe==null) + recipe = restoreCoreProductionRecipe(name); return recipe==null?null: new IIMultiblockProcess<>(recipe); } @@ -416,6 +490,8 @@ public IIGUI getGUI() return IIGUI.PROJECTILE_WORKSHOP; } + //--- IBooleanAnimatedPartsBlock ---// + @Override public void onAnimationChangeClient(boolean state, int part) { @@ -473,19 +549,19 @@ public void receiveData(DataPacket packet, int pos) if(packet.has('t')) this.coreType = CoreType.v(packet.get('t').toString()); - if(Arrays.stream(producedAmmo.getAllowedCoreTypes()).noneMatch(ct -> ct==coreType)) - this.coreType = this.producedAmmo.getAllowedCoreTypes()[0]; + validateCoreType(); if(packet.has('a')) - this.componentFillAmount = packet.getVarInType(DataTypeInteger.class, packet.get('a')).value; + this.componentFillAmount = Math.max(1, packet.getVarInType(DataTypeInteger.class, packet.get('a')).value); } + //--- Collision / Conveyor Input ---// + @Override public void onEntityCollision(World world, Entity entity) { - if(pos==15&&!world.isRemote&&entity instanceof EntityItem&&!entity.isDead) + if(isPOI("item_in")&&!world.isRemote&&entity instanceof EntityItem ei&&!entity.isDead) { - EntityItem ei = (EntityItem)entity; if(ei.getItem().isEmpty()) return; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java index f9edd7b5f..4d98d04f2 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/crafttweaker/AmmoTweaker.java @@ -286,7 +286,7 @@ public void apply() final ComponentRole componentRole = IIUtils.enumValue(ComponentRole.class, component.role); AmmoRegistry.registerComponent( - new AmmoComponent(component.name, component.density, componentRole, IIColor.fromPackedRGB(component.color)) + new AmmoComponent(component.name, component.density, componentRole, IIColor.fromPackedRGB(component.color), 1) { private final IngredientStack stack = ApiUtils.createIngredientStack(component.stack); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/AmmoComponentWindCharge.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/AmmoComponentWindCharge.java index 21f1e9b91..b842a18c3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/AmmoComponentWindCharge.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/dd/AmmoComponentWindCharge.java @@ -32,7 +32,7 @@ public class AmmoComponentWindCharge extends AmmoComponent { public AmmoComponentWindCharge() { - super("windcharge", 1f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0xc8dbfa)); + super("windcharge", 1f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0xc8dbfa), 2); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/AmmoComponentNetherFire.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/AmmoComponentNetherFire.java index c0ee3e355..9e0ba4f56 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/AmmoComponentNetherFire.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/nb/AmmoComponentNetherFire.java @@ -31,7 +31,7 @@ public class AmmoComponentNetherFire extends AmmoComponent { public AmmoComponentNetherFire() { - super("nether_fire", 1f, ComponentRole.SPECIAL, IIColor.fromPackedRGB(0x36D9E6)); + super("nether_fire", 1f, ComponentRole.INCENDIARY, IIColor.fromPackedRGB(0x36D9E6), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentAlumentum.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentAlumentum.java index f0fddd496..bd6cc273f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentAlumentum.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentAlumentum.java @@ -17,9 +17,9 @@ */ public class AmmoComponentAlumentum extends AmmoComponent { - public AmmoComponentAlumentum () + public AmmoComponentAlumentum() { - super("alumentum", 1f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0xe2ed68)); + super("alumentum", 1f, ComponentRole.EXPLOSIVE, IIColor.fromPackedRGB(0xe2ed68), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentBottledTaint.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentBottledTaint.java index 82b6e7a17..b3893febd 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentBottledTaint.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentBottledTaint.java @@ -32,7 +32,7 @@ public class AmmoComponentBottledTaint extends AmmoComponent { public AmmoComponentBottledTaint() { - super("bottled_taint", 1f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0x1e0026)); + super("bottled_taint", 1f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0x1e0026), 1); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentPrimordialPearl.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentPrimordialPearl.java index 59aedd9c0..a7e2a14e9 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentPrimordialPearl.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaum/AmmoComponentPrimordialPearl.java @@ -39,7 +39,7 @@ public class AmmoComponentPrimordialPearl extends AmmoComponent { public AmmoComponentPrimordialPearl() { - super("primordial_pearl", 1f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0xff3dae)); + super("primordial_pearl", 1f, ComponentRole.SPECIAL, IIColor.fromPackedARGB(0xff3dae), 3); } @Override @@ -52,12 +52,6 @@ public IngredientStack getMaterial() //itemeldritchobject:3 is the true name, other sources have it as primordial_pearl } - @Override - public int getSlotsTaken() - { - return 3; - } - @Override public void onEffect(World world, Vec3d pos, Vec3d dir, ComponentEffectShape shape, NBTTagCompound tag, float componentSize, float multiplier, Entity owner) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaumaugment/AmmoComponentImpetus.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaumaugment/AmmoComponentImpetus.java index 78c3baff0..08362e00d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaumaugment/AmmoComponentImpetus.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/compat/thaumaugment/AmmoComponentImpetus.java @@ -41,13 +41,7 @@ public class AmmoComponentImpetus extends AmmoComponent { public AmmoComponentImpetus() { - super("impetus", 0.25f, ComponentRole.SPECIAL, IIColor.fromPackedRGB(0x000b10)); - } - - @Override - public int getSlotsTaken() - { - return 3; + super("impetus", 0.25f, ComponentRole.SPECIAL, IIColor.fromPackedRGB(0x000b10), 3); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/gun/ItemIIAmmoAutocannon.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/gun/ItemIIAmmoAutocannon.java index 8c7db08fd..bdcfc6377 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/gun/ItemIIAmmoAutocannon.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/item/ammo/gun/ItemIIAmmoAutocannon.java @@ -61,7 +61,6 @@ public PropellantType getAllowedPropellants() return PropellantType.SOLID; } - @Override public int getCoreMaterialNeeded() { diff --git a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/precision_assembler.json b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/precision_assembler.json index e23ec5182..5ec8c69f5 100644 --- a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/precision_assembler.json +++ b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/precision_assembler.json @@ -80,9 +80,9 @@ "item_in": 9, "item_out": 5, "redstone": 25, - "tool1": 11, + "tool1": 13, "tool2": 12, - "tool3": 13 + "tool3": 11 }, "rotations": { "item_input": "counterclockwise_90", diff --git a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/projectile_workshop.json b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/projectile_workshop.json index 4fa34712a..5b99dc8ec 100644 --- a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/projectile_workshop.json +++ b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/projectile_workshop.json @@ -72,6 +72,7 @@ "item_out": 12, "energy": 46, "redstone": 9, + "data": 8, "component_fluid_in": [22] } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/buzzsaw.json b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/buzzsaw.json index a73010f28..4bce59555 100644 --- a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/buzzsaw.json +++ b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/buzzsaw.json @@ -12,6 +12,36 @@ "transform": [3240, 0, 0] } ] + }, + "particle": { + "property": [ + { + "time": 0.0, + "property": 0.0 + }, + { + "time": 1.0, + "property": 1.0 + } + ], + "visibility": [ + { + "time": 0, + "visibility": false + }, + { + "time": 0.05, + "visibility": true + }, + { + "time": 0.99, + "visibility": true + }, + { + "time": 1.0, + "visibility": false + } + ] } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/drill.json b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/drill.json index dd137985f..68930897c 100644 --- a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/drill.json +++ b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/drill.json @@ -24,6 +24,36 @@ "transform": [0, 0, 0] } ] + }, + "particle": { + "property": [ + { + "time": 0.0, + "property": 0.0 + }, + { + "time": 1.0, + "property": 1.0 + } + ], + "visibility": [ + { + "time": 0, + "visibility": false + }, + { + "time": 0.05, + "visibility": true + }, + { + "time": 0.99, + "visibility": true + }, + { + "time": 1.0, + "visibility": false + } + ] } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/hammer.json b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/hammer.json index 5410fe7de..16d1798dc 100644 --- a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/hammer.json +++ b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/hammer.json @@ -128,6 +128,152 @@ "transform": [0, 0, 0] } ] + }, + "particle": { + "property": [ + { + "time": 0, + "property": 0.0 + }, + { + "time": 0.025, + "property": 0.5 + }, + { + "time": 0.04167, + "property": 0.5 + }, + { + "time": 0.1, + "property": 0.0 + }, + { + "time": 0.125, + "property": 0.5 + }, + { + "time": 0.14167, + "property": 0.5 + }, + { + "time": 0.2, + "property": 0.0 + }, + { + "time": 0.225, + "property": 0.5 + }, + { + "time": 0.24167, + "property": 0.5 + }, + { + "time": 0.3, + "property": 0.0 + }, + { + "time": 0.325, + "property": 0.5 + }, + { + "time": 0.34167, + "property": 0.5 + }, + { + "time": 0.4, + "property": 0.0 + }, + { + "time": 0.425, + "property": 0.5 + }, + { + "time": 0.44167, + "property": 0.5 + }, + { + "time": 0.5, + "property": 0.0 + }, + { + "time": 0.525, + "property": 0.5 + }, + { + "time": 0.54167, + "property": 0.5 + }, + { + "time": 0.6, + "property": 0.0 + }, + { + "time": 0.625, + "property": 0.5 + }, + { + "time": 0.64167, + "property": 0.5 + }, + { + "time": 0.7, + "property": 0.0 + }, + { + "time": 0.725, + "property": 0.5 + }, + { + "time": 0.74167, + "property": 0.5 + }, + { + "time": 0.8, + "property": 0.0 + }, + { + "time": 0.825, + "property": 0.5 + }, + { + "time": 0.84167, + "property": 0.5 + }, + { + "time": 0.9, + "property": 0.0 + }, + { + "time": 0.925, + "property": 1.0 + }, + { + "time": 0.94167, + "property": 1.0 + }, + { + "time": 1, + "property": 0.0 + } + ], + "visibility": [ + { + "time": 0, + "visibility": false + }, + { + "time": 0.1111, + "visibility": true + }, + { + "time": 0.88889, + "visibility": false + }, + { + "time": 1.0, + "visibility": false + } + ] } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/inserter.json b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/inserter.json new file mode 100644 index 000000000..67c387341 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/inserter.json @@ -0,0 +1,69 @@ +{ + "comment": "Made by Pabilo8 with Blockbench", + "groups": { + "pickerLeft": { + "rotation": [ + { + "time": 0.0, + "transform": [0, 0, 0] + }, + { + "time": 0.75, + "transform": [0, 0, 0] + }, + { + "time": 1.0, + "transform": [0, 0, -25] + } + ] + }, + "pickerRight": { + "rotation": [ + { + "time": 0.0, + "transform": [0, 0, 0] + }, + { + "time": 0.75, + "transform": [0, 0, 0] + }, + { + "time": 1.0, + "transform": [0, 0, 25] + } + ] + }, + "pickerLeft2": { + "rotation": [ + { + "time": 0.0, + "transform": [0, 0, 0] + }, + { + "time": 0.75, + "transform": [0, 0, 0] + }, + { + "time": 1.0, + "transform": [0, 0, 25] + } + ] + }, + "pickerRight2": { + "rotation": [ + { + "time": 0.0, + "transform": [0, 0, 0] + }, + { + "time": 0.75, + "transform": [0, 0, 0] + }, + { + "time": 1.0, + "transform": [0, 0, -25] + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/welder.json b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/welder.json index 9218d0501..ce3707938 100644 --- a/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/welder.json +++ b/src/main/resources/assets/immersiveintelligence/animations/precision_assembler/tools/welder.json @@ -44,6 +44,44 @@ "transform": [0, 0, 0] } ] + }, + "particle": { + "property": [ + { + "time": 0.0, + "property": 0.0 + }, + { + "time": 0.1111, + "property": 0.0 + }, + { + "time": 0.88889, + "property": 1.0 + }, + { + "time": 1.0, + "property": 0.0 + } + ], + "visibility": [ + { + "time": 0, + "visibility": false + }, + { + "time": 0.1111, + "visibility": true + }, + { + "time": 0.88889, + "visibility": false + }, + { + "time": 1.0, + "visibility": false + } + ] } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/lang/de_de.lang b/src/main/resources/assets/immersiveintelligence/lang/de_de.lang index 218934bf9..8178c82c4 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/de_de.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/de_de.lang @@ -1248,7 +1248,7 @@ desc.immersiveintelligence.variable_add_desc=Neue Variable hinzufügen desc.immersiveintelligence.variable_set=Setzen desc.immersiveintelligence.variable_set_desc=Wert einer Variable verändern desc.immersiveintelligence.variable_send_packet=Paket senden -desc.immersiveintelligence.variable_send_packet_desc=Sendet dass aktuelle Paket an das Daten Netzwerk +desc.immersiveintelligence.variable_send_packet.tooltip=Sendet dass aktuelle Paket an das Daten Netzwerk desc.immersiveintelligence.variable_remove=Entfernen desc.immersiveintelligence.variable_remove_desc=Eine Variable entfernen desc.immersiveintelligence.variable_properties=Eigenschaften diff --git a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang index 70c46a672..72c8e4ca0 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang @@ -1310,7 +1310,7 @@ desc.immersiveintelligence.variable_add_desc=Add a new variable desc.immersiveintelligence.variable_set=Set desc.immersiveintelligence.variable_set_desc=Change the value of a variable desc.immersiveintelligence.variable_send_packet=Send Packet -desc.immersiveintelligence.variable_send_packet_desc=Sends the current packet to data network +desc.immersiveintelligence.variable_send_packet.tooltip=Sends the current packet to data network desc.immersiveintelligence.variable_remove_desc=Remove a variable desc.immersiveintelligence.variable_properties=Properties desc.immersiveintelligence.variable_properties.tooltip=Edit expression properties, like conditional variables. @@ -1553,6 +1553,7 @@ desc.immersiveintelligence.bullets.details=Details: desc.immersiveintelligence.bullets.core=Fitted with %1$s %2$s Core desc.immersiveintelligence.bullets.fuse=%s Fuse desc.immersiveintelligence.bullets.mass=Mass: %s +desc.immersiveintelligence.bullets.component_slots=Free Component Slots: %s desc.immersiveintelligence.bullets.caliber=Caliber: %s bCal desc.immersiveintelligence.bullets.components=Components: diff --git a/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang b/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang index 1ecd293f0..e69f0ac5d 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/ru_ru.lang @@ -1262,7 +1262,7 @@ desc.immersiveintelligence.variable_add_desc=Добавить новую пер desc.immersiveintelligence.variable_set=Установить desc.immersiveintelligence.variable_set_desc=Изменить значение переменной desc.immersiveintelligence.variable_send_packet=Отправить пакет -desc.immersiveintelligence.variable_send_packet_desc=Отправляет текущий пакет в сеть данных +desc.immersiveintelligence.variable_send_packet.tooltip=Отправляет текущий пакет в сеть данных desc.immersiveintelligence.variable_remove_desc=Удалить переменную desc.immersiveintelligence.variable_properties=Свойства desc.immersiveintelligence.variable_value=Значение: diff --git a/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang b/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang index d95a60d1f..05574a173 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/uk_ua.lang @@ -1222,7 +1222,7 @@ desc.immersiveintelligence.variable_add_desc=Додати нову змінну desc.immersiveintelligence.variable_set=Установити desc.immersiveintelligence.variable_set_desc=Змінити значення змінної desc.immersiveintelligence.variable_send_packet=Надіслати пакет -desc.immersiveintelligence.variable_send_packet_desc=Надсилає поточний пакет до мережі передачі даних +desc.immersiveintelligence.variable_send_packet.tooltip=Надсилає поточний пакет до мережі передачі даних desc.immersiveintelligence.hide_manual_widget=Сховати бічний посібник desc.immersiveintelligence.show_manual_widget=Показати бічний посібник desc.immersiveintelligence.variable_remove=Видалити diff --git a/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang b/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang index 6fe2ce841..2e907040f 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/zh_cn.lang @@ -1277,7 +1277,7 @@ desc.immersiveintelligence.variable_add_desc=添加一个新变量 desc.immersiveintelligence.variable_set=设置 desc.immersiveintelligence.variable_set_desc=改变变量的值 desc.immersiveintelligence.variable_send_packet=发送数据包 -desc.immersiveintelligence.variable_send_packet_desc=将当前数据包发送到数据网络 +desc.immersiveintelligence.variable_send_packet.tooltip=将当前数据包发送到数据网络 desc.immersiveintelligence.variable_remove_desc=移除变量 desc.immersiveintelligence.variable_properties=属性 desc.immersiveintelligence.variable_properties.tooltip=编辑表达式属性,例如条件变量。 diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole.obj.amt index acc570420..40b0a6230 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole.obj.amt @@ -10,7 +10,7 @@ }, "properties": { "flag": { - "rotation": [0.0, 180.0, 0.0] + "rotation": [0.0, 0.0, 0.0] } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/buzzsaw.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/buzzsaw.obj.amt index 49d4415ee..4d6a9840a 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/buzzsaw.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/buzzsaw.obj.amt @@ -3,11 +3,21 @@ "inserter": [8, 4, 8], "lower": [8, 8, 8], "upper": [8, 21.5, 8], - "saw": [8, 42.5, 8] + "saw": [8, 42.5, 8], + "particle": [8, 32.5, 8] }, "hierarchy": { "lower": "inserter", "upper": "lower", - "saw": "upper" + "saw": "upper", + "particle": "upper" + }, + "properties": { + "particle": { + "particle": "machine/precision_assembler/buzzsaw", + "progress": 0.0, + "correct_rotation": true, + "visible": false + } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/drill.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/drill.obj.amt index bf35b3884..e292ab9f0 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/drill.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/drill.obj.amt @@ -3,11 +3,21 @@ "inserter": [8, 4, 8], "lower": [8, 8, 8], "upper": [8, 21.5, 8], - "drill": [8, 34.25, 14] + "drill": [8, 34.25, 14], + "particle": [8, 34.25, 14] }, "hierarchy": { "lower": "inserter", "upper": "lower", - "drill": "upper" + "drill": "upper", + "particle": "upper" + }, + "properties": { + "particle": { + "particle": "machine/precision_assembler/drilling", + "progress": 0.0, + "correct_rotation": true, + "visible": false + } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/hammer.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/hammer.obj.amt index be2bc0f3d..82ada990d 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/hammer.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/hammer.obj.amt @@ -3,11 +3,21 @@ "inserter": [8, 4, 8], "lower": [8, 8, 8], "upper": [8, 21.5, 8], - "hammer": [8, 21.5, 8] + "hammer": [8, 21.5, 8], + "particle": [8, 38.5, 8] }, "hierarchy": { "lower": "inserter", "upper": "lower", - "hammer": "upper" + "hammer": "upper", + "particle": "upper" + }, + "properties": { + "particle": { + "particle": "machine/precision_assembler/hammering", + "progress": 0.0, + "correct_rotation": true, + "visible": false + } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/inserter.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/inserter.obj.amt index caca112ce..1876b8cd7 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/inserter.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/inserter.obj.amt @@ -1,8 +1,5 @@ { "origins": { - "base": [8, 0, 8], - "input": [8, 0, 8], - "output": [8, 0, 8], "inserter": [8, 4, 8], "lower": [8, 8, 8], "upper": [8, 21.5, 8], diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/solderer.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/solderer.obj.amt index 13691d6c3..5c57e7b24 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/solderer.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/solderer.obj.amt @@ -2,10 +2,12 @@ "origins": { "inserter": [8, 4, 8], "lower": [8, 8, 8], - "upper": [8, 21.5, 8] + "upper": [8, 21.5, 8], + "particle": [8, 42.5, 8] }, "hierarchy": { "lower": "inserter", - "upper": "lower" + "upper": "lower", + "particle": "upper" } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/welder.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/welder.obj.amt index 13691d6c3..1eba541de 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/welder.obj.amt +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/precision_assembler/tools/welder.obj.amt @@ -2,10 +2,21 @@ "origins": { "inserter": [8, 4, 8], "lower": [8, 8, 8], - "upper": [8, 21.5, 8] + "upper": [8, 21.5, 8], + "particle": [8, 38.5, 5.5] }, "hierarchy": { "lower": "inserter", - "upper": "lower" + "upper": "lower", + "particle": "upper" + }, + "properties": { + "particle": { + "particle": "machine/precision_assembler/welding", + "progress": 0.0, + "correct_rotation": true, + "visible": false, + "scale": [1.0, 1.0, 1.0] + } } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt index f3f31673a..05e56fe85 100644 --- a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt +++ b/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer.fx.amt @@ -1,16 +1,14 @@ { - "type": "ParticleModel", - "models": ["ammo/tracer_start.obj"], + "type": "ParticleRibbon", + "textures": [ + "immersiveintelligence:particle/tracer/tracer_start", + "immersiveintelligence:particle/tracer/tracer_mid", + "immersiveintelligence:particle/tracer/tracer_end" + ], "max_lifetime": 2, "draw_stage": "custom", - "chained": [ - { - "time": 1, - "generator": "same", - "distance": 0, - "amount": 1, - "inherited_properties": ["size", "color", "motion", "position", "rotation"], - "type": "ammo/tracer_mid" - } + "programs": [ + "lifetime_retexture", + "shockwave_transition" ] } diff --git a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_mid.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_mid.fx.amt deleted file mode 100644 index 81366f4d6..000000000 --- a/src/main/resources/assets/immersiveintelligence/particles/ammo/tracer_mid.fx.amt +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "ParticleModel", - "models": ["ammo/tracer_mid.obj"], - "max_lifetime": 4, - "draw_stage": "custom_additive", - "chained": [ - { - "time": 3, - "generator": "same", - "distance": 0, - "amount": 1, - "inherited_properties": ["size", "color", "motion", "position", "rotation"], - "type": "ammo/tracer_end" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/buzzsaw.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/buzzsaw.fx.amt new file mode 100644 index 000000000..2f0e0f8db --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/buzzsaw.fx.amt @@ -0,0 +1,59 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/dust/sawdust0", + "immersiveintelligence:particle/dust/sawdust1", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust2", + "immersiveintelligence:particle/dust/sawdust3", + "immersiveintelligence:particle/dust/sawdust4", + "immersiveintelligence:particle/dust/sawdust5", + "immersiveintelligence:particle/dust/sawdust6", + "immersiveintelligence:particle/dust/sawdust7", + "immersiveintelligence:particle/dust/sawdust8", + "immersiveintelligence:particle/dust/sawdust9" + ], + "color": "ffffff", + "max_lifetime": 100, + "draw_stage": "custom", + "size": 0.25, + "programs": [ + "lifetime_retexture", + "shockwave_transition" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/drilling.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/drilling.fx.amt new file mode 100644 index 000000000..565a6e7d9 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/drilling.fx.amt @@ -0,0 +1,38 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke_trej/smoke0", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke1", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke4", + "immersiveintelligence:particle/smoke_trej/smoke5", + "immersiveintelligence:particle/smoke_trej/smoke6" + ], + "color": "464646", + "max_lifetime": 20, + "draw_stage": "custom", + "size": 0.45, + "programs": [ + "lifetime_retexture", + "shockwave_transition" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/hammering.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/hammering.fx.amt new file mode 100644 index 000000000..4aa6c6949 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/hammering.fx.amt @@ -0,0 +1,22 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke2", + "immersiveintelligence:particle/smoke_trej/smoke3", + "immersiveintelligence:particle/smoke_trej/smoke4", + "immersiveintelligence:particle/smoke_trej/smoke5", + "immersiveintelligence:particle/smoke_trej/smoke6" + ], + "color": "cf3f3d3f", + "max_lifetime": 20, + "draw_stage": "custom_additive", + "size": 0.35, + "programs": [ + "lifetime_retexture", + "shockwave_transition" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/welding.fx.amt b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/welding.fx.amt new file mode 100644 index 000000000..19581d138 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/particles/machine/precision_assembler/welding.fx.amt @@ -0,0 +1,13 @@ +{ + "type": "ParticleVanilla", + "textures": [ + "immersiveintelligence:particle/round" + ], + "color": "DDF7FF", + "max_lifetime": 20, + "draw_stage": "custom_additive", + "size": 0.65, + "programs": [ + "smoke_transition" + ] +} \ No newline at end of file From c003f53eabf4c50d3a89249538a0cc83aaa71efb Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 16 Aug 2026 06:45:09 +0200 Subject: [PATCH 21/23] Added functionality for Flagpole Tesla Coil and Distress Signal upgrades, updated 3D model (Thanks Trej) --- .../client/fx/utils/ParticleRegistry.java | 22 + .../gui/block/flagpole/GuiFlagpole.java | 34 +- .../gui/block/flagpole/GuiFlagpoleConfig.java | 196 + .../block/flagpole/GuiFlagpoleFaction.java | 3 + .../visual/map/layers/MapLayerBuilder.java | 14 + .../visual/map/scanners/MapScanner.java | 24 +- .../client/gui/deco/util/DecoTemplates.java | 63 + .../multiblock/metal/FlagpoleRenderer.java | 48 +- .../client/util/amt/parts/AMTWire.java | 10 +- .../common/IIConfigHandler.java | 49 + .../immersiveintelligence/common/IIGUI.java | 6 + .../tileentity/TileEntityGateBase.java | 12 - .../BlockIIMetalMultiblock1.java | 1 + .../multiblock/MultiblockFlagpole.java | 3 +- .../tileentity/TileEntityFlagpole.java | 439 +- .../TileEntityRedstoneDataInterface.java | 6 - .../common/gui/ContainerFlagpole.java | 14 +- .../network/messages/MessageExplosion.java | 129 +- .../util/block/BlockIITileProvider.java | 5 +- .../common/util/diplomacy/OwnerIdentity.java | 3 + .../TileEntityMultiblockIIBase.java | 4 +- .../aabb/multiblock/flagpole.json | 7 +- .../metal_multiblock1/flagpole.json | 4 +- .../immersiveintelligence/lang/en_us.lang | 17 +- .../multiblock/flagpole/flagpole_base.obj | 1620 ++- .../flagpole/flagpole_base_flipped.obj | 968 -- .../multiblock/flagpole/flagpole_flipped.obj | 924 ++ .../flagpole/upgrade_capture_defiance.obj | 2519 ++-- .../flagpole/upgrade_capture_defiance.obj.amt | 6 + .../flagpole/upgrade_distress_signal.obj | 907 +- .../flagpole/upgrade_distress_signal.obj.amt | 18 + .../flagpole/upgrade_taser_locks.obj | 10535 +++++++++++----- .../flagpole/upgrade_taser_locks.obj.amt | 18 + .../multiblock/flagpole/upgrade_unit_post.obj | 2088 ++- .../flagpole/upgrade_unit_post.obj.amt | 6 + .../multiblock/fortification/flagpole.png | Bin 4175 -> 5644 bytes .../MultiblockStuctureBaseTest.java | 12 - 37 files changed, 13410 insertions(+), 7324 deletions(-) create mode 100644 src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleConfig.java delete mode 100644 src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base_flipped.obj create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_flipped.obj create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj.amt create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj.amt create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj.amt create mode 100644 src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj.amt diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java index 08b20e33d..a0a3ae66e 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/fx/utils/ParticleRegistry.java @@ -816,6 +816,28 @@ public static void spawnGasCloud(Vec3d pos, float size, Fluid fluid) .withProperty(ParticleProperties.COLOR, color); } + public static void spawnTeslaFX(World world, Vec3d centerPos, List affectedTargets) + { + IIColor coreColor = IIColor.fromPackedRGB(0xDDF7FF); + IIColor edgeColor = IIColor.fromPackedRGB(0x2F7FFF); + + AbstractParticle glow = spawnParticle("emp/glow", centerPos, Vec3d.ZERO, new Vector2f(0, 0)); + if(glow!=null) + glow.withProperty(ParticleProperties.SIZE, 0.125f) + .withProperty(ParticleProperties.COLOR, coreColor) + .withProperty(ParticleProperties.COLOR_SECONDARY, edgeColor); + + if(affectedTargets==null) + return; + for(Vec3d target : affectedTargets) + { + if(target==null) + continue; + spawnLightning("emp/lightning", centerPos, target); + spawnLightning("emp/lightning_core", centerPos, target); + } + } + //--- Utils ---// private static class ParticleFileEntry diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpole.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpole.java index 48b74b7b3..df5fbb9d5 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpole.java @@ -9,21 +9,19 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoMapDisplay; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.map.DecoMapDefaultColorMapper; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.map.IDecoMapColorMapper; -import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.map.scanners.BlockTypeScanner; import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; import pl.pabilo8.immersiveintelligence.common.IIGUI; -import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityArtilleryHowitzer; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFlagpole; -import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityRadar; -import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; import pl.pabilo8.immersiveintelligence.common.gui.ContainerFlagpole; -import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.diplomacy.DiplomacyHandler; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; /** + * Displays the flagpole territory map. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @ii-approved 0.3.1 * @since 27.12.2025 */ @@ -56,6 +54,7 @@ public void onInit() //Tabs addLinkTab(IIGUI.FLAGPOLE, DecoTextures.ICON_MAP, "map_module"); + addLinkTab(IIGUI.FLAGPOLE_CONFIG, DecoTextures.ICON_CONFIG, "configuration_module"); if(tile.getOwnerIdentity()!=DiplomacyHandler.NEUTRAL) addLinkTab(IIGUI.FLAGPOLE_FACTION, DecoTextures.ICON_FACTION_CONFIG, "faction_module"); @@ -74,26 +73,11 @@ public void onInit() .withColorMapper(DecoMapDefaultColorMapper.TERRAIN) .withPanning(true) .withZoomScrolling(1, 4) - .withScanner(new BlockTypeScanner("flagpoles") - .withMultiblockFilter(TileEntityFlagpole.class) - .withUpdateCondition(() -> this.filterFlagpoles) - .withMarkerStyle(DecoTextures.MAP_MARKER_FLAGPOLE, 4, IIColor.WHITE) - ) - .withScanner(new BlockTypeScanner("emplacement") - .withMultiblockFilter(TileEntityEmplacement.class) - .withUpdateCondition(() -> this.filterWeapons) - .withMarkerStyle(DecoTextures.MAP_MARKER_EMPLACEMENT, 4, IIColor.WHITE) - ) - .withScanner(new BlockTypeScanner("artillery_howitzer") - .withMultiblockFilter(TileEntityArtilleryHowitzer.class) - .withUpdateCondition(() -> this.filterWeapons) - .withMarkerStyle(DecoTextures.MAP_MARKER_EMPLACEMENT, 6, IIColor.WHITE) - ) - .withScanner(new BlockTypeScanner("intelligence") - .withMultiblockFilter(TileEntityRadar.class) - .withUpdateCondition(() -> this.filterFlagpoles) - .withMarkerStyle(DecoTextures.MAP_MARKER_RADAR, 6, IIColor.WHITE) - ), + .withScanner(DecoTemplates.getFlagpoleScanner(() -> this.filterFlagpoles)) + .withScanner(DecoTemplates.getEmplacementScanner(() -> this.filterWeapons)) + .withScanner(DecoTemplates.getArtilleryHowitzerScanner(() -> this.filterWeapons)) + .withScanner(DecoTemplates.getRadarScanner(() -> this.filterIntelligence)) + .withScanner(DecoTemplates.getRadioStationScanner(() -> this.filterIntelligence)), new DecoCheckbox(152+4, 12) .withSize(96-8, 12) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleConfig.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleConfig.java new file mode 100644 index 000000000..77390110a --- /dev/null +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleConfig.java @@ -0,0 +1,196 @@ +package pl.pabilo8.immersiveintelligence.client.gui.block.flagpole; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import pl.pabilo8.immersiveintelligence.client.gui.deco.DecoTileGui; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoCheckbox; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.button.DecoSlider; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoMapDisplay; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.map.DecoMapDefaultColorMapper; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.map.layers.MapLayerBuilder; +import pl.pabilo8.immersiveintelligence.client.gui.deco.util.*; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.Flagpole; +import pl.pabilo8.immersiveintelligence.common.IIContent; +import pl.pabilo8.immersiveintelligence.common.IIGUI; +import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFlagpole; +import pl.pabilo8.immersiveintelligence.common.gui.ContainerFlagpole; +import pl.pabilo8.immersiveintelligence.common.util.IIColor; +import pl.pabilo8.immersiveintelligence.common.util.IIReference; +import pl.pabilo8.immersiveintelligence.common.util.diplomacy.DiplomacyHandler; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; + +/** + * Configures Flagpole's loaded chunks and upgrade settings. + * + * @author Pabilo8 (pabilo@iiteam.net) + * @updated 15.08.2026 + * @since 14.08.2026 + */ +@DecoTemplate(name = "flagpole_config", category = DecoGuiCategory.TERRITORY_CONTROL_TILE) +public class GuiFlagpoleConfig extends DecoTileGui +{ + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public int chunkLoadingRange; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean displayFactionFlag; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean prioritizeFactionFlag; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean soundDistressAlarm; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean sendDistressPacket; + @SyncNBT(events = SyncEvents.TILE_CLIENT_MESSAGE) + public boolean teslaCoilActive; + + public GuiFlagpoleConfig(EntityPlayer player, TileEntityFlagpole tile) + { + super(player, tile, IIGUI.FLAGPOLE_CONFIG); + } + + @Override + public void onInit() + { + //Variables + this.chunkLoadingRange = tile.getChunkLoadingRange(); + this.displayFactionFlag = tile.displayFactionFlag; + this.prioritizeFactionFlag = tile.prioritizeFactionFlag; + this.soundDistressAlarm = tile.soundDistressAlarm; + this.sendDistressPacket = tile.sendDistressPacket; + this.teslaCoilActive = tile.teslaCoilActive; + + //Background + startBackground() + .withBox(DecoTextures.BG_STEEL, 0, 0, 152+96, 152) + .withTitleBar(tile) + .withBox(DecoTextures.BG_WOODEN, DecoTextures.TEMPLATE_ROUND_WOODEN, 32, 152, 176, 92) + .withInventorySlots(SlotStyle.VANILLA, container.inventorySlots) + .withInventoryTitleBar() + .withFrame(DecoTextures.FRAME_WOODEN_THIN, 4, false, new boolean[]{true, false, false, false}) + .withNextLayer() + //Use the inverse proportions of the map page: narrow map, wide controls. + .withBox(DecoTextures.BG_PAPER, DecoTextures.TEMPLATE_PAPER, 0, 0, 96, 152) + .withNextLayer() + .withBox(DecoTextures.BG_STEEL, DecoTextures.TEMPLATE_SQUARE, 96, 0, 152, 152) + .build(); + + //Tabs + addLinkTab(IIGUI.FLAGPOLE, DecoTextures.ICON_MAP, "map_module"); + addLinkTab(IIGUI.FLAGPOLE_CONFIG, DecoTextures.ICON_CONFIG, "configuration_module"); + if(tile.getOwnerIdentity()!=DiplomacyHandler.NEUTRAL) + addLinkTab(IIGUI.FLAGPOLE_FACTION, DecoTextures.ICON_FACTION_CONFIG, "faction_module"); + + //Calculate chunk center + BlockPos chunkCenterPos = new BlockPos(((tile.getPos().getX()>>4)<<4)+8, tile.getPos().getY(), ((tile.getPos().getZ()>>4)<<4)+8); + int maxChunkLoadingRange = Math.max(0, Math.min(Flagpole.maxChunksLoadedRadius, Flagpole.chunkClaimRadius)); + + //Add map display + DecoMapDisplay mapDisplay = addComponent(new DecoMapDisplay(4, 0) + .withSize(88, 144) + .withRegion(tile.getWorld(), chunkCenterPos.getX(), chunkCenterPos.getZ(), 256) + .withColorMapper(DecoMapDefaultColorMapper.TERRAIN) + .withBaseZoom(1f) + .withPanning(false) + .withScanner(DecoTemplates.getFlagpoleScanner(() -> true)) + .withScanner(DecoTemplates.getEmplacementScanner(() -> true)) + .withScanner(DecoTemplates.getArtilleryHowitzerScanner(() -> true)) + .withScanner(DecoTemplates.getRadarScanner(() -> true)) + .withScanner(DecoTemplates.getRadioStationScanner(() -> true)) + ); + updateRangePreview(mapDisplay, chunkCenterPos, chunkLoadingRange); + + int controlsX = 100; + int controlsWidth = 144; + + //Base settings + addLabel(IIReference.GUI_LABEL_KEY+"flagpole.config.chunk_loading_range", controlsX, 8) + .withSize(controlsWidth, 12) + .withAlign(DecoAlignment.CENTER); + addLabel(IIReference.GUI_LABEL_KEY+"flagpole.config.chunks", () -> new String[]{String.valueOf(this.chunkLoadingRange)}, controlsX+controlsWidth-32-24, 8+6) + .withSize(32+24, 12); + addComponents( + //Chunk loading range slider. + new DecoSlider(controlsX, 17) + .withSize(controlsWidth-32-2-24, 12) + .withRange(0, Math.max(1, maxChunkLoadingRange)) + .withIntegersOnly(true) + .withValue(chunkLoadingRange) + .withDisabled(maxChunkLoadingRange==0) + .withOnValueChanged(value -> setChunkLoadingRange(Math.round(value), mapDisplay, chunkCenterPos)) + .withBarColors(IIColor.fromPackedRGB(0x663f26), IIColor.fromPackedRGB(0xb37e28)), + + new DecoCheckbox(controlsX, 36) + .withSize(controlsWidth, 12) + .withText(IIReference.GUI_LABEL_KEY+"flagpole.config.display_faction_flag") + .withTranslatedTooltip(IIReference.GUI_LABEL_KEY+"flagpole.config.display_faction_flag.tooltip") + .withChecked(displayFactionFlag) + .withOnToggle(value -> displayFactionFlag = value), + new DecoCheckbox(controlsX, 50) + .withSize(controlsWidth, 12) + .withText(IIReference.GUI_LABEL_KEY+"flagpole.config.prioritize_faction_flag") + .withTranslatedTooltip(IIReference.GUI_LABEL_KEY+"flagpole.config.prioritize_faction_flag.tooltip") + .withChecked(prioritizeFactionFlag) + .withOnToggle(value -> prioritizeFactionFlag = value) + ); + + //Distress Signal upgrade settings + int upgradeY = 64; + if(tile.isUpgradeInstalled(IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL)) + { + addLabel(IIReference.GUI_LABEL_KEY+"flagpole.config.distress_signal", controlsX, upgradeY) + .withSize(controlsWidth, 12) + .withAlign(DecoAlignment.CENTER); + addComponents( + new DecoCheckbox(controlsX, upgradeY+13) + .withSize(controlsWidth, 12) + .withText(IIReference.GUI_LABEL_KEY+"flagpole.config.sound_alarm") + .withTranslatedTooltip(IIReference.GUI_LABEL_KEY+"flagpole.config.sound_alarm.tooltip") + .withChecked(soundDistressAlarm) + .withOnToggle(value -> soundDistressAlarm = value), + new DecoCheckbox(controlsX, upgradeY+27) + .withSize(controlsWidth, 12) + .withText(IIReference.GUI_LABEL_KEY+"flagpole.config.send_distress_packet") + .withTranslatedTooltip(IIReference.GUI_LABEL_KEY+"flagpole.config.send_distress_packet.tooltip") + .withChecked(sendDistressPacket) + .withOnToggle(value -> sendDistressPacket = value) + ); + upgradeY += 46; + } + + //Tesla Coil upgrade settings + if(tile.isUpgradeInstalled(IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS)) + { + addLabel(IIReference.GUI_LABEL_KEY+"flagpole.config.tesla_coil", controlsX, upgradeY) + .withSize(controlsWidth, 12) + .withAlign(DecoAlignment.CENTER); + + addComponent(new DecoCheckbox(controlsX, upgradeY+13) + .withSize(controlsWidth, 12) + .withText(IIReference.GUI_LABEL_KEY+"flagpole.config.tesla_coil_active") + .withTranslatedTooltip(IIReference.GUI_LABEL_KEY+"flagpole.config.tesla_coil_active.tooltip") + .withChecked(teslaCoilActive) + .withOnToggle(value -> teslaCoilActive = value)); + } + } + + private void setChunkLoadingRange(int range, DecoMapDisplay mapDisplay, BlockPos pos) + { + this.chunkLoadingRange = MathHelper.clamp(range, 0, Math.max(0, Math.min(Flagpole.chunkClaimRadius, Flagpole.maxChunksLoadedRadius))); + this.updateRangePreview(mapDisplay, pos, chunkLoadingRange); + } + + private void updateRangePreview(DecoMapDisplay mapDisplay, BlockPos pos, int range) + { + int chunkX = pos.getX()>>4; + int chunkZ = pos.getZ()>>4; + //Add a box around the loaded chunk area + MapLayerBuilder builder = mapDisplay.withLayer("chunk_loading") + .clear(); + if(range > 0) + builder.addRectangleFrame((chunkX-(range-1))<<4, (chunkZ-(range-1))<<4, + (chunkX+(range-1)+1)<<4, (chunkZ+(range-1)+1)<<4, + IIReference.COLOR_IMMERSIVE_ORANGE.withAlpha(48), IIReference.COLOR_IMMERSIVE_ORANGE + ); + } +} diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java index a76e63587..81d275cd7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/block/flagpole/GuiFlagpoleFaction.java @@ -39,6 +39,8 @@ import java.util.stream.Collectors; /** + * Provides basic faction management. + * * @author Pabilo8 (pabilo@iiteam.net) * @author Avalon (avalon@iiteam.net) * @ii-approved 0.3.1 @@ -76,6 +78,7 @@ public void onInit() //Tabs addLinkTab(IIGUI.FLAGPOLE, DecoTextures.ICON_MAP, "map_module"); + addLinkTab(IIGUI.FLAGPOLE_CONFIG, DecoTextures.ICON_CONFIG, "configuration_module"); addLinkTab(IIGUI.FLAGPOLE_FACTION, DecoTextures.ICON_FACTION_CONFIG, "faction_module"); //Content tabs diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/layers/MapLayerBuilder.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/layers/MapLayerBuilder.java index e53a5522b..e7d7909d3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/layers/MapLayerBuilder.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/layers/MapLayerBuilder.java @@ -49,6 +49,20 @@ public MapLayerBuilder addRectangle(int fromX, int fromZ, int toX, int toZ, IICo return this; } + + /** + * Adds a frame overlay consisting of 4 rectangles. + */ + public MapLayerBuilder addRectangleFrame(int fromX, int fromZ, int toX, int toZ, IIColor color, IIColor outline) + { + addRectangle(fromX, fromZ, toX, toZ, color); + addLine(fromX, fromZ, toX, fromZ, outline, 1); + addLine(toX, fromZ, toX, toZ, outline, 1); + addLine(toX, toZ, fromX, toZ, outline, 1); + addLine(fromX, toZ, fromX, fromZ, outline, 1); + return this; + } + /** * Adds a sprite overlay (direct texture) at world coordinates. * Uses UV 0..1 by default. diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/scanners/MapScanner.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/scanners/MapScanner.java index c388ce898..75c53dfc7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/scanners/MapScanner.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/component/visual/map/scanners/MapScanner.java @@ -45,16 +45,24 @@ public MapScanner(String layerName) */ public void update(DecoMapDisplay mapDisplay, World world, CustomMapData mapData) { - if(!updateCondition.get()||world==null) return; + if(world==null) + return; + if(!updateCondition.get()) + { + this.lastScanTick = (int)(world.getTotalWorldTime()-this.updateInterval); + mapDisplay.withLayer(layerName) + .clear(); + return; + } //Check if it's time for a full scan - if(world.getTotalWorldTime()-lastScanTick < updateInterval) + if(world.getTotalWorldTime()-this.lastScanTick < this.updateInterval) return; - lastScanTick = (int)world.getTotalWorldTime(); + this.lastScanTick = (int)world.getTotalWorldTime(); //Get or create the layer - MapLayerBuilder layer = mapDisplay.withLayer(layerName) - .withNoiseShader(usesNoiseShader) + MapLayerBuilder layer = mapDisplay.withLayer(this.layerName) + .withNoiseShader(this.usesNoiseShader) .clear(); //Calculate scan area based on map center and scale @@ -73,9 +81,9 @@ public void update(DecoMapDisplay mapDisplay, World world, CustomMapData mapData * Scan the specified area and add markers to the layer. */ protected abstract void scanArea(DecoMapDisplay mapDisplay, World world, - CustomMapData mapData, - MapLayerBuilder layer, - int minX, int maxX, int minZ, int maxZ); + CustomMapData mapData, + MapLayerBuilder layer, + int minX, int maxX, int minZ, int maxZ); //--- Configuration methods --- diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoTemplates.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoTemplates.java index 440b4c9e0..e0e34ae54 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoTemplates.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/gui/deco/util/DecoTemplates.java @@ -17,13 +17,22 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoBar; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoBar.BarTooltipFormat; import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.DecoImage; +import pl.pabilo8.immersiveintelligence.client.gui.deco.component.visual.map.scanners.BlockTypeScanner; +import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityArtilleryHowitzer; +import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock0.tileentity.TileEntityRadioStation; +import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityFlagpole; +import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.TileEntityRadar; +import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.IIReference; +import pl.pabilo8.immersiveintelligence.common.util.ResLoc; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IDamageResistantMultiblock; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIBase; import javax.annotation.Nonnull; import java.util.List; import java.util.function.Function; +import java.util.function.Supplier; import java.util.stream.Collectors; /** @@ -227,4 +236,58 @@ public List> autocomplete(List> elements, String } }; } + + public static > BlockTypeScanner getScanner + (String name, Class klass, ResLoc location, Supplier filter) + { + return (BlockTypeScanner)new BlockTypeScanner(name) + .withMultiblockFilter(klass) + .withUpdateCondition(filter) + .withMarkerStyle(location, 4, IIColor.WHITE); + } + + /** + * @param filter display filter, for whether to show the marker on the map + * @return {@link BlockTypeScanner} for detecting flagpoles . + */ + public static BlockTypeScanner getFlagpoleScanner(Supplier filter) + { + return getScanner("flagpoles", TileEntityFlagpole.class, DecoTextures.MAP_MARKER_FLAGPOLE, filter); + } + + /** + * @param filter display filter, for whether to show the marker on the map + * @return {@link BlockTypeScanner} for detecting emplacements + */ + public static BlockTypeScanner getEmplacementScanner(Supplier filter) + { + return getScanner("emplacement", TileEntityEmplacement.class, DecoTextures.MAP_MARKER_EMPLACEMENT, filter); + } + + /** + * @param filter display filter, for whether to show the marker on the map + * @return {@link BlockTypeScanner} for detecting emplacements + */ + public static BlockTypeScanner getArtilleryHowitzerScanner(Supplier filter) + { + return getScanner("artillery_howitzer", TileEntityArtilleryHowitzer.class, DecoTextures.MAP_MARKER_ARTILLERY_HOWITZER, filter); + } + + /** + * @param filter display filter, for whether to show the marker on the map + * @return {@link BlockTypeScanner} for detecting radars + */ + public static BlockTypeScanner getRadarScanner(Supplier filter) + { + return getScanner("radar", TileEntityRadar.class, DecoTextures.MAP_MARKER_RADAR, filter); + } + + /** + * @param filter display filter, for whether to show the marker on the map + * @return {@link BlockTypeScanner} for detecting radio stations + */ + public static BlockTypeScanner getRadioStationScanner(Supplier filter) + { + return getScanner("radio_station", TileEntityRadioStation.class, DecoTextures.MAP_MARKER_RADIO_STATION, filter); + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/FlagpoleRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/FlagpoleRenderer.java index b31f29127..31e309b09 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/FlagpoleRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/FlagpoleRenderer.java @@ -3,15 +3,19 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.item.ItemStack; import net.minecraftforge.client.model.obj.OBJModel; +import pl.pabilo8.immersiveintelligence.api.upgrade.Upgrade; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeTechTree; import pl.pabilo8.immersiveintelligence.client.util.amt.AMTUtils; import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTCachedModel; import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTCachedModelBuilder; import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTCrossVariantReference; +import pl.pabilo8.immersiveintelligence.client.util.amt.models.AMTModel; import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMT; import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMTBanner; +import pl.pabilo8.immersiveintelligence.client.util.amt.parts.AMTWire; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IIMultiblockRenderer; import pl.pabilo8.immersiveintelligence.client.util.amt.renderer.IITileRenderer.RegisteredTileRenderer; import pl.pabilo8.immersiveintelligence.common.IIContent; @@ -19,8 +23,14 @@ import pl.pabilo8.immersiveintelligence.common.util.IIReference; import pl.pabilo8.immersiveintelligence.common.util.ResLoc; +import java.util.LinkedHashMap; +import java.util.Map; + /** + * Renders the flagpole, its selected banner, style variant, and installed upgrades. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @ii-approved 0.3.1 * @since 06.09.2025 */ @@ -29,15 +39,25 @@ public class FlagpoleRenderer extends IIMultiblockRenderer { private AMTCachedModel model; private AMTCrossVariantReference flag; + private final Map upgradeModels = new LinkedHashMap<>(); @Override public void drawAnimated(TileEntityFlagpole te, BufferBuilder buf, float partialTicks, Tessellator tes) { applyStandardMirroring(te, true); model.getVariant(te, te.style); - flag.get().setBanner(te.flag) + flag.get().setBanner(te.getFlagOrFactionFlag()) .setIsFlag(true) .setProperty(AMTUtils.getDebugProgress(100, partialTicks)); + + //Render all installed upgrade models in the same transform as the base model. + for(Map.Entry entry : upgradeModels.entrySet()) + if(te.isUpgradeInstalled(entry.getKey())) + { + entry.getValue().defaultize(); + entry.getValue().render(tes, buf); + } + model.render(tes, buf); } @@ -71,6 +91,21 @@ public void compileModels(IBlockState state, OBJModel model) .build(); this.flag = new AMTCrossVariantReference<>("flag", this.model); + + upgradeModels.clear(); + upgradeModels.put(IIContent.UPGRADE_FLAGPOLE_UNIT_POST, + new AMTModel(DefaultVertexFormats.BLOCK, modelDir.with("upgrade_unit_post.obj"), header -> new AMT[0])); + upgradeModels.put(IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL, + new AMTModel(DefaultVertexFormats.BLOCK, modelDir.with("upgrade_distress_signal.obj"), header -> new AMT[]{ + new AMTWire("distress_signal_wire", header) + })); + upgradeModels.put(IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS, + new AMTModel(DefaultVertexFormats.BLOCK, modelDir.with("upgrade_taser_locks.obj"), header -> new AMT[]{ + new AMTWire("taser_locks_wire", header) + })); + upgradeModels.put(IIContent.UPGRADE_FLAGPOLE_CAPTURE_DEFIANCE, + new AMTModel(DefaultVertexFormats.BLOCK, modelDir.with("upgrade_capture_defiance.obj"), header -> new AMT[0])); + UpgradeTechTree.getTreeFor(TileEntityFlagpole.class) .withBaseModelLocation(modelDir.with("flagpole_base.obj")) .withUpgradeModelLocation(IIContent.UPGRADE_FLAGPOLE_UNIT_POST, modelDir.with("upgrade_unit_post.obj")) @@ -78,4 +113,15 @@ public void compileModels(IBlockState state, OBJModel model) .withUpgradeModelLocation(IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS, modelDir.with("upgrade_taser_locks.obj")) .withUpgradeModelLocation(IIContent.UPGRADE_FLAGPOLE_CAPTURE_DEFIANCE, modelDir.with("upgrade_capture_defiance.obj")); } + + @Override + protected void nullifyModels() + { + super.nullifyModels(); + model = AMTUtils.disposeOf(model); + flag = null; + for(AMTModel upgradeModel : upgradeModels.values()) + AMTUtils.disposeOf(upgradeModel); + upgradeModels.clear(); + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTWire.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTWire.java index d9a2f00ad..cb69badcb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTWire.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/util/amt/parts/AMTWire.java @@ -3,16 +3,16 @@ import blusunrize.immersiveengineering.api.energy.wires.WireApi; import blusunrize.immersiveengineering.api.energy.wires.WireType; import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.Vec3d; +import pl.pabilo8.immersiveintelligence.client.IIClientUtils; import pl.pabilo8.immersiveintelligence.client.util.amt.AMTUtils; import pl.pabilo8.immersiveintelligence.common.util.IIColor; import pl.pabilo8.immersiveintelligence.common.util.amt.AMTModelHeader; import pl.pabilo8.immersiveintelligence.common.util.easynbt.EasyNBT; -import static pl.pabilo8.immersiveintelligence.client.IIClientUtils.bindTexture; - /** * AMT type for drawing IE wiring, using AMTQuadsBuilder for geometry. * @@ -69,8 +69,12 @@ protected void draw(Tessellator tes, BufferBuilder buf) .recolor(color); } - bindTexture(new ResourceLocation("immersiveengineering:textures/blocks/wire.png")); + IIClientUtils.bindTexture(new ResourceLocation("immersiveengineering:textures/blocks/wire.png")); + GlStateManager.disableCull(); wireModel.draw(tes, buf); + GlStateManager.color(1f, 1f, 1f, 1f); + IIClientUtils.bindAtlas(); + GlStateManager.enableCull(); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java index 5a8102c65..654bd41cc 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIConfigHandler.java @@ -1138,6 +1138,55 @@ public static class Flagpole @Comment({"How much explosion and block breaking damage the multiblock can take (in half-hearts)."}) public static int baseHealth = 800; + + @RangeInt(min = 0) + @Comment({"Energy capacity of the Flagpole (in IF)."}) + public static int energyCapacity = 32000; + + //Distress signal upgrade + + @Comment({"How often should an upgraded Flagpole scan for entities triggering the distress signal (in ticks)."}) + public static int distressScanInterval = 20; + + @RangeInt(min = 0) + @Comment({"Energy used by the distress alarm on each distress scan (in IF)."}) + public static int distressAlarmEnergyUsage = 512; + + @RangeInt(min = 0) + @Comment({"Distance from which the Flagpole distress alarm can be heard (in blocks)."}) + public static int distressAlarmSoundRange = 36; + + @Comment({"How long should an upgraded Flagpole wait between sending distress signals (in ticks)."}) + public static int distressPacketInterval = 100; + + @RangeInt(min = 0) + @Comment({"Energy used to send one distress radio packet (in IF)."}) + public static int distressPacketEnergyUsage = 512; + + @RangeInt(min = 0) + @Comment({"Radio transmission range of the Distress Signal upgrade (in blocks)."}) + public static int distressRadioRange = 128; + + @RangeDouble(min = 0, max = 1) + @Comment({"Radio range multiplier during bad weather (1 - full range, 0.5 - half range, 0 - no range)."}) + public static double distressRadioWeatherHarshness = 0.75; + + //Tesla + + @Comment({"How often should the Taser Locks upgrade strike enemies."}) + public static int teslaScanInterval = 10; + + @RangeInt(min = 0) + @Comment({"Energy used by the Taser Locks upgrade per strike (in IF)."}) + public static int teslaEnergyUsage = 512; + + @RangeDouble(min = 0) + @Comment({"Damage dealt by the Taser Locks upgrade (in half-hearts)."}) + public static float teslaDamage = 6; + + @RangeDouble(min = 0) + @Comment({"Range of the Taser Locks upgrade (in blocks)."}) + public static double teslaRange = 8; } public static class Emplacement diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIGUI.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIGUI.java index 5bdabf252..2536bf94b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/IIGUI.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/IIGUI.java @@ -32,6 +32,7 @@ import pl.pabilo8.immersiveintelligence.client.gui.block.emplacement.GuiEmplacementPageStorage; import pl.pabilo8.immersiveintelligence.client.gui.block.emplacement.GuiEmplacementPageTargetFilters; import pl.pabilo8.immersiveintelligence.client.gui.block.flagpole.GuiFlagpole; +import pl.pabilo8.immersiveintelligence.client.gui.block.flagpole.GuiFlagpoleConfig; import pl.pabilo8.immersiveintelligence.client.gui.block.flagpole.GuiFlagpoleFaction; import pl.pabilo8.immersiveintelligence.client.gui.block.inserter.GuiInserter; import pl.pabilo8.immersiveintelligence.client.gui.block.packer.GuiPacker; @@ -79,9 +80,12 @@ import java.util.function.Function; /** + * Routes II GUI identifiers to their server containers and client screens. + * * @author Pabilo8 (pabilo@iiteam.net) * @updated 08.06.2020 * @updated 09.06.2025 + * @updated 14.08.2026 * @ii-approved 0.3.1 * @since 17.05.2019 */ @@ -161,6 +165,7 @@ public enum IIGUI implements ISerializableEnum VULCANIZER(TileEntityVulcanizer.class, ContainerVulcanizer::new), FLAGPOLE(TileEntityFlagpole.class, ContainerFlagpole::getContainerForFlagpolePage), + FLAGPOLE_CONFIG(TileEntityFlagpole.class, ContainerFlagpole::getContainerForConfigPage), FLAGPOLE_FACTION(TileEntityFlagpole.class, ContainerFlagpole::getContainerForFactionPage), EMPLACEMENT_STORAGE(TileEntityEmplacement.class, ContainerEmplacement::getContainerForStoragePage), EMPLACEMENT_CONFIG(TileEntityEmplacement.class, ContainerEmplacement::new), @@ -337,6 +342,7 @@ public static void initClientGUIs() IIGUI.UPGRADE_ENTITY.setClientEntityGui((player, tile) -> new GuiEntityUpgrade(player, tile)); IIGUI.FLAGPOLE.setClientTileGui(GuiFlagpole::new); + IIGUI.FLAGPOLE_CONFIG.setClientTileGui(GuiFlagpoleConfig::new); IIGUI.FLAGPOLE_FACTION.setClientTileGui(GuiFlagpoleFaction::new); IIGUI.EMPLACEMENT_STORAGE.setClientTileGui(GuiEmplacementPageStorage::new); IIGUI.EMPLACEMENT_CONFIG.setClientTileGui(GuiEmplacementPageConfig::new); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java index 3fef75be6..094cfecac 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/gate_multiblock/tileentity/TileEntityGateBase.java @@ -101,18 +101,6 @@ public boolean isStackValid(int slot, ItemStack stack) return true; } - @Override - public int getSlotLimit(int slot) - { - return 0; - } - - @Override - public void doGraphicalUpdates(int slot) - { - - } - @Override public void onAnimationChangeClient(boolean state, int part) { diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java index 0f2d757f0..fb186f096 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/BlockIIMetalMultiblock1.java @@ -37,6 +37,7 @@ public BlockIIMetalMultiblock1() addToTESRMap(MetalMultiblocks1.VULCANIZER); setBlockLayer(BlockRenderLayer.CUTOUT); setSubBlockLayer(MetalMultiblocks1.REDSTONE_DATA_INTERFACE, BlockRenderLayer.SOLID, BlockRenderLayer.CUTOUT); + setSubBlockLayer(MetalMultiblocks1.FLAGPOLE, BlockRenderLayer.SOLID, BlockRenderLayer.CUTOUT); } @Deprecated diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java index 5cbd32dd4..b3413b9fa 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/multiblock/MultiblockFlagpole.java @@ -30,6 +30,7 @@ public MultiblockFlagpole() //POI addPOI(MultiblockPOI.MISC_FLAGPOLE, "pole"); + addPOI(MultiblockPOI.WIRE_MOUNT, "wire"); //Customization STYLE_CONSTRAINTS = new StyleConstraints("sandbags", PaintStyleConstraint.NOT_APPLICABLE, @@ -45,7 +46,7 @@ public MultiblockFlagpole() .withUpgrade(IIContent.UPGRADE_FLAGPOLE_UNIT_POST, UpgradeTier.TIER_1) .withUpgrade(IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL, UpgradeTier.TIER_1) .withDependency(IIContent.UPGRADE_FLAGPOLE_CAPTURE_DEFIANCE, IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS) - .withLockOut(IIContent.UPGRADE_FLAGPOLE_UNIT_POST, IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS); + .withLockOut(IIContent.UPGRADE_FLAGPOLE_UNIT_POST, IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS, IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java index 924afa4e3..00b8daa17 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityFlagpole.java @@ -1,42 +1,79 @@ package pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity; +import blusunrize.immersiveengineering.api.DimensionBlockPos; +import blusunrize.immersiveengineering.api.energy.immersiveflux.FluxStorageAdvanced; +import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection; +import blusunrize.immersiveengineering.api.energy.wires.WireType; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IPlayerInteraction; +import blusunrize.immersiveengineering.common.util.IEDamageSources; +import blusunrize.immersiveengineering.common.util.IEPotions; +import blusunrize.immersiveengineering.common.util.IESounds; import blusunrize.immersiveengineering.common.util.Utils; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import pl.pabilo8.immersiveintelligence.api.data.DataPacket; +import pl.pabilo8.immersiveintelligence.api.data.radio.IRadioDevice; +import pl.pabilo8.immersiveintelligence.api.data.radio.RadioNetwork; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeInteger; +import pl.pabilo8.immersiveintelligence.api.data.types.DataTypeString; import pl.pabilo8.immersiveintelligence.api.style.IStyleCustomizable; import pl.pabilo8.immersiveintelligence.api.style.StyleCustomization; import pl.pabilo8.immersiveintelligence.api.upgrade.IManagedUpgradableDevice; +import pl.pabilo8.immersiveintelligence.api.upgrade.Upgrade; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeManager; import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeUtils.MachineStyle; +import pl.pabilo8.immersiveintelligence.api.upgrade.UpgradeUtils.UpgradeOperation; +import pl.pabilo8.immersiveintelligence.client.util.carversound.ConditionCompoundSound; +import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Machines.Flagpole; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.IIGUI; import pl.pabilo8.immersiveintelligence.common.IILogger; +import pl.pabilo8.immersiveintelligence.common.IISounds; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.multiblock.MultiblockFlagpole; +import pl.pabilo8.immersiveintelligence.common.network.IIPacketHandler; +import pl.pabilo8.immersiveintelligence.common.network.messages.MessageExplosion; import pl.pabilo8.immersiveintelligence.common.util.diplomacy.DiplomacyHandler; import pl.pabilo8.immersiveintelligence.common.util.diplomacy.OwnerIdentity; import pl.pabilo8.immersiveintelligence.common.util.diplomacy.property.IOwnableProperty; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIGuiMultiblockTile; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIInventory; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IManagedDamageResistantMultiblock; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.MultiblockHealth; -import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIBase; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.TileEntityMultiblockIIConnectable; import javax.annotation.Nonnull; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static blusunrize.immersiveengineering.api.energy.wires.WireType.MV_CATEGORY; /** + * Multiblock responsible for claiming terrain and chunkloading. + * * @author Pabilo8 (pabilo@iiteam.net) * @updated 30.08.2025 * @ii-approved 0.3.1 * @since 04.03.2021 */ -public class TileEntityFlagpole extends TileEntityMultiblockIIBase implements IPlayerInteraction, IManagedUpgradableDevice, - IStyleCustomizable, IOwnableProperty, IIIGuiMultiblockTile, IManagedDamageResistantMultiblock +public class TileEntityFlagpole extends TileEntityMultiblockIIConnectable implements IPlayerInteraction, + IManagedUpgradableDevice, IStyleCustomizable, IOwnableProperty, IIIGuiMultiblockTile, + IManagedDamageResistantMultiblock, IRadioDevice, IIIInventory { @SyncNBT(events = SyncEvents.TILE_CUSTOM1) public ItemStack flag = ItemStack.EMPTY; @@ -46,9 +83,27 @@ public class TileEntityFlagpole extends TileEntityMultiblockIIBase distressAlarmSound; public TileEntityFlagpole() { @@ -57,6 +112,7 @@ public TileEntityFlagpole() this.ownerIdentity = DiplomacyHandler.NEUTRAL; this.style = new StyleCustomization(MultiblockFlagpole.STYLE_CONSTRAINTS); this.health = new MultiblockHealth(this, Flagpole.baseHealth); + this.energyStorage = new FluxStorageAdvanced(Flagpole.energyCapacity); } @Override @@ -67,49 +123,152 @@ protected void dummyCleanup() this.ownerIdentity = null; this.style = null; this.health = null; + this.energyStorage = null; } @Override protected void onUpdate() { - /*if(!world.isRemote&&ownerIdentity!=DiplomacyUtils.NEUTRAL) - IILogger.info("Owner Identity for "+uuid+" : "+ownerIdentity);*/ - /*if(!world.isRemote) + if(isDummy()) + return; + + //On client only update the siren sound + if(world.isRemote) { - if(ticket!=null) - ticket.getChunkList(); - else - ticket = ForgeChunkManager.requestTicket(ImmersiveIntelligence.INSTANCE, this.getWorld(), Type.NORMAL); + updateDistressAlarmSound(); + return; + } + long time = world.getTotalWorldTime(); + + //Distress signal upgrade + if(isUpgradeInstalled(IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL)) + { + tickRadioCooldown(); + if(distressPacketCooldown > 0) + distressPacketCooldown--; + + if(time%Flagpole.distressScanInterval==0) + updateDistressSignal(); } + else + setDistressAlarmActive(false); - if(!world.isRemote&&ticket!=null) - ForgeChunkManager.forceChunk(ticket, this.world.getChunkFromBlockCoords(getPos()).getPos());*/ + //Tesla upgrade + if(!teslaCoilActive||!isUpgradeInstalled(IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS)) + return; + if(time%Flagpole.teslaScanInterval==0) + updateTeslaCoil(); } - @Override - public boolean interact(EnumFacing side, EntityPlayer player, EnumHand hand, ItemStack heldItem, float hitX, float hitY, float hitZ) + private void updateDistressSignal() { - TileEntityFlagpole master = master(); - if(!world.isRemote&&master!=null&&isPOI("pole")) + boolean hostilePresent = hasHostilesNearby(); + + //Play alarm sound + boolean alarmPowered = hostilePresent&&soundDistressAlarm&& + energyStorage.extractEnergy(Flagpole.distressAlarmEnergyUsage, true)==Flagpole.distressAlarmEnergyUsage; + energyStorage.extractEnergy(Flagpole.distressAlarmEnergyUsage, !alarmPowered); + setDistressAlarmActive(alarmPowered); + + //Send the distress packet + if(hostilePresent&&sendDistressPacket&&distressPacketCooldown <= 0&&isRadioAvailable()&& + energyStorage.extractEnergy(Flagpole.distressPacketEnergyUsage, true)==Flagpole.distressPacketEnergyUsage) { - if(master.flag.isEmpty()&&heldItem.getItem()==Items.BANNER) - { - master.flag = heldItem.copy(); - master.flag.setCount(1); - heldItem.shrink(1); - master.updateTileForEvent(SyncEvents.TILE_CUSTOM1); - return true; - } - else if(!master.flag.isEmpty()&&Utils.isWirecutter(heldItem)) - { - player.inventory.addItemStackToInventory(master.flag.copy()); - master.flag = ItemStack.EMPTY; - master.updateTileForEvent(SyncEvents.TILE_CUSTOM1); - return true; - } + energyStorage.extractEnergy(Flagpole.distressPacketEnergyUsage, false); + BlockPos pos = getPos(); + DataPacket packet = new DataPacket() + .with('e', new DataTypeString("distress")) + .with('x', new DataTypeInteger(pos.getX())) + .with('y', new DataTypeInteger(pos.getY())) + .with('z', new DataTypeInteger(pos.getZ())); + RadioNetwork.INSTANCE.sendPacket(packet, this, new ArrayList<>()); + distressPacketCooldown = Flagpole.distressPacketInterval; } + } - return false; + private boolean hasHostilesNearby() + { + BlockPos pos = getPos(); + int minX = (pos.getX()>>4)<<4; + int minZ = (pos.getZ()>>4)<<4; + AxisAlignedBB chunkBounds = new AxisAlignedBB(minX, 0, minZ, minX+16, world.getHeight(), minZ+16); + return !world.getEntitiesWithinAABB(EntityLivingBase.class, chunkBounds, + living -> living.isEntityAlive()&&ownerIdentity.isHostile(living)).isEmpty(); + } + + private void updateTeslaCoil() + { + //Drain energy + int energyCost = Flagpole.teslaEnergyUsage; + if(energyStorage.extractEnergy(energyCost, true) < energyCost) + return; + + //Find and strike all hostile entities in range + Vec3d center = new Vec3d(getPOIPos("tesla")).addVector(0.5, 0.5, 0.5); + double rangeSq = Flagpole.teslaRange*Flagpole.teslaRange; + List targets = world.getEntitiesWithinAABB(EntityLivingBase.class, + new AxisAlignedBB(getPos()).grow(Flagpole.teslaRange), + entity -> entity.isEntityAlive()&&ownerIdentity.isHostile(entity)&& + entity.getDistanceSq(center.x, center.y, center.z) <= rangeSq); + + for(EntityLivingBase target : targets) + { + //Payment first + if(energyStorage.extractEnergy(energyCost, true) < energyCost) + break; + energyStorage.extractEnergy(energyCost, false); + + //Apply damage + IEDamageSources.causeTeslaDamage(Flagpole.teslaDamage, true).apply(target); + target.addPotionEffect(new PotionEffect(IEPotions.stunned, 128)); + } + + //Play sound + if(!targets.isEmpty()) + { + //Send a particle effect message + IIPacketHandler.sendToClient(MessageExplosion.createTeslaMessage(world, center.addVector(0, 2.5f, 0), targets.stream() + .map(EntityLivingBase::getPositionVector) + .collect(Collectors.toList())) + ); + world.playSound(null, getPos(), IESounds.tesla, SoundCategory.NEUTRAL, 1, 0.5f); + } + } + + private void setDistressAlarmActive(boolean active) + { + if(distressAlarmActive==active) + return; + distressAlarmActive = active; + updateTileForEvent(SyncEvents.TILE_CUSTOM1); + } + + @SideOnly(Side.CLIENT) + private void updateDistressAlarmSound() + { + if(!distressAlarmActive) + return; + if(distressAlarmSound==null||distressAlarmSound.isDonePlaying()) + { + distressAlarmSound = new ConditionCompoundSound<>(IISounds.siren, + new Vec3d(getPos()).addVector(0.5, 0.5, 0.5), this, + tile -> !tile.isInvalid()&&tile.distressAlarmActive); + distressAlarmSound.setMaxRange(Flagpole.distressAlarmSoundRange); + } + } + + @Override + public void onChunkUnload() + { + RadioNetwork.INSTANCE.removeDevice(this); + super.onChunkUnload(); + } + + @Override + public void invalidate() + { + RadioNetwork.INSTANCE.removeDevice(this); + super.invalidate(); } @Override @@ -121,25 +280,55 @@ public void disassemble() Utils.dropStackAtPos(world, getBlockPosForPos(67), flag.copy()); flag = ItemStack.EMPTY; - //ForgeChunkManager.releaseTicket(ticket); } + //--- IIIInventory ---// + @Override public boolean isStackValid(int slot, ItemStack stack) { return false; } + + //--- TileEntityMultiblockIIConnectable ---// + + @Override - public int getSlotLimit(int slot) + public boolean canConnect() { - return 1; + TileEntityFlagpole master = master(); + + return master!=null&&(master.isUpgradeInstalled(IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS)|| + master.isUpgradeInstalled(IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL)) + &&super.canConnect(); } @Override - public void doGraphicalUpdates(int slot) + protected boolean isMatchingCable(WireType cableType) { + return MV_CATEGORY.equals(cableType.getCategory()); + } + @Override + public boolean isEnergyOutput() + { + return true; + } + + @Override + public int outputEnergy(int amount, boolean simulate, int energyType) + { + TileEntityFlagpole master = isDummy()?master(): this; + return master==null||master.energyStorage==null?0: master.energyStorage.receiveEnergy(amount, simulate); + } + + @Override + public Vec3d getConnectionOffset(Connection con) + { + return new Vec3d(0.5, 0.5, 0.5) + .add(new Vec3d(getDirection("power").getDirectionVec()).scale(0.85)) + .add(new Vec3d(getDirection("power").rotateYCCW().getDirectionVec()).scale(mirrored?0.385: -0.385)); } //--- IManagedUpgradableDevice ---// @@ -152,22 +341,104 @@ public UpgradeManager getUpgradeManager() } @Override - public MachineStyle getUpgradableMachineStyle() + public boolean removeUpgrade(Upgrade upgrade) { - switch(style.getStyle()) + boolean success = IManagedUpgradableDevice.super.removeUpgrade(upgrade); + //Remove from current radio network + if(success&upgrade==IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL) { - case "sandbags": - return MachineStyle.SANDBAGS; - case "wooden": - return MachineStyle.WOODEN; - case "steel": - return MachineStyle.STEEL; - case "bricks": - return MachineStyle.BRICKS; - case "concrete": - return MachineStyle.CONCRETE; + RadioNetwork.INSTANCE.removeDevice(this); + setDistressAlarmActive(false); + } + //Remove from wired network + if(success&upgrade==IIContent.UPGRADE_FLAGPOLE_TASER_LOCKS||upgrade==IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL) + removeCable(null); + + return success; + } + + @Override + public boolean addUpgrade(Upgrade upgrade, UpgradeOperation operation) + { + boolean success = IManagedUpgradableDevice.super.addUpgrade(upgrade, operation); + //Register new radio receiver to the network + if(success&&operation==UpgradeOperation.INSTALL&&upgrade==IIContent.UPGRADE_FLAGPOLE_DISTRESS_SIGNAL) + RadioNetwork.INSTANCE.addDevice(this); + return success; + } + + //--- IRadioDevice ---// + + @Override + public void onRadioSend(DataPacket packet) + { + } + + @Override + public boolean onRadioReceive(DataPacket packet) + { + return false; + } + + @Override + public int getFrequency() + { + TileEntityFlagpole master = master(); + return master==null?0: master.frequency; + } + + @Override + public void setFrequency(int value) + { + TileEntityFlagpole master = master(); + if(master!=null) + { + master.frequency = MathHelper.clamp(value, 0, IIConfig.radioBasicMaxFrequency); + if(!world.isRemote) + master.updateTileForEvent(SyncEvents.TILE_CUSTOM1); + } + } + + @Override + public boolean isBasicRadio() + { + return true; + } + + @Override + public float getRange() + { + float weatherFactor = world.isRainingAt(getPos())?(float)Flagpole.distressRadioWeatherHarshness: 1f; + return Flagpole.distressRadioRange*weatherFactor; + } + + @Override + public DimensionBlockPos getDevicePosition() + { + TileEntityFlagpole target = isDummy()?master(): this; + return new DimensionBlockPos(target==null?getPos(): target.getPos(), world); + } + + @Override + public int getRadioCooldown() + { + if(!isDummy()) + return radioCooldown; + TileEntityFlagpole master = master(); + return master==null?0: master.getRadioCooldown(); + } + + @Override + public void setRadioCooldown(int ticks) + { + if(!isDummy()) + radioCooldown = Math.max(0, ticks); + else + { + TileEntityFlagpole master = master(); + if(master!=null) + master.setRadioCooldown(ticks); } - return MachineStyle.STEEL; } //--- IOwnableProperty ---// @@ -196,7 +467,7 @@ public int getChunkOwnershipRadius() @Override public int getChunkLoadingRange() { - return Math.min(Flagpole.chunkClaimRadius, Flagpole.maxChunksLoadedRadius); + return MathHelper.clamp(chunkLoadingRange, 0, Math.max(0, Math.min(Flagpole.chunkClaimRadius, Flagpole.maxChunksLoadedRadius))); } //--- IStyleCustomizable ---// @@ -207,6 +478,35 @@ public StyleCustomization getStyle() return style; } + @Override + public MachineStyle getUpgradableMachineStyle() + { + return switch(style.getStyle()) + { + case "sandbags" -> MachineStyle.SANDBAGS; + case "wooden" -> MachineStyle.WOODEN; + case "steel" -> MachineStyle.STEEL; + case "bricks" -> MachineStyle.BRICKS; + case "concrete" -> MachineStyle.CONCRETE; + default -> MachineStyle.STEEL; + }; + } + + /** + * Gets the banner that the flagpole must render. + * + * @return the decorative banner or the faction banner, based on this flagpole configuration + */ + public ItemStack getFlagOrFactionFlag() + { + ItemStack decorativeFlag = flag==null?ItemStack.EMPTY: flag; + ItemStack factionFlag = displayFactionFlag&&ownerIdentity!=null?ownerIdentity.getBanner(): ItemStack.EMPTY; + boolean hasFactionFlag = factionFlag!=null&&!factionFlag.isEmpty(); + if(hasFactionFlag&&(prioritizeFactionFlag||decorativeFlag.isEmpty())) + return factionFlag; + return decorativeFlag; + } + //--- IManagedDamageResistantMultiblock ---// @Override @@ -231,6 +531,16 @@ public float getExplosionResistance() //--- IIIGuiMultiblockTile ---// + + @Override + public boolean canOpenGui(EntityPlayer player) + { + //Set frequency instead + if(player.getHeldItemMainhand().getItem()==IIContent.itemRadioTuner) + return false; + return IIIGuiMultiblockTile.super.canOpenGui(player); + } + @Override public boolean canOpenGui() { @@ -242,4 +552,31 @@ public IIGUI getGUI() { return IIGUI.FLAGPOLE; } + + //--- IPlayerInteraction ---// + + @Override + public boolean interact(@Nonnull EnumFacing side, @Nonnull EntityPlayer player, @Nonnull EnumHand hand, + @Nonnull ItemStack heldItem, float hitX, float hitY, float hitZ) + { + TileEntityFlagpole master = master(); + if(!world.isRemote&&master!=null&&isPOI("pole")) + if(master.flag.isEmpty()&&heldItem.getItem()==Items.BANNER) + { + master.flag = heldItem.copy(); + master.flag.setCount(1); + heldItem.shrink(1); + master.updateTileForEvent(SyncEvents.TILE_CUSTOM1); + return true; + } + else if(!master.flag.isEmpty()&&Utils.isWirecutter(heldItem)) + { + player.inventory.addItemStackToInventory(master.flag.copy()); + master.flag = ItemStack.EMPTY; + master.updateTileForEvent(SyncEvents.TILE_CUSTOM1); + return true; + } + + return false; + } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java index bb32f40b3..8d13eeefa 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/TileEntityRedstoneDataInterface.java @@ -348,12 +348,6 @@ public int getSlotLimit(int slot) return 1; } - @Override - public void doGraphicalUpdates(int slot) - { - - } - //--- IIIGuiMultiblockTile ---// @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerFlagpole.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerFlagpole.java index 0cbc1031a..0be0bf50d 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerFlagpole.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/gui/ContainerFlagpole.java @@ -6,13 +6,16 @@ import pl.pabilo8.immersiveintelligence.common.util.gui.ContainerIITileBase; /** + * Provides the shared inventory container for all flagpole GUI pages. + * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 14.08.2026 * @ii-approved 0.3.1 * @since 27.12.2025 */ public class ContainerFlagpole extends ContainerIITileBase { - private ContainerFlagpole(EntityPlayer player, TileEntityFlagpole tile, boolean faction) + private ContainerFlagpole(EntityPlayer player, TileEntityFlagpole tile) { super(player, tile); addPlayerInventory(player.inventory, 40, 166); @@ -20,11 +23,16 @@ private ContainerFlagpole(EntityPlayer player, TileEntityFlagpole tile, boolean public static Container getContainerForFlagpolePage(EntityPlayer player, TileEntityFlagpole tile) { - return new ContainerFlagpole(player, tile, false); + return new ContainerFlagpole(player, tile); } public static Container getContainerForFactionPage(EntityPlayer player, TileEntityFlagpole tile) { - return new ContainerFlagpole(player, tile, true); + return new ContainerFlagpole(player, tile); + } + + public static Container getContainerForConfigPage(EntityPlayer player, TileEntityFlagpole tile) + { + return new ContainerFlagpole(player, tile); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java index 75bfc6e52..749ac2cad 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/network/messages/MessageExplosion.java @@ -35,6 +35,7 @@ public class MessageExplosion extends IIMessage implements IPositionBoundMessage private static final int NUKE_MESSAGE_DISTANCE = 512; private static final int WHITE_PHOSPHORUS_MESSAGE_DISTANCE = 128; private static final int EMP_MESSAGE_DISTANCE = 192; + private static final int TESLA_MESSAGE_DISTANCE = 64; private static final int SHRAPNEL_MESSAGE_DISTANCE = 128; private static final int MAX_EMP_TARGETS = 4096; @@ -129,6 +130,19 @@ public static MessageExplosion createEMPMessage(World world, Vec3d pos, float ra return message; } + /** + * Creates an tesla effect message. + */ + public static MessageExplosion createTeslaMessage(World world, Vec3d pos, List targets) + { + MessageExplosion message = new MessageExplosion(EffectType.TESLA, world, pos); + if(targets==null||targets.isEmpty()) + message.effectTargets = Collections.emptyList(); + else + message.effectTargets = new ArrayList<>(targets.subList(0, Math.min(MAX_EMP_TARGETS, targets.size()))); + return message; + } + /** * Creates a shrapnel activation effect message. */ @@ -153,25 +167,27 @@ protected void onClientReceive(WorldClient world, NetHandlerPlayClient handler) { switch(effectType) { - case WHITE_PHOSPHORUS: - ParticleRegistry.spawnWhitePhosphorusFX(world, pos, direction, shape, size); - break; - case NUKE: + case WHITE_PHOSPHORUS -> ParticleRegistry.spawnWhitePhosphorusFX(world, pos, direction, shape, size); + case NUKE -> + { ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(size*2f, 1f, 4f), 20, 0); ParticleRegistry.spawnAtomicExplosionFX(world, pos, size); - break; - case EMP: + } + case EMP -> + { ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(radius/10f, 0.5f, 2f), 8, 0); ParticleRegistry.spawnEMPExplosionFX(world, pos, radius, effectTargets); - break; - case SHRAPNEL: - ParticleRegistry.spawnShrapnelFX(pos, color, size, fallsSlowly); - break; - case EXPLOSION: - default: + } + case TESLA -> + { + ParticleRegistry.spawnTeslaFX(world, pos, effectTargets); + } + case SHRAPNEL -> ParticleRegistry.spawnShrapnelFX(pos, color, size, fallsSlowly); + default -> + { ClientEventHandler.addScreenshakeSource(pos, MathHelper.clamp(strength/4f, 0.25f, 3f), 4, 2); ParticleRegistry.spawnExplosionBoomFX(world, pos, direction, radius, strength, shape, particleBlocks); - break; + } } } @@ -183,29 +199,38 @@ public void fromBytes(ByteBuf buf) switch(effectType) { - case WHITE_PHOSPHORUS: + case WHITE_PHOSPHORUS -> + { this.direction = readVec3(buf); this.shape = readEnum(buf, ComponentEffectShape.class); this.size = buf.readFloat(); - break; - case NUKE: - this.size = buf.readFloat(); - break; - case EMP: + } + case NUKE -> this.size = buf.readFloat(); + case EMP -> + { this.radius = buf.readFloat(); int effectTargetCount = Math.min(MAX_EMP_TARGETS, Math.min(buf.readUnsignedShort(), buf.readableBytes()/24)); this.effectTargets = new ArrayList<>(effectTargetCount); for(int i = 0; i < effectTargetCount; i++) this.effectTargets.add(readVec3(buf)); - break; - case SHRAPNEL: + } + case TESLA -> + { + int effectTargetCount = Math.min(MAX_EMP_TARGETS, + Math.min(buf.readUnsignedShort(), buf.readableBytes()/24)); + this.effectTargets = new ArrayList<>(effectTargetCount); + for(int i = 0; i < effectTargetCount; i++) + this.effectTargets.add(readVec3(buf)); + } + case SHRAPNEL -> + { this.color = readColor(buf); this.size = buf.readFloat(); this.fallsSlowly = buf.readBoolean(); - break; - case EXPLOSION: - default: + } + default -> + { this.flaming = buf.readBoolean(); this.damagesTerrain = buf.readBoolean(); this.radius = buf.readFloat(); @@ -217,7 +242,7 @@ public void fromBytes(ByteBuf buf) this.particleBlocks = new ArrayList<>(particleBlockCount); for(int i = 0; i < particleBlockCount; i++) this.particleBlocks.add(readPos(buf)); - break; + } } } @@ -229,28 +254,36 @@ public void toBytes(ByteBuf buf) switch(effectType) { - case WHITE_PHOSPHORUS: + case WHITE_PHOSPHORUS -> + { writeVec3(buf, direction); writeEnum(buf, shape); buf.writeFloat(size); - break; - case NUKE: - buf.writeFloat(size); - break; - case EMP: + } + case NUKE -> buf.writeFloat(size); + case EMP -> + { buf.writeFloat(radius); int effectTargetCount = Math.min(MAX_EMP_TARGETS, effectTargets.size()); buf.writeShort(effectTargetCount); for(int i = 0; i < effectTargetCount; i++) writeVec3(buf, effectTargets.get(i)); - break; - case SHRAPNEL: + } + case TESLA -> + { + int effectTargetCount = Math.min(MAX_EMP_TARGETS, effectTargets.size()); + buf.writeShort(effectTargetCount); + for(int i = 0; i < effectTargetCount; i++) + writeVec3(buf, effectTargets.get(i)); + } + case SHRAPNEL -> + { writeColor(buf, color); buf.writeFloat(size); buf.writeBoolean(fallsSlowly); - break; - case EXPLOSION: - default: + } + default -> + { buf.writeBoolean(flaming); buf.writeBoolean(damagesTerrain); buf.writeFloat(radius); @@ -262,7 +295,7 @@ public void toBytes(ByteBuf buf) buf.writeShort(particleBlockCount); for(int i = 0; i < particleBlockCount; i++) writePos(buf, particleBlocks.get(i)); - break; + } } } @@ -281,20 +314,15 @@ public Vec3d getPosition() @Override public int getPacketDistance() { - switch(effectType) + return switch(effectType) { - case NUKE: - return Math.max(Graphics.explosionMessageDistance, NUKE_MESSAGE_DISTANCE); - case WHITE_PHOSPHORUS: - return Math.max(Graphics.explosionMessageDistance, WHITE_PHOSPHORUS_MESSAGE_DISTANCE); - case EMP: - return Math.max(Graphics.explosionMessageDistance, EMP_MESSAGE_DISTANCE); - case SHRAPNEL: - return Math.max(Graphics.explosionMessageDistance, SHRAPNEL_MESSAGE_DISTANCE); - case EXPLOSION: - default: - return Graphics.explosionMessageDistance; - } + case NUKE -> Math.max(Graphics.explosionMessageDistance, NUKE_MESSAGE_DISTANCE); + case WHITE_PHOSPHORUS -> Math.max(Graphics.explosionMessageDistance, WHITE_PHOSPHORUS_MESSAGE_DISTANCE); + case EMP -> Math.max(Graphics.explosionMessageDistance, EMP_MESSAGE_DISTANCE); + case TESLA -> Math.max(Graphics.explosionMessageDistance, TESLA_MESSAGE_DISTANCE); + case SHRAPNEL -> Math.max(Graphics.explosionMessageDistance, SHRAPNEL_MESSAGE_DISTANCE); + default -> Graphics.explosionMessageDistance; + }; } /** @@ -309,6 +337,7 @@ public enum EffectType WHITE_PHOSPHORUS, NUKE, EMP, + TESLA, SHRAPNEL } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIITileProvider.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIITileProvider.java index 4fa623641..de7c238da 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIITileProvider.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/block/BlockIITileProvider.java @@ -544,9 +544,12 @@ else if(limit==2||limit==5) TileEntity master = ((IGuiTile)tile).getGuiMaster(); if(!world.isRemote&&master!=null&&((IGuiTile)master).canOpenGui(player)) + { player.openGui(ImmersiveIntelligence.INSTANCE, ((IGuiTile)master).getGuiID(), master.getWorld(), master.getPos().getX(), master.getPos().getY(), master.getPos().getZ()); - return true; + return true; + } + } return false; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/diplomacy/OwnerIdentity.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/diplomacy/OwnerIdentity.java index 672ee6644..e44af858c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/diplomacy/OwnerIdentity.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/diplomacy/OwnerIdentity.java @@ -1,6 +1,7 @@ package pl.pabilo8.immersiveintelligence.common.util.diplomacy; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemBanner; @@ -404,6 +405,8 @@ public boolean isMember(EntityLivingBase entityLivingBase) public boolean isHostile(@Nonnull EntityLivingBase entity) { + if(entity instanceof EntityMob) + return !getRelationTowards(entity).atLeast(DiplomaticStatus.ALLIED); return getRelationTowards(entity)==DiplomaticStatus.ENEMY; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java index 4d31b1334..130b02a9c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/TileEntityMultiblockIIBase.java @@ -6,7 +6,6 @@ import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IMirrorAble; import blusunrize.immersiveengineering.common.blocks.IEBlockInterfaces.IUsesBooleanProperty; import blusunrize.immersiveengineering.common.blocks.TileEntityMultiblockPart; -import blusunrize.immersiveengineering.common.util.inventory.IIEInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -35,6 +34,7 @@ import pl.pabilo8.immersiveintelligence.common.util.easynbt.NBTSerialisation; import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IAdvancedBounds; +import pl.pabilo8.immersiveintelligence.common.util.multiblock.IIMultiblockInterfaces.IIIInventory; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockPOI; import javax.annotation.Nonnull; @@ -51,7 +51,7 @@ * @since 04.08.2022 */ public abstract class TileEntityMultiblockIIBase> extends TileEntityMultiblockPart - implements IMirrorAble, IIEInventory, IAdvancedBounds, IWorldPosProvider + implements IMirrorAble, IIIInventory, IAdvancedBounds, IWorldPosProvider { public static final String KEY_SYNC_AABB = "_sync_aabb"; public static final String KEY_SYNC_ALL_VALUES = "_sync_all_values"; diff --git a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/flagpole.json b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/flagpole.json index de5f5f961..744363398 100644 --- a/src/main/resources/assets/immersiveintelligence/aabb/multiblock/flagpole.json +++ b/src/main/resources/assets/immersiveintelligence/aabb/multiblock/flagpole.json @@ -67,6 +67,11 @@ "25,26,24": "wall_left" }, "poi": { - "pole": [31, 40, 49, 58, 67] + "pole": [31, 40, 49, 58, 67], + "wire": 67, + "tesla": 12 + }, + "rotations": { + "power": "clockwise_90" } } \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/blockstates/metal_multiblock1/flagpole.json b/src/main/resources/assets/immersiveintelligence/blockstates/metal_multiblock1/flagpole.json index c89fad1c9..d83b3c5bc 100644 --- a/src/main/resources/assets/immersiveintelligence/blockstates/metal_multiblock1/flagpole.json +++ b/src/main/resources/assets/immersiveintelligence/blockstates/metal_multiblock1/flagpole.json @@ -69,7 +69,7 @@ "model": "immersiveintelligence:multiblock/flagpole/flagpole_base.obj" }, "true": { - "model": "immersiveintelligence:multiblock/flagpole/flagpole_base_flipped.obj" + "model": "immersiveintelligence:multiblock/flagpole/flagpole_flipped.obj" } }, "boolean1": { @@ -79,7 +79,7 @@ "_0multiblockslave": { "false": {}, "true": { - "model": "immersiveengineering:ie_empty" + "model": "immersiveintelligence:smartmodel/conn_empty" } }, "_1dynamicrender": { diff --git a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang index 72c8e4ca0..3fcfb60c1 100644 --- a/src/main/resources/assets/immersiveintelligence/lang/en_us.lang +++ b/src/main/resources/assets/immersiveintelligence/lang/en_us.lang @@ -1088,7 +1088,7 @@ machineupgrade.immersiveintelligence.saw_unregulator.desc=Unregulating the saw l #Flagpole machineupgrade.immersiveintelligence.flagpole.capture_defiance=Capture Defiance machineupgrade.immersiveintelligence.flagpole.capture_defiance.desc=Reinforces the Flagpole, raising its structural integrity and troops required to actively capture it. -machineupgrade.immersiveintelligence.flagpole.taser_locks=Taser Locks +machineupgrade.immersiveintelligence.flagpole.taser_locks=Tesla Coil machineupgrade.immersiveintelligence.flagpole.taser_locks.desc=Adds a defensive tesla coil, that strikes enemies aiming to capture the Flagpole. machineupgrade.immersiveintelligence.flagpole.distress_signal=Distress Signal machineupgrade.immersiveintelligence.flagpole.distress_signal.desc=Adds a radio-connected alarm siren, that activates when enemy troops are close. @@ -3528,6 +3528,21 @@ ii.gui.map_display.marker.missiles=Missiles ii.gui.map_display.marker.artillery=Artillery ii.gui.map_display.marker.bullets=Bullets +ii.gui.flagpole.config.chunk_loading_range=Chunk Loading Range +ii.gui.flagpole.config.chunks=%s Chunks +ii.gui.flagpole.config.display_faction_flag=Display Faction Flag +ii.gui.flagpole.config.display_faction_flag.tooltip=Display Owner's flag, when no banner was placed on the Flagpole. +ii.gui.flagpole.config.prioritize_faction_flag=Prioritize Faction Flag +ii.gui.flagpole.config.prioritize_faction_flag.tooltip=Display Owner's flag, even if there is a banner on the Flagpole. +ii.gui.flagpole.config.distress_signal=Distress Signal +ii.gui.flagpole.config.sound_alarm=Sound Alarm +ii.gui.flagpole.config.sound_alarm.tooltip=Activates the siren, when enemies are nearby. +ii.gui.flagpole.config.send_distress_packet=Send Distress Packet +ii.gui.flagpole.config.send_distress_packet.tooltip=Sends a distress packet on the radio network, when enemies are nearby. +ii.gui.flagpole.config.tesla_coil=Tesla Coil +ii.gui.flagpole.config.tesla_coil_active=Tesla Coil Active +ii.gui.flagpole.config.tesla_coil_active.tooltip=Activates the Tesla Coil, which strikes nearby enemies. + ii.gui.faction_invitation=Faction ii.gui.faction_invitation.invalid=Could not get faction data. Please close and open this screen again. ii.gui.faction_invitation.current=Current Status diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base.obj index a89d6c5c0..03c97df19 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base.obj +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base.obj @@ -1,679 +1,634 @@ # Made by Pabilo8 with Blockbench -# Exported with IIToolkit Plugin +# Exported with IIToolkit Plugin on 16/08/2026 mtllib flagpole.mtl - o main -v 0.65625 5.1875 1.65625 -v 0.65625 5.1875 1.34375 -v 0.65625 5 1.65625 -v 0.65625 5 1.34375 -v 0.34375 5.1875 1.65625 -v 0.34375 5.1875 1.34375 -v 0.34375 5 1.65625 -v 0.34375 5 1.34375 -v 0.75 -0.125 1.75 -v 0.75 -0.125 1.25 -v 0.75 -1 1.75 -v 0.75 -1 1.25 -v 0.25 -0.125 1.75 -v 0.25 -0.125 1.25 -v 0.25 -1 1.75 -v 0.25 -1 1.25 -v 0.9375 -0.17768687500000002 1.937243125 -v 0.9375 -0.1875 1.75 -v 0.9375 -0.9890737500000002 1.97976625 -v 0.9375 -0.99888625 1.792523125 -v 0.125 -0.17768687500000002 1.937243125 -v 0.125 -0.1875 1.75 -v 0.125 -0.9890737500000002 1.97976625 -v 0.125 -0.99888625 1.792523125 -v 0.375 0.3125 1.5625 -v 0.375 0.3125 1.4375 -v 0.375 0.0625 1.5625 -v 0.375 0.0625 1.4375 -v 0.1875 0.3125 1.5625 -v 0.1875 0.3125 1.4375 -v 0.1875 0.0625 1.5625 -v 0.1875 0.0625 1.4375 -v 0.375 5.125 1.5625 -v 0.375 5.125 1.4375 -v 0.375 5 1.5625 -v 0.375 5 1.4375 -v 0.1875 5.125 1.5625 -v 0.1875 5.125 1.4375 -v 0.1875 5 1.5625 -v 0.1875 5 1.4375 -v 0.6875 -0.4375 0.8125 -v 0.6875 -0.4375 0.25 -v 0.6875 -1 0.8125 -v 0.6875 -1 0.25 -v 0.125 -0.4375 0.8125 -v 0.125 -0.4375 0.25 -v 0.125 -1 0.8125 -v 0.125 -1 0.25 -v 0.10964660676136528 -0.25 0.9958916824264661 -v 0.031250259310625195 -0.25 0.25000026090026095 -v 0.10964660676136528 -1 0.9958916824264661 -v 0.031250259310625195 -1 0.25000026090026095 -v -0.6362448147648401 -0.25 1.0742880298772062 -v -0.7146411622155799 -0.25 0.32839660835100126 -v -0.6362448147648401 -1 1.0742880298772062 -v -0.7146411622155799 -1 0.32839660835100126 -v -0.3734344591834251 -0.625 2.4962731474789015 -v -0.3124997874808515 -0.625 2.0000000716582402 -v -0.3734344591834251 -0.8125 2.4962731474789015 -v -0.3124997874808515 -0.8125 2.0000000716582402 -v -0.6215709970937557 -0.625 2.4658058116276145 -v -0.5606363253911821 -0.625 1.9695327358069534 -v -0.6215709970937557 -0.8125 2.4658058116276145 -v -0.5606363253911821 -0.8125 1.9695327358069534 -v 0.3125 5 1.5625 -v 0.3125 5 1.4375 -v 0.3125 4 1.5625 -v 0.3125 4 1.4375 -v 0.3125 3 1.5625 -v 0.3125 3 1.4375 -v 0.3125 2 1.5625 -v 0.3125 2 1.4375 -v 0.3125 1 1.5625 -v 0.3125 0 1.5625 -v 0.3125 1 1.4375 -v 0.3125 0 1.4375 -v 0.375 5 1.5 -v 0.25 5 1.5 -v 0.375 4 1.5 -v 0.25 4 1.5 -v 0.375 3 1.5 -v 0.25 3 1.5 -v 0.375 2 1.5 -v 0.25 2 1.5 -v 0.375 1 1.5 -v 0.375 0 1.5 -v 0.25 1 1.5 -v 0.25 0 1.5 -v 2 -3 3 -v 2 -3 0 +v 0.3232 5.1875 1.6563 +v 0.3232 5.1875 1.3438 +v 0.3232 5 1.6563 +v 0.3232 5 1.3438 +v 0.6357 5.1875 1.6563 +v 0.6357 5.1875 1.3438 +v 0.6357 5 1.6563 +v 0.6357 5 1.3438 +v 0.2294 -0.125 1.75 +v 0.2294 -0.125 1.25 +v 0.2294 -1 1.75 +v 0.2294 -1 1.25 +v 0.7294 -0.125 1.75 +v 0.7294 -0.125 1.25 +v 0.7294 -1 1.75 +v 0.7294 -1 1.25 +v 0.0419 -0.1777 1.9372 +v 0.0419 -0.1875 1.75 +v 0.0419 -0.9891 1.9798 +v 0.0419 -0.9989 1.7925 +v 0.8544 -0.1777 1.9372 +v 0.8544 -0.1875 1.75 +v 0.8544 -0.9891 1.9798 +v 0.8544 -0.9989 1.7925 +v 0.6044 0.3125 1.5625 +v 0.6044 0.3125 1.4375 +v 0.6044 0.0625 1.5625 +v 0.6044 0.0625 1.4375 +v 0.7919 0.3125 1.5625 +v 0.7919 0.3125 1.4375 +v 0.7919 0.0625 1.5625 +v 0.7919 0.0625 1.4375 +v 0.6044 5.125 1.5625 +v 0.6044 5.125 1.4375 +v 0.6044 5 1.5625 +v 0.6044 5 1.4375 +v 0.7919 5.125 1.5625 +v 0.7919 5.125 1.4375 +v 0.7919 5 1.5625 +v 0.7919 5 1.4375 +v 0.6669 5 1.5625 +v 0.6669 5 1.4375 +v 0.6669 4 1.5625 +v 0.6669 4 1.4375 +v 0.6669 3 1.5625 +v 0.6669 3 1.4375 +v 0.6669 2 1.5625 +v 0.6669 2 1.4375 +v 0.6669 1 1.5625 +v 0.6669 0 1.5625 +v 0.6669 1 1.4375 +v 0.6669 0 1.4375 +v 0.6044 5 1.5 +v 0.7294 5 1.5 +v 0.6044 4 1.5 +v 0.7294 4 1.5 +v 0.6044 3 1.5 +v 0.7294 3 1.5 +v 0.6044 2 1.5 +v 0.7294 2 1.5 +v 0.6044 1 1.5 +v 0.6044 0 1.5 +v 0.7294 1 1.5 +v 0.7294 0 1.5 v -1 -3 3 v -1 -3 0 -v -0.75 -1 2.75 -v -0.75 -1 0.25 -v 1.75 -1 0.25 -v 1.75 -1 2.75 -v -0.75 -1 1.5 -v 1.75 -1 1.5 -v 0.5 -1 1.5 -v 0.5 -1 2.75 -v 0.5 -1 0.25 -v 1.0625000000000002 -0.6875 1.875 -v 1.6875000000000002 -0.6875 1.875 -v 1.0625000000000002 -1 1.875 -v 1.6875000000000002 -1 1.875 -v 1.0625 -0.6875 1 -v 1.6875 -0.6875 1 -v 1.0625 -1 1 -v 1.6875 -1 1 -v 1.018882925148056 -0.6875 2.678320549920332 -v 1.6385359635066874 -0.6875 2.7598994200578644 -v 1.018882925148056 -1 2.678320549920332 -v 1.6385359635066874 -1 2.7598994200578644 -v 1.133093343340601 -0.6875 1.8108062962182478 -v 1.7527463816992326 -0.6875 1.8923851663557802 -v 1.133093343340601 -1 1.8108062962182478 -v 1.7527463816992326 -1 1.8923851663557802 -v -0.125 -0.1875 2.6875 -v -0.125 -0.1875 1.9375 -v -0.125 -0.3125 2.6875 -v -0.125 -0.3125 1.9375 -v -0.75 -0.1875 2.6875 -v -0.75 -0.1875 1.9375 -v -0.75 -0.3125 2.6875 -v -0.75 -0.3125 1.9375 -v -0.5625 -0.3125 2.125 -v -0.5625 -0.3125 2 -v -0.5625 -1 2.125 -v -0.5625 -1 2 -v -0.6875 -0.3125 2.125 -v -0.6875 -0.3125 2 -v -0.6875 -1 2.125 -v -0.6875 -1 2 -v -0.5625 -0.3125 2.625 -v -0.5625 -0.3125 2.5 -v -0.5625 -1 2.625 -v -0.5625 -1 2.5 -v -0.6875 -0.3125 2.625 -v -0.6875 -0.3125 2.5 -v -0.6875 -1 2.625 -v -0.6875 -1 2.5 -v -0.1875 -0.3125 2.125 -v -0.1875 -0.3125 2 -v -0.1875 -1 2.125 -v -0.1875 -1 2 -v -0.3125 -0.3125 2.125 -v -0.3125 -0.3125 2 -v -0.3125 -1 2.125 -v -0.3125 -1 2 -v -0.1875 -0.3125 2.625 -v -0.1875 -0.3125 2.5 -v -0.1875 -1 2.625 -v -0.1875 -1 2.5 -v -0.3125 -0.3125 2.625 -v -0.3125 -0.3125 2.5 -v -0.3125 -1 2.625 -v -0.3125 -1 2.5 -v 0.625 5 1.625 -v 0.625 5 1.375 -v 0.625 -0.125 1.625 -v 0.625 -0.125 1.375 -v 0.375 5 1.625 -v 0.375 5 1.375 -v 0.375 -0.125 1.625 -v 0.375 -0.125 1.375 -v 0.375 2.4375 1.625 -v 0.375 2.4375 1.375 -v 0.625 2.4375 1.375 -v 0.625 2.4375 1.625 -v 0.375 3.71875 1.625 -v 0.375 3.71875 1.375 -v 0.625 3.71875 1.375 -v 0.625 3.71875 1.625 -v 0.375 1.15625 1.625 -v 0.375 1.15625 1.375 -v 0.625 1.15625 1.375 -v 0.625 1.15625 1.625 -vt 0.25 0 -vt 0.25 0.0625 +v 2 -3 3 +v 2 -3 0 +v 1.7294 -1 2.75 +v 1.7294 -1 0.25 +v -0.7706 -1 0.25 +v -0.7706 -1 2.75 +v 1.7294 -1 1.5 +v -0.7706 -1 1.5 +v 0.4794 -1 1.5 +v 0.4794 -1 2.75 +v 0.4794 -1 0.25 +v 1.1044 -0.1875 2.6875 +v 1.1044 -0.1875 1.9375 +v 1.1044 -0.3125 2.6875 +v 1.1044 -0.3125 1.9375 +v 1.7294 -0.1875 2.6875 +v 1.7294 -0.1875 1.9375 +v 1.7294 -0.3125 2.6875 +v 1.7294 -0.3125 1.9375 +v 0.3544 5 1.625 +v 0.3544 5 1.375 +v 0.3544 -0.125 1.625 +v 0.3544 -0.125 1.375 +v 0.6044 5 1.625 +v 0.6044 5 1.375 +v 0.6044 -0.125 1.625 +v 0.6044 -0.125 1.375 +v 0.6044 2.4375 1.625 +v 0.6044 2.4375 1.375 +v 0.3544 2.4375 1.375 +v 0.3544 2.4375 1.625 +v 0.6044 3.7188 1.625 +v 0.6044 3.7188 1.375 +v 0.3544 3.7188 1.375 +v 0.3544 3.7188 1.625 +v 0.6044 1.1563 1.625 +v 0.6044 1.1563 1.375 +v 0.3544 1.1563 1.375 +v 0.3544 1.1563 1.625 +v 1.1044 -0.1875 2.3125 +v 1.7294 -0.1875 2.3125 +v 1.7294 -0.3125 2.3125 +v 1.1044 -0.3125 2.3125 +v 1.1669 -0.3125 2.625 +v 1.1669 -0.3125 2.5 +v 1.1669 -1 2.625 +v 1.1669 -1 2.5 +v 1.2919 -0.3125 2.625 +v 1.2919 -0.3125 2.5 +v 1.2919 -1 2.625 +v 1.2919 -1 2.5 +v 1.1669 -0.3125 2 +v 1.1669 -0.3125 2.125 +v 1.1669 -1 2 +v 1.1669 -1 2.125 +v 1.2919 -0.3125 2 +v 1.2919 -0.3125 2.125 +v 1.2919 -1 2 +v 1.2919 -1 2.125 +v 1.6456 -0.3125 2.625 +v 1.6456 -0.3125 2.5 +v 1.6456 -1 2.625 +v 1.6456 -1 2.5 +v 1.5206 -0.3125 2.625 +v 1.5206 -0.3125 2.5 +v 1.5206 -1 2.625 +v 1.5206 -1 2.5 +v 1.6456 -0.3125 2 +v 1.6456 -0.3125 2.125 +v 1.6456 -1 2 +v 1.6456 -1 2.125 +v 1.5206 -0.3125 2 +v 1.5206 -0.3125 2.125 +v 1.5206 -1 2 +v 1.5206 -1 2.125 +v -0.0394 -0.6875 2.6783 +v -0.6591 -0.6875 2.7599 +v -0.0394 -1 2.6783 +v -0.6591 -1 2.7599 +v -0.1537 -0.6875 1.8108 +v -0.7733 -0.6875 1.8924 +v -0.1537 -1 1.8108 +v -0.7733 -1 1.8924 +v 0.1044 -0.4375 0.7875 +v 0.1044 -0.4375 0.225 +v 0.1044 -1 0.7875 +v 0.1044 -1 0.225 +v 0.6669 -0.4375 0.7875 +v 0.6669 -0.4375 0.225 +v 0.6669 -1 0.7875 +v 0.6669 -1 0.225 +v 0.8073 -0.25 0.9959 +v 0.8857 -0.25 0.25 +v 0.8073 -1 0.9959 +v 0.8857 -1 0.25 +v 1.5532 -0.25 1.0743 +v 1.6316 -0.25 0.3284 +v 1.5532 -1 1.0743 +v 1.6316 -1 0.3284 +v -0.0894 -0.375 2.7422 +v -0.7121 -0.375 2.6877 +v -0.0894 -0.6875 2.7422 +v -0.7121 -0.6875 2.6877 +v -0.0132 -0.375 1.8705 +v -0.6358 -0.375 1.816 +v -0.0132 -0.6875 1.8705 +v -0.6358 -0.6875 1.816 vt 0.125 0.0625 -vt 0.125 0 -vt 0.25 0 vt 0.25 0.0625 -vt 0.125 0.0625 -vt 0.125 0 -vt 1 0.046875 -vt 1 0.171875 -vt 0.875 0.171875 -vt 0.875 0.046875 -vt 1 0.046875 -vt 1 0.171875 -vt 0.875 0.171875 -vt 0.875 0.046875 +vt 0.25 0 vt 0.125 0 vt 0.125 0.0625 vt 0.25 0.0625 vt 0.25 0 vt 0.125 0 +vt 0.875 0.1719 +vt 1 0.1719 +vt 1 0.0469 +vt 0.875 0.0469 +vt 0.875 0.1719 +vt 1 0.1719 +vt 1 0.0469 +vt 0.875 0.0469 +vt 0.25 0.0625 vt 0.125 0.0625 +vt 0.125 0 +vt 0.25 0 vt 0.25 0.0625 +vt 0.125 0.0625 +vt 0.125 0 vt 0.25 0 +vt 0.875 0.2188 +vt 1 0.2188 vt 1 0 -vt 1 0.21875 -vt 0.875 0.21875 vt 0.875 0 +vt 0.875 0.2188 +vt 1 0.2188 vt 1 0 -vt 1 0.21875 -vt 0.875 0.21875 vt 0.875 0 -vt 1 0.046875 -vt 1 0.171875 -vt 0.875 0.171875 -vt 0.875 0.046875 +vt 0.875 0.1719 +vt 1 0.1719 +vt 1 0.0469 +vt 0.875 0.0469 +vt 0.875 0.2188 +vt 1 0.2188 vt 1 0 -vt 1 0.21875 -vt 0.875 0.21875 vt 0.875 0 +vt 0.875 0.2188 +vt 1 0.2188 vt 1 0 -vt 1 0.21875 -vt 0.875 0.21875 vt 0.875 0 -vt 0.71875 0.015625 -vt 0.71875 0.234375 -vt 0.75 0.234375 -vt 0.75 0.015625 -vt 0.5 0.015625 -vt 0.5 0.234375 -vt 0.53125 0.234375 -vt 0.53125 0.015625 -vt 0.75 0.03125 +vt 0.7188 0.2344 +vt 0.75 0.2344 +vt 0.75 0.0156 +vt 0.7188 0.0156 +vt 0.5 0.2344 +vt 0.5313 0.2344 +vt 0.5313 0.0156 +vt 0.5 0.0156 +vt 0.5313 0 vt 0.75 0 -vt 0.53125 0 -vt 0.53125 0.03125 -vt 0.515625 0.015625 -vt 0.515625 0.234375 -vt 0.734375 0.234375 -vt 0.734375 0.015625 -vt 0.515625 0.015625 -vt 0.515625 0.234375 -vt 0.734375 0.234375 -vt 0.734375 0.015625 -vt 1 0.421875 -vt 1 0.484375 -vt 1 0.484375 -vt 1 0.421875 -vt 0.75 0.40625 -vt 0.75 0.46875 -vt 0.71875 0.46875 -vt 0.71875 0.40625 -vt 0.75 0.40625 -vt 0.71875 0.40625 -vt 0.71875 0.453125 -vt 0.75 0.453125 -vt 0.71875 0.421875 -vt 0.75 0.421875 -vt 0.75 0.46875 -vt 0.71875 0.46875 -vt 0.71875 0.40625 -vt 0.71875 0.46875 -vt 0.671875 0.46875 -vt 0.671875 0.40625 -vt 0.734375 0.40625 -vt 0.734375 0.46875 -vt 0.6875 0.46875 -vt 0.6875 0.40625 -vt 1 0.421875 -vt 1 0.484375 -vt 1 0.484375 -vt 1 0.421875 -vt 0.75 0.40625 -vt 0.75 0.46875 -vt 0.71875 0.46875 -vt 0.71875 0.40625 -vt 0.75 0.40625 -vt 0.71875 0.40625 -vt 0.71875 0.453125 -vt 0.75 0.453125 -vt 0.71875 0.421875 -vt 0.75 0.421875 -vt 0.75 0.46875 -vt 0.71875 0.46875 -vt 0.71875 0.40625 -vt 0.71875 0.46875 -vt 0.671875 0.46875 -vt 0.671875 0.40625 -vt 0.734375 0.40625 -vt 0.734375 0.46875 -vt 0.6875 0.46875 -vt 0.6875 0.40625 -vt 0.953125 0.59375 -vt 0.953125 0.734375 -vt 0.8125 0.734375 -vt 0.8125 0.59375 -vt 0.953125 0.59375 -vt 0.953125 0.734375 -vt 0.8125 0.734375 -vt 0.8125 0.59375 -vt 0.953125 0.59375 -vt 0.953125 0.734375 -vt 0.8125 0.734375 -vt 0.8125 0.59375 -vt 0.953125 0.59375 -vt 0.953125 0.734375 -vt 0.8125 0.734375 -vt 0.8125 0.59375 -vt 0.953125 0.59375 -vt 0.953125 0.734375 -vt 0.8125 0.734375 -vt 0.8125 0.59375 -vt 0.4375 0.0625 -vt 0.4375 0.25 -vt 0.25 0.25 -vt 0.25 0.0625 -vt 0.4375 0.0625 -vt 0.4375 0.25 -vt 0.25 0.25 -vt 0.25 0.0625 -vt 0.4375 0.0625 -vt 0.4375 0.25 -vt 0.25 0.25 -vt 0.25 0.0625 -vt 0.4375 0.0625 -vt 0.4375 0.25 -vt 0.25 0.25 -vt 0.25 0.0625 -vt 0.4375 0.0625 -vt 0.4375 0.25 -vt 0.25 0.25 -vt 0.25 0.0625 -vt 0.5 0.328125 -vt 0.5 0.375 -vt 0.375 0.375 -vt 0.375 0.328125 -vt 0.453125 0.34375 -vt 0.453125 0.375 -vt 0.375 0.375 -vt 0.375 0.34375 -vt 0.46875 0.375 -vt 0.34375 0.375 -vt 0.34375 0.3125 -vt 0.46875 0.3125 -vt 0.453125 0.359375 -vt 0.453125 0.375 -vt 0.375 0.375 -vt 0.375 0.359375 -vt 0.421875 0.34375 -vt 0.421875 0.375 -vt 0.375 0.375 -vt 0.375 0.34375 -vt 0.4375 0.34375 -vt 0.4375 0.375 -vt 0.375 0.375 -vt 0.375 0.34375 -vt 0.125 0 -vt 0.125 1 +vt 0.75 0.0313 +vt 0.5313 0.0313 +vt 0.7344 0.2344 +vt 0.5156 0.2344 +vt 0.5156 0.0156 +vt 0.7344 0.0156 +vt 0.7344 0.2344 +vt 0.5156 0.2344 +vt 0.5156 0.0156 +vt 0.7344 0.0156 +vt 1 0.4844 +vt 1 0.4844 +vt 1 0.4219 +vt 1 0.4219 +vt 0.7188 0.4688 +vt 0.75 0.4688 +vt 0.75 0.4063 +vt 0.7188 0.4063 +vt 0.7188 0.4531 +vt 0.7188 0.4063 +vt 0.75 0.4063 +vt 0.75 0.4531 +vt 0.75 0.4688 +vt 0.75 0.4219 +vt 0.7188 0.4219 +vt 0.7188 0.4688 +vt 0.6719 0.4688 +vt 0.7188 0.4688 +vt 0.7188 0.4063 +vt 0.6719 0.4063 +vt 0.6875 0.4688 +vt 0.7344 0.4688 +vt 0.7344 0.4063 +vt 0.6875 0.4063 +vt 1 0.4844 +vt 1 0.4844 +vt 1 0.4219 +vt 1 0.4219 +vt 0.7188 0.4688 +vt 0.75 0.4688 +vt 0.75 0.4063 +vt 0.7188 0.4063 +vt 0.7188 0.4531 +vt 0.7188 0.4063 +vt 0.75 0.4063 +vt 0.75 0.4531 +vt 0.75 0.4688 +vt 0.75 0.4219 +vt 0.7188 0.4219 +vt 0.7188 0.4688 +vt 0.6719 0.4688 +vt 0.7188 0.4688 +vt 0.7188 0.4063 +vt 0.6719 0.4063 +vt 0.6875 0.4688 +vt 0.7344 0.4688 +vt 0.7344 0.4063 +vt 0.6875 0.4063 vt 0 1 -vt 0 0 -vt 0.125 0 vt 0.125 1 -vt 0 1 -vt 0 0 vt 0.125 0 -vt 0.125 1 -vt 0 1 vt 0 0 -vt 0.125 0 -vt 0.125 1 vt 0 1 -vt 0 0 -vt 0.125 0 vt 0.125 1 -vt 0 1 -vt 0 0 vt 0.125 0 -vt 0.125 1 -vt 0 1 vt 0 0 -vt 0.125 0 -vt 0.125 1 vt 0 1 -vt 0 0 -vt 0.125 0 vt 0.125 1 -vt 0 1 +vt 0.125 0 vt 0 0 +vt 0 1 +vt 0.125 1 vt 0.125 0 +vt 0 0 +vt 0 1 vt 0.125 1 +vt 0.125 0 +vt 0 0 vt 0 1 +vt 0.125 1 +vt 0.125 0 vt 0 0 +vt 0 1 +vt 0.125 1 vt 0.125 0 +vt 0 0 +vt 0 1 vt 0.125 1 +vt 0.125 0 +vt 0 0 vt 0 1 +vt 0.125 1 +vt 0.125 0 vt 0 0 -vt 0 0.25 vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 vt 0.75 1 +vt 0 1 +vt 0 0.25 vt 0.75 0.25 -vt 0.75 1 -vt 0.4375 1 vt 0.4375 0.6875 -vt 0.75 0.6875 vt 0.4375 1 -vt 0.4375 0.6875 -vt 0.75 0.6875 vt 0.75 1 -vt 0.4375 1 -vt 0.4375 0.6875 vt 0.75 0.6875 +vt 0.75 0.6875 +vt 0.4375 0.6875 +vt 0.4375 1 vt 0.75 1 -vt 0.75 1 +vt 0.75 0.6875 +vt 0.4375 0.6875 vt 0.4375 1 +vt 0.75 1 vt 0.4375 0.6875 -vt 0.75 0.6875 -vt 0.5 0.71875 -vt 0.5 0.796875 -vt 0.34375 0.796875 -vt 0.34375 0.71875 -vt 0.5 0.71875 -vt 0.5 0.796875 -vt 0.34375 0.796875 -vt 0.34375 0.71875 -vt 0.75 0.625 -vt 0.75 0.78125 -vt 0.53125 0.78125 -vt 0.53125 0.625 -vt 0.4375 0.796875 -vt 0.4375 0.875 -vt 0.21875 0.875 -vt 0.21875 0.796875 -vt 0.4375 0.796875 -vt 0.4375 0.875 -vt 0.21875 0.875 -vt 0.21875 0.796875 -vt 0.5 0.71875 -vt 0.5 0.796875 -vt 0.34375 0.796875 -vt 0.34375 0.71875 -vt 0.5 0.71875 -vt 0.5 0.796875 -vt 0.34375 0.796875 -vt 0.34375 0.71875 -vt 0.96875 0.84375 -vt 0.96875 1 +vt 0.4375 1 vt 0.75 1 -vt 0.75 0.84375 -vt 0.4375 0.796875 -vt 0.4375 0.875 -vt 0.21875 0.875 -vt 0.21875 0.796875 -vt 0.4375 0.796875 -vt 0.4375 0.875 -vt 0.21875 0.875 -vt 0.21875 0.796875 -vt 0.21875 0.703125 -vt 0.21875 0.734375 -vt 0.03125 0.734375 -vt 0.03125 0.703125 -vt 0.5625 0.703125 -vt 0.5625 0.734375 -vt 0.375 0.734375 -vt 0.375 0.703125 -vt 0.265625 0.25 -vt 0.265625 0.0625 -vt 0.421875 0.0625 -vt 0.421875 0.25 -vt 0.375 0.734375 -vt 0.375 0.921875 -vt 0.53125 0.921875 -vt 0.53125 0.734375 -vt 0.71875 0.703125 -vt 0.71875 0.734375 -vt 0.5625 0.734375 -vt 0.5625 0.703125 -vt 0.375 0.703125 -vt 0.375 0.734375 -vt 0.21875 0.734375 -vt 0.21875 0.703125 -vt 0.796875 0.390625 -vt 0.796875 0.5625 -vt 0.765625 0.5625 -vt 0.765625 0.390625 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.140625 0.859375 -vt 0.140625 0.828125 -vt 0.171875 0.828125 -vt 0.171875 0.859375 -vt 0.796875 0.359375 -vt 0.796875 0.53125 -vt 0.765625 0.53125 -vt 0.765625 0.359375 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.796875 0.390625 -vt 0.796875 0.5625 -vt 0.765625 0.5625 -vt 0.765625 0.390625 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.140625 0.859375 -vt 0.140625 0.828125 -vt 0.171875 0.828125 -vt 0.171875 0.859375 -vt 0.796875 0.359375 -vt 0.796875 0.53125 -vt 0.765625 0.53125 -vt 0.765625 0.359375 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.796875 0.390625 -vt 0.796875 0.5625 -vt 0.765625 0.5625 -vt 0.765625 0.390625 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.140625 0.859375 -vt 0.140625 0.828125 -vt 0.171875 0.828125 -vt 0.171875 0.859375 -vt 0.796875 0.359375 -vt 0.796875 0.53125 -vt 0.765625 0.53125 -vt 0.765625 0.359375 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.796875 0.390625 -vt 0.796875 0.5625 -vt 0.765625 0.5625 -vt 0.765625 0.390625 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 -vt 0.140625 0.859375 -vt 0.140625 0.828125 -vt 0.171875 0.828125 -vt 0.171875 0.859375 -vt 0.796875 0.359375 -vt 0.796875 0.53125 -vt 0.765625 0.53125 -vt 0.765625 0.359375 -vt 0.796875 0.375 -vt 0.796875 0.546875 -vt 0.765625 0.546875 -vt 0.765625 0.375 +vt 0.75 0.6875 +vt 0.5313 0.2813 +vt 0.625 0.2813 +vt 0.625 0.25 +vt 0.5313 0.25 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.6094 0.2813 +vt 0.7031 0.2813 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.6094 0.4063 +vt 0.7031 0.4063 +vt 0.7031 0.4063 +vt 0.6094 0.4063 +vt 0.6094 0.25 +vt 0.7031 0.25 +vt 0.5313 0.25 +vt 0.5313 0.4063 +vt 0.5625 0.4063 +vt 0.5625 0.25 +vt 0.6719 0.4063 +vt 0.6719 0.25 +vt 0.7031 0.25 +vt 0.7031 0.4063 +vt 0.8125 0.6797 +vt 0.75 0.6797 vt 0.75 1 -vt 0.75 0.6796875 -vt 0.8125 0.6796875 vt 0.8125 1 -vt 0.75 0.96875 -vt 0.75 0.6484375 -vt 0.8125 0.6484375 -vt 0.8125 0.96875 -vt 0.75 0.921875 -vt 0.75 0.6015625 -vt 0.8125 0.6015625 -vt 0.8125 0.921875 -vt 0.75 0.984375 -vt 0.75 0.6640625 -vt 0.8125 0.6640625 -vt 0.8125 0.984375 +vt 0.8125 0.6484 +vt 0.75 0.6484 +vt 0.75 0.9688 +vt 0.8125 0.9688 +vt 0.8125 0.6016 +vt 0.75 0.6016 +vt 0.75 0.9219 +vt 0.8125 0.9219 +vt 0.8125 0.6641 +vt 0.75 0.6641 +vt 0.75 0.9844 +vt 0.8125 0.9844 +vt 0.8125 0.6797 +vt 0.75 0.6797 vt 0.75 1 -vt 0.75 0.6796875 -vt 0.8125 0.6796875 vt 0.8125 1 -vt 0.75 0.96875 -vt 0.75 0.6484375 -vt 0.8125 0.6484375 -vt 0.8125 0.96875 +vt 0.8125 0.6484 +vt 0.75 0.6484 +vt 0.75 0.9688 +vt 0.8125 0.9688 +vt 0.8125 0.6172 +vt 0.75 0.6172 vt 0.75 0.9375 -vt 0.75 0.6171875 -vt 0.8125 0.6171875 -vt 0.8125 0.9375 -vt 0.75 0.984375 -vt 0.75 0.6640625 -vt 0.8125 0.6640625 -vt 0.8125 0.984375 -vt 0.8125 0.6171875 vt 0.8125 0.9375 +vt 0.8125 0.6641 +vt 0.75 0.6641 +vt 0.75 0.9844 +vt 0.8125 0.9844 vt 0.75 0.9375 -vt 0.75 0.6171875 -vt 0.8125 0.6328125 -vt 0.8125 0.953125 -vt 0.75 0.953125 -vt 0.75 0.6328125 -vt 0.8125 0.6484375 -vt 0.8125 0.96875 -vt 0.75 0.96875 -vt 0.75 0.6484375 -vt 0.8125 0.6171875 vt 0.8125 0.9375 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.75 0.9531 +vt 0.8125 0.9531 +vt 0.8125 0.6328 +vt 0.75 0.6328 +vt 0.75 0.9688 +vt 0.8125 0.9688 +vt 0.8125 0.6484 +vt 0.75 0.6484 vt 0.75 0.9375 -vt 0.75 0.6171875 -vt 0.8125 0.5078125 -vt 0.8125 0.828125 -vt 0.75 0.828125 -vt 0.75 0.5078125 -vt 0.8125 0.5078125 -vt 0.8125 0.828125 -vt 0.75 0.828125 -vt 0.75 0.5078125 -vt 0.8125 0.5078125 -vt 0.8125 0.828125 -vt 0.75 0.828125 -vt 0.75 0.5078125 -vt 0.8125 0.6171875 vt 0.8125 0.9375 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.75 0.8281 +vt 0.8125 0.8281 +vt 0.8125 0.5078 +vt 0.75 0.5078 +vt 0.75 0.8281 +vt 0.8125 0.8281 +vt 0.8125 0.5078 +vt 0.75 0.5078 +vt 0.75 0.8281 +vt 0.8125 0.8281 +vt 0.8125 0.5078 +vt 0.75 0.5078 vt 0.75 0.9375 -vt 0.75 0.6171875 -vn 1 0 0 +vt 0.8125 0.9375 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.5313 0.4063 +vt 0.625 0.4063 +vt 0.625 0.25 +vt 0.5313 0.25 +vt 0.6094 0.2813 +vt 0.7031 0.2813 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.5313 0.25 +vt 0.625 0.25 +vt 0.625 0.4063 +vt 0.5313 0.4063 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.6094 0.2813 +vt 0.7031 0.2813 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.875 1 +vt 0.4375 1 +vt 0.4375 0.6875 +vt 0.875 0.6875 +vt 0.875 0.6875 +vt 0.4375 0.6875 +vt 0.4375 0.5313 +vt 0.875 0.5313 +vt 0.875 0.5313 +vt 0.4375 0.5313 +vt 0.4375 0.375 +vt 0.875 0.375 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.875 1 +vt 0.4375 1 +vt 0.4375 0.6875 +vt 0.875 0.6875 +vt 0.875 0.6875 +vt 0.4375 0.6875 +vt 0.4375 0.5313 +vt 0.875 0.5313 +vt 0.875 0.5313 +vt 0.4375 0.5313 +vt 0.4375 0.375 +vt 0.875 0.375 vn -1 0 0 +vn 1 0 0 vn 0 1 0 vn 0 -1 0 vn 0 0 1 vn 0 0 -1 -vn 1 0 0 vn -1 0 0 +vn 1 0 0 vn 0 1 0 vn 0 0 1 vn 0 0 -1 -vn 1 0 0 vn -1 0 0 -vn 0 0.9986294988989391 -0.05233664040472852 -vn 0 0.052336128989130766 0.998629525701315 -vn 0 -0.052336169192529945 -0.9986295235943362 vn 1 0 0 +vn 0 1 -0.05 +vn 0 0.05 1 +vn 0 -0.05 -1 vn -1 0 0 +vn 1 0 0 vn 0 1 0 vn 0 -1 0 vn 0 0 1 vn 0 0 -1 -vn 1 0 0 vn -1 0 0 +vn 1 0 0 vn 0 1 0 vn 0 -1 0 vn 0 0 1 vn 0 0 -1 vn 1 0 0 -vn -1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn 0.9945218953682734 0 -0.10452846326765346 -vn -0.9945218953682734 0 0.10452846326765318 -vn 0 1 0 -vn 0.10452846326765342 0 0.9945218953682734 -vn -0.10452846326765375 0 -0.9945218953682734 -vn 0.9925461516413221 0 0.12186934340514716 -vn -0.9925461516413221 0 -0.12186934340514721 -vn 0 1 0 -vn 0 -1 0 -vn -0.12186934340514805 0 0.9925461516413221 -vn 0.12186934340514716 0 -0.9925461516413221 -vn -1 0 0 -vn -1 0 0 -vn -1 0 0 -vn -1 0 0 -vn -1 0 0 +vn 1 0 0 +vn 1 0 0 +vn 1 0 0 +vn 1 0 0 vn 0 0 1 vn 0 0 1 vn 0 0 1 @@ -684,285 +639,286 @@ vn 0 1 0 vn 0 1 0 vn 0 1 0 vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn 0 1 0 -vn -1 0 2.5376526277146434e-16 -vn 1 0 -2.5376526277146434e-16 -vn -0.13052619222005152 0 0.9914448613738106 -vn 0.13052619222005182 0 -0.9914448613738104 -vn 0 1 0 -vn -0.9914448613738106 0 -0.13052619222005152 -vn 0.9914448613738104 0 0.13052619222005163 -vn 1 0 0 vn -1 0 0 +vn 1 0 0 vn 0 1 0 vn 0 -1 0 vn 0 0 1 vn 0 0 -1 -vn 1 0 0 vn -1 0 0 -vn 0 1 0 +vn 1 0 0 vn 0 0 1 vn 0 0 -1 vn 1 0 0 +vn 0 0 -1 vn -1 0 0 -vn 0 1 0 vn 0 0 1 -vn 0 0 -1 vn 1 0 0 +vn 0 0 -1 vn -1 0 0 -vn 0 1 0 vn 0 0 1 -vn 0 0 -1 vn 1 0 0 +vn 0 0 -1 vn -1 0 0 -vn 0 1 0 vn 0 0 1 -vn 0 0 -1 +vn 0 1 0 vn 1 0 0 +vn 0 -1 0 +vn -1 0 0 vn -1 0 0 +vn 1 0 0 vn 0 0 1 vn 0 0 -1 vn -1 0 0 -vn 0 0 -1 vn 1 0 0 +vn 0 0 -1 vn 0 0 1 +vn 1 0 0 vn -1 0 0 +vn 0 0 1 vn 0 0 -1 vn 1 0 0 -vn 0 0 1 vn -1 0 0 vn 0 0 -1 +vn 0 0 1 +vn 0.13 0 0.99 +vn -0.13 0 -0.99 +vn 0 1 0 +vn 0.99 0 -0.13 +vn -0.99 0 0.13 +vn -1 0 0 vn 1 0 0 +vn 0 1 0 vn 0 0 1 +vn 0 0 -1 +vn -0.99 0 -0.1 +vn 0.99 0 0.1 +vn 0 1 0 +vn -0.1 0 0.99 +vn 0.1 0 -0.99 +vn -0.09 0 1 +vn 0.09 0 -1 +vn 0 1 0 +vn 1 0 0.09 +vn -1 0 -0.09 usemtl flagpole -f 4/1/1 2/2/1 1/3/1 -f 4/1/1 1/3/1 3/4/1 -f 7/5/2 5/6/2 6/7/2 -f 7/5/2 6/7/2 8/8/2 -f 1/9/3 2/10/3 6/11/3 -f 1/9/3 6/11/3 5/12/3 -f 4/13/4 3/14/4 7/15/4 -f 4/13/4 7/15/4 8/16/4 -f 3/17/5 1/18/5 5/19/5 -f 3/17/5 5/19/5 7/20/5 -f 8/21/6 6/22/6 2/23/6 -f 8/21/6 2/23/6 4/24/6 -f 12/25/7 10/26/7 9/27/7 -f 12/25/7 9/27/7 11/28/7 -f 15/29/8 13/30/8 14/31/8 -f 15/29/8 14/31/8 16/32/8 -f 9/33/9 10/34/9 14/35/9 -f 9/33/9 14/35/9 13/36/9 -f 11/37/10 9/38/10 13/39/10 -f 11/37/10 13/39/10 15/40/10 -f 16/41/11 14/42/11 10/43/11 -f 16/41/11 10/43/11 12/44/11 +f 1/1/1 2/2/1 4/3/1 +f 1/1/1 4/3/1 3/4/1 +f 6/5/2 5/6/2 7/7/2 +f 6/5/2 7/7/2 8/8/2 +f 6/9/3 2/10/3 1/11/3 +f 6/9/3 1/11/3 5/12/3 +f 7/13/4 3/14/4 4/15/4 +f 7/13/4 4/15/4 8/16/4 +f 5/17/5 1/18/5 3/19/5 +f 5/17/5 3/19/5 7/20/5 +f 2/21/6 6/22/6 8/23/6 +f 2/21/6 8/23/6 4/24/6 +f 9/25/7 10/26/7 12/27/7 +f 9/25/7 12/27/7 11/28/7 +f 14/29/8 13/30/8 15/31/8 +f 14/29/8 15/31/8 16/32/8 +f 14/33/9 10/34/9 9/35/9 +f 14/33/9 9/35/9 13/36/9 +f 13/37/10 9/38/10 11/39/10 +f 13/37/10 11/39/10 15/40/10 +f 10/41/11 14/42/11 16/43/11 +f 10/41/11 16/43/11 12/44/11 usemtl common_steel -f 20/45/12 18/46/12 17/47/12 -f 20/45/12 17/47/12 19/48/12 -f 23/49/13 21/50/13 22/51/13 -f 23/49/13 22/51/13 24/52/13 -f 17/53/14 18/54/14 22/55/14 -f 17/53/14 22/55/14 21/56/14 -f 19/57/15 17/58/15 21/59/15 -f 19/57/15 21/59/15 23/60/15 -f 24/61/16 22/62/16 18/63/16 -f 24/61/16 18/63/16 20/64/16 -f 28/65/17 26/66/17 25/67/17 -f 28/65/17 25/67/17 27/68/17 -f 31/69/18 29/70/18 30/71/18 -f 31/69/18 30/71/18 32/72/18 -f 25/73/19 26/74/19 30/75/19 -f 25/73/19 30/75/19 29/76/19 -f 28/77/20 27/78/20 31/79/20 -f 28/77/20 31/79/20 32/80/20 -f 27/81/21 25/82/21 29/83/21 -f 27/81/21 29/83/21 31/84/21 -f 32/85/22 30/86/22 26/87/22 -f 32/85/22 26/87/22 28/88/22 -f 36/89/23 34/90/23 33/91/23 -f 36/89/23 33/91/23 35/92/23 -f 39/93/24 37/94/24 38/95/24 -f 39/93/24 38/95/24 40/96/24 -f 33/97/25 34/98/25 38/99/25 -f 33/97/25 38/99/25 37/100/25 -f 36/101/26 35/102/26 39/103/26 -f 36/101/26 39/103/26 40/104/26 -f 35/105/27 33/106/27 37/107/27 -f 35/105/27 37/107/27 39/108/27 -f 40/109/28 38/110/28 34/111/28 -f 40/109/28 34/111/28 36/112/28 -usemtl flagpole -f 44/113/29 42/114/29 41/115/29 -f 44/113/29 41/115/29 43/116/29 -f 47/117/30 45/118/30 46/119/30 -f 47/117/30 46/119/30 48/120/30 -f 41/121/31 42/122/31 46/123/31 -f 41/121/31 46/123/31 45/124/31 -f 43/125/32 41/126/32 45/127/32 -f 43/125/32 45/127/32 47/128/32 -f 48/129/33 46/130/33 42/131/33 -f 48/129/33 42/131/33 44/132/33 -f 52/133/34 50/134/34 49/135/34 -f 52/133/34 49/135/34 51/136/34 -f 55/137/35 53/138/35 54/139/35 -f 55/137/35 54/139/35 56/140/35 -f 49/141/36 50/142/36 54/143/36 -f 49/141/36 54/143/36 53/144/36 -f 51/145/37 49/146/37 53/147/37 -f 51/145/37 53/147/37 55/148/37 -f 56/149/38 54/150/38 50/151/38 -f 56/149/38 50/151/38 52/152/38 -f 60/153/39 58/154/39 57/155/39 -f 60/153/39 57/155/39 59/156/39 -f 63/157/40 61/158/40 62/159/40 -f 63/157/40 62/159/40 64/160/40 -f 57/161/41 58/162/41 62/163/41 -f 57/161/41 62/163/41 61/164/41 -f 60/165/42 59/166/42 63/167/42 -f 60/165/42 63/167/42 64/168/42 -f 59/169/43 57/170/43 61/171/43 -f 59/169/43 61/171/43 63/172/43 -f 64/173/44 62/174/44 58/175/44 -f 64/173/44 58/175/44 60/176/44 +f 17/45/12 18/46/12 20/47/12 +f 17/45/12 20/47/12 19/48/12 +f 22/49/13 21/50/13 23/51/13 +f 22/49/13 23/51/13 24/52/13 +f 22/53/14 18/54/14 17/55/14 +f 22/53/14 17/55/14 21/56/14 +f 21/57/15 17/58/15 19/59/15 +f 21/57/15 19/59/15 23/60/15 +f 18/61/16 22/62/16 24/63/16 +f 18/61/16 24/63/16 20/64/16 +f 25/65/17 26/66/17 28/67/17 +f 25/65/17 28/67/17 27/68/17 +f 30/69/18 29/70/18 31/71/18 +f 30/69/18 31/71/18 32/72/18 +f 30/73/19 26/74/19 25/75/19 +f 30/73/19 25/75/19 29/76/19 +f 31/77/20 27/78/20 28/79/20 +f 31/77/20 28/79/20 32/80/20 +f 29/81/21 25/82/21 27/83/21 +f 29/81/21 27/83/21 31/84/21 +f 26/85/22 30/86/22 32/87/22 +f 26/85/22 32/87/22 28/88/22 +f 33/89/23 34/90/23 36/91/23 +f 33/89/23 36/91/23 35/92/23 +f 38/93/24 37/94/24 39/95/24 +f 38/93/24 39/95/24 40/96/24 +f 38/97/25 34/98/25 33/99/25 +f 38/97/25 33/99/25 37/100/25 +f 39/101/26 35/102/26 36/103/26 +f 39/101/26 36/103/26 40/104/26 +f 37/105/27 33/106/27 35/107/27 +f 37/105/27 35/107/27 39/108/27 +f 34/109/28 38/110/28 40/111/28 +f 34/109/28 40/111/28 36/112/28 usemtl coil_rope_side -f 67/177/45 65/178/45 66/179/45 -f 67/177/45 66/179/45 68/180/45 -f 69/181/46 67/182/46 68/183/46 -f 69/181/46 68/183/46 70/184/46 -f 71/185/47 69/186/47 70/187/47 -f 71/185/47 70/187/47 72/188/47 -f 73/189/48 71/190/48 72/191/48 -f 73/189/48 72/191/48 75/192/48 -f 74/193/49 73/194/49 75/195/49 -f 74/193/49 75/195/49 76/196/49 -f 79/197/50 77/198/50 78/199/50 -f 79/197/50 78/199/50 80/200/50 -f 81/201/51 79/202/51 80/203/51 -f 81/201/51 80/203/51 82/204/51 -f 83/205/52 81/206/52 82/207/52 -f 83/205/52 82/207/52 84/208/52 -f 85/209/53 83/210/53 84/211/53 -f 85/209/53 84/211/53 87/212/53 -f 86/213/54 85/214/54 87/215/54 -f 86/213/54 87/215/54 88/216/54 +f 42/113/29 41/114/29 43/115/29 +f 42/113/29 43/115/29 44/116/29 +f 44/117/30 43/118/30 45/119/30 +f 44/117/30 45/119/30 46/120/30 +f 46/121/31 45/122/31 47/123/31 +f 46/121/31 47/123/31 48/124/31 +f 48/125/32 47/126/32 49/127/32 +f 48/125/32 49/127/32 51/128/32 +f 51/129/33 49/130/33 50/131/33 +f 51/129/33 50/131/33 52/132/33 +f 54/133/34 53/134/34 55/135/34 +f 54/133/34 55/135/34 56/136/34 +f 56/137/35 55/138/35 57/139/35 +f 56/137/35 57/139/35 58/140/35 +f 58/141/36 57/142/36 59/143/36 +f 58/141/36 59/143/36 60/144/36 +f 60/145/37 59/146/37 61/147/37 +f 60/145/37 61/147/37 63/148/37 +f 63/149/38 61/150/38 62/151/38 +f 63/149/38 62/151/38 64/152/38 usemtl common_concrete_volks -f 90/217/55 89/218/55 91/219/55 -f 90/217/55 91/219/55 92/220/55 +f 67/153/39 65/154/39 66/155/39 +f 67/153/39 66/155/39 68/156/39 +usemtl flagpole +f 75/157/40 76/158/40 69/159/40 +f 75/157/40 69/159/40 73/160/40 +f 77/161/41 75/162/41 73/163/41 +f 77/161/41 73/163/41 70/164/41 +f 76/165/42 75/166/42 74/167/42 +f 76/165/42 74/167/42 72/168/42 +f 75/169/43 77/170/43 71/171/43 +f 75/169/43 71/171/43 74/172/43 +usemtl common_table +f 78/173/44 106/174/44 109/175/44 +f 78/173/44 109/175/44 80/176/44 +f 84/177/45 108/178/45 107/179/45 +f 84/177/45 107/179/45 82/180/45 +f 82/181/46 107/182/46 106/183/46 +f 82/181/46 106/183/46 78/184/46 +f 80/185/47 109/186/47 108/187/47 +f 80/185/47 108/187/47 84/188/47 +f 82/189/48 78/190/48 80/191/48 +f 82/189/48 80/191/48 84/192/48 +f 79/193/49 83/194/49 85/195/49 +f 79/193/49 85/195/49 81/196/49 usemtl flagpole -f 93/221/56 100/222/56 99/223/56 -f 93/221/56 99/223/56 97/224/56 -f 97/225/57 99/226/57 101/227/57 -f 97/225/57 101/227/57 94/228/57 -f 98/229/58 99/230/58 100/231/58 -f 98/229/58 100/231/58 96/232/58 -f 95/233/59 101/234/59 99/235/59 -f 95/233/59 99/235/59 98/236/59 +f 100/197/50 101/198/50 86/199/50 +f 100/197/50 86/199/50 87/200/50 +f 98/201/51 99/202/51 91/203/51 +f 98/201/51 91/203/51 90/204/51 +f 101/205/52 98/206/52 90/207/52 +f 101/205/52 90/207/52 86/208/52 +f 99/209/53 100/210/53 87/211/53 +f 99/209/53 87/211/53 91/212/53 +f 102/213/54 103/214/54 95/215/54 +f 102/213/54 95/215/54 94/216/54 +f 103/217/55 104/218/55 96/219/55 +f 103/217/55 96/219/55 95/220/55 +f 104/221/56 105/222/56 97/223/56 +f 104/221/56 97/223/56 96/224/56 +f 105/225/57 102/226/57 94/227/57 +f 105/225/57 94/227/57 97/228/57 +f 99/229/58 98/230/58 94/231/58 +f 99/229/58 94/231/58 95/232/58 +f 100/233/59 99/234/59 95/235/59 +f 100/233/59 95/235/59 96/236/59 +f 101/237/60 100/238/60 96/239/60 +f 101/237/60 96/239/60 97/240/60 +f 98/241/61 101/242/61 97/243/61 +f 98/241/61 97/243/61 94/244/61 +f 103/245/62 102/246/62 92/247/62 +f 103/245/62 92/247/62 93/248/62 +f 104/249/63 103/250/63 93/251/63 +f 104/249/63 93/251/63 89/252/63 +f 105/253/64 104/254/64 89/255/64 +f 105/253/64 89/255/64 88/256/64 +f 102/257/65 105/258/65 88/259/65 +f 102/257/65 88/259/65 92/260/65 usemtl common_table -f 105/237/60 103/238/60 102/239/60 -f 105/237/60 102/239/60 104/240/60 -f 108/241/61 106/242/61 107/243/61 -f 108/241/61 107/243/61 109/244/61 -f 102/245/62 103/246/62 107/247/62 -f 102/245/62 107/247/62 106/248/62 -f 104/249/63 102/250/63 106/251/63 -f 104/249/63 106/251/63 108/252/63 -f 109/253/64 107/254/64 103/255/64 -f 109/253/64 103/255/64 105/256/64 -f 113/257/65 111/258/65 110/259/65 -f 113/257/65 110/259/65 112/260/65 -f 116/261/66 114/262/66 115/263/66 -f 116/261/66 115/263/66 117/264/66 -f 110/265/67 111/266/67 115/267/67 -f 110/265/67 115/267/67 114/268/67 -f 112/269/68 110/270/68 114/271/68 -f 112/269/68 114/271/68 116/272/68 -f 117/273/69 115/274/69 111/275/69 -f 117/273/69 111/275/69 113/276/69 -f 121/277/70 119/278/70 118/279/70 -f 121/277/70 118/279/70 120/280/70 -f 124/281/71 122/282/71 123/283/71 -f 124/281/71 123/283/71 125/284/71 -f 118/285/72 119/286/72 123/287/72 -f 118/285/72 123/287/72 122/288/72 -f 121/289/73 120/290/73 124/291/73 -f 121/289/73 124/291/73 125/292/73 -f 120/293/74 118/294/74 122/295/74 -f 120/293/74 122/295/74 124/296/74 -f 125/297/75 123/298/75 119/299/75 -f 125/297/75 119/299/75 121/300/75 -f 129/301/76 127/302/76 126/303/76 -f 129/301/76 126/303/76 128/304/76 -f 132/305/77 130/306/77 131/307/77 -f 132/305/77 131/307/77 133/308/77 -f 126/309/78 127/310/78 131/311/78 -f 126/309/78 131/311/78 130/312/78 -f 128/313/79 126/314/79 130/315/79 -f 128/313/79 130/315/79 132/316/79 -f 133/317/80 131/318/80 127/319/80 -f 133/317/80 127/319/80 129/320/80 -f 137/321/81 135/322/81 134/323/81 -f 137/321/81 134/323/81 136/324/81 -f 140/325/82 138/326/82 139/327/82 -f 140/325/82 139/327/82 141/328/82 -f 134/329/83 135/330/83 139/331/83 -f 134/329/83 139/331/83 138/332/83 -f 136/333/84 134/334/84 138/335/84 -f 136/333/84 138/335/84 140/336/84 -f 141/337/85 139/338/85 135/339/85 -f 141/337/85 135/339/85 137/340/85 -f 145/341/86 143/342/86 142/343/86 -f 145/341/86 142/343/86 144/344/86 -f 148/345/87 146/346/87 147/347/87 -f 148/345/87 147/347/87 149/348/87 -f 142/349/88 143/350/88 147/351/88 -f 142/349/88 147/351/88 146/352/88 -f 144/353/89 142/354/89 146/355/89 -f 144/353/89 146/355/89 148/356/89 -f 149/357/90 147/358/90 143/359/90 -f 149/357/90 143/359/90 145/360/90 -f 153/361/91 151/362/91 150/363/91 -f 153/361/91 150/363/91 152/364/91 -f 156/365/92 154/366/92 155/367/92 -f 156/365/92 155/367/92 157/368/92 -f 150/369/93 151/370/93 155/371/93 -f 150/369/93 155/371/93 154/372/93 -f 152/373/94 150/374/94 154/375/94 -f 152/373/94 154/375/94 156/376/94 -f 157/377/95 155/378/95 151/379/95 -f 157/377/95 151/379/95 153/380/95 +f 79/261/66 106/262/66 107/263/66 +f 79/261/66 107/263/66 83/264/66 +f 83/265/67 107/266/67 108/267/67 +f 83/265/67 108/267/67 85/268/67 +f 85/269/68 108/270/68 109/271/68 +f 85/269/68 109/271/68 81/272/68 +f 81/273/69 109/274/69 106/275/69 +f 81/273/69 106/275/69 79/276/69 +f 110/277/70 111/278/70 113/279/70 +f 110/277/70 113/279/70 112/280/70 +f 115/281/71 114/282/71 116/283/71 +f 115/281/71 116/283/71 117/284/71 +f 114/285/72 110/286/72 112/287/72 +f 114/285/72 112/287/72 116/288/72 +f 111/289/73 115/290/73 117/291/73 +f 111/289/73 117/291/73 113/292/73 +f 121/293/74 119/294/74 118/295/74 +f 121/293/74 118/295/74 120/296/74 +f 124/297/75 122/298/75 123/299/75 +f 124/297/75 123/299/75 125/300/75 +f 120/301/76 118/302/76 122/303/76 +f 120/301/76 122/303/76 124/304/76 +f 125/305/77 123/306/77 119/307/77 +f 125/305/77 119/307/77 121/308/77 +f 129/309/78 127/310/78 126/311/78 +f 129/309/78 126/311/78 128/312/78 +f 132/313/79 130/314/79 131/315/79 +f 132/313/79 131/315/79 133/316/79 +f 128/317/80 126/318/80 130/319/80 +f 128/317/80 130/319/80 132/320/80 +f 133/321/81 131/322/81 127/323/81 +f 133/321/81 127/323/81 129/324/81 +f 134/325/82 135/326/82 137/327/82 +f 134/325/82 137/327/82 136/328/82 +f 139/329/83 138/330/83 140/331/83 +f 139/329/83 140/331/83 141/332/83 +f 138/333/84 134/334/84 136/335/84 +f 138/333/84 136/335/84 140/336/84 +f 135/337/85 139/338/85 141/339/85 +f 135/337/85 141/339/85 137/340/85 +usemtl metal +f 142/341/86 143/342/86 145/343/86 +f 142/341/86 145/343/86 144/344/86 +f 147/345/87 146/346/87 148/347/87 +f 147/345/87 148/347/87 149/348/87 +f 147/349/88 143/350/88 142/351/88 +f 147/349/88 142/351/88 146/352/88 +f 146/353/89 142/354/89 144/355/89 +f 146/353/89 144/355/89 148/356/89 +f 143/357/90 147/358/90 149/359/90 +f 143/357/90 149/359/90 145/360/90 usemtl flagpole -f 158/381/96 173/382/96 172/383/96 -f 158/381/96 172/383/96 159/384/96 -f 163/385/97 171/386/97 170/387/97 -f 163/385/97 170/387/97 162/388/97 -f 162/389/98 170/390/98 173/391/98 -f 162/389/98 173/391/98 158/392/98 -f 159/393/99 172/394/99 171/395/99 -f 159/393/99 171/395/99 163/396/99 -f 167/397/100 175/398/100 174/399/100 -f 167/397/100 174/399/100 166/400/100 -f 168/401/101 176/402/101 175/403/101 -f 168/401/101 175/403/101 167/404/101 -f 169/405/102 177/406/102 176/407/102 -f 169/405/102 176/407/102 168/408/102 -f 166/409/103 174/410/103 177/411/103 -f 166/409/103 177/411/103 169/412/103 -f 166/413/104 170/414/104 171/415/104 -f 166/413/104 171/415/104 167/416/104 -f 167/417/105 171/418/105 172/419/105 -f 167/417/105 172/419/105 168/420/105 -f 168/421/106 172/422/106 173/423/106 -f 168/421/106 173/423/106 169/424/106 -f 169/425/107 173/426/107 170/427/107 -f 169/425/107 170/427/107 166/428/107 -f 164/429/108 174/430/108 175/431/108 -f 164/429/108 175/431/108 165/432/108 -f 165/433/109 175/434/109 176/435/109 -f 165/433/109 176/435/109 161/436/109 -f 161/437/110 176/438/110 177/439/110 -f 161/437/110 177/439/110 160/440/110 -f 160/441/111 177/442/111 174/443/111 -f 160/441/111 174/443/111 164/444/111 \ No newline at end of file +f 150/361/91 151/362/91 153/363/91 +f 150/361/91 153/363/91 152/364/91 +f 155/365/92 154/366/92 156/367/92 +f 155/365/92 156/367/92 157/368/92 +f 155/369/93 151/370/93 150/371/93 +f 155/369/93 150/371/93 154/372/93 +f 154/373/94 150/374/94 152/375/94 +f 154/373/94 152/375/94 156/376/94 +f 151/377/95 155/378/95 157/379/95 +f 151/377/95 157/379/95 153/380/95 +f 158/381/96 159/382/96 161/383/96 +f 158/381/96 161/383/96 160/384/96 +f 163/385/97 162/386/97 164/387/97 +f 163/385/97 164/387/97 165/388/97 +f 163/389/98 159/390/98 158/391/98 +f 163/389/98 158/391/98 162/392/98 +f 162/393/99 158/394/99 160/395/99 +f 162/393/99 160/395/99 164/396/99 +f 159/397/100 163/398/100 165/399/100 +f 159/397/100 165/399/100 161/400/100 +usemtl metal +f 166/401/101 167/402/101 169/403/101 +f 166/401/101 169/403/101 168/404/101 +f 171/405/102 170/406/102 172/407/102 +f 171/405/102 172/407/102 173/408/102 +f 171/409/103 167/410/103 166/411/103 +f 171/409/103 166/411/103 170/412/103 +f 170/413/104 166/414/104 168/415/104 +f 170/413/104 168/415/104 172/416/104 +f 167/417/105 171/418/105 173/419/105 +f 167/417/105 173/419/105 169/420/105 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base_flipped.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base_flipped.obj deleted file mode 100644 index 69fb0a6c0..000000000 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_base_flipped.obj +++ /dev/null @@ -1,968 +0,0 @@ -# Made by Pabilo8 with Blockbench -# Exported with IIToolkit Plugin -mtllib flagpole.mtl - - -o main -v 0.3231879194042242 5.187500000000001 1.65625 -v 0.3231879194042242 5.187500000000001 1.34375 -v 0.3231879194042242 5.000000000000001 1.65625 -v 0.3231879194042242 5.000000000000001 1.34375 -v 0.6356879194042242 5.187500000000001 1.65625 -v 0.6356879194042242 5.187500000000001 1.34375 -v 0.6356879194042242 5.000000000000001 1.65625 -v 0.6356879194042242 5.000000000000001 1.34375 -v 0.2294379194042242 -0.125 1.75 -v 0.2294379194042242 -0.125 1.25 -v 0.2294379194042242 -1 1.75 -v 0.2294379194042242 -1 1.25 -v 0.7294379194042242 -0.125 1.75 -v 0.7294379194042242 -0.125 1.25 -v 0.7294379194042242 -1 1.75 -v 0.7294379194042242 -1 1.25 -v 0.0419379194042242 -0.17768687500000002 1.937243125 -v 0.0419379194042242 -0.1875 1.75 -v 0.0419379194042242 -0.9890737500000002 1.97976625 -v 0.0419379194042242 -0.99888625 1.792523125 -v 0.8544379194042242 -0.17768687500000002 1.937243125 -v 0.8544379194042242 -0.1875 1.75 -v 0.8544379194042242 -0.9890737500000002 1.97976625 -v 0.8544379194042242 -0.99888625 1.792523125 -v 0.6044379194042242 0.3125 1.5625 -v 0.6044379194042242 0.3125 1.4375 -v 0.6044379194042242 0.0625 1.5625 -v 0.6044379194042242 0.0625 1.4375 -v 0.7919379194042242 0.3125 1.5625 -v 0.7919379194042242 0.3125 1.4375 -v 0.7919379194042242 0.0625 1.5625 -v 0.7919379194042242 0.0625 1.4375 -v 0.6044379194042242 5.125000000000001 1.5625 -v 0.6044379194042242 5.125000000000001 1.4375 -v 0.6044379194042242 5.000000000000001 1.5625 -v 0.6044379194042242 5.000000000000001 1.4375 -v 0.7919379194042242 5.125000000000001 1.5625 -v 0.7919379194042242 5.125000000000001 1.4375 -v 0.7919379194042242 5.000000000000001 1.5625 -v 0.7919379194042242 5.000000000000001 1.4375 -v 0.2919379194042242 -0.4375 0.8125 -v 0.2919379194042242 -0.4375 0.25 -v 0.2919379194042242 -1 0.8125 -v 0.2919379194042242 -1 0.25 -v 0.8544379194042242 -0.4375 0.8125 -v 0.8544379194042242 -0.4375 0.25 -v 0.8544379194042242 -1 0.8125 -v 0.8544379194042242 -1 0.25 -v 0.8697913126428589 -0.25 0.9958916824264661 -v 0.948187660093599 -0.25 0.25000026090026095 -v 0.8697913126428589 -1 0.9958916824264661 -v 0.948187660093599 -1 0.25000026090026095 -v 1.6156827341690643 -0.25 1.0742880298772062 -v 1.6940790816198041 -0.25 0.32839660835100126 -v 1.6156827341690643 -1 1.0742880298772062 -v 1.6940790816198041 -1 0.32839660835100126 -v 1.3528723785876493 -0.625 2.4962731474789015 -v 1.2919377068850757 -0.625 2.0000000716582402 -v 1.3528723785876493 -0.8125 2.4962731474789015 -v 1.2919377068850757 -0.8125 2.0000000716582402 -v 1.60100891649798 -0.625 2.4658058116276145 -v 1.5400742447954063 -0.625 1.9695327358069534 -v 1.60100891649798 -0.8125 2.4658058116276145 -v 1.5400742447954063 -0.8125 1.9695327358069534 -v 0.6669379194042242 5.000000000000001 1.5625 -v 0.6669379194042242 5.000000000000001 1.4375 -v 0.6669379194042242 4 1.5625 -v 0.6669379194042242 4 1.4375 -v 0.6669379194042242 3 1.5625 -v 0.6669379194042242 3 1.4375 -v 0.6669379194042242 2 1.5625 -v 0.6669379194042242 2 1.4375 -v 0.6669379194042242 1 1.5625 -v 0.6669379194042242 0 1.5625 -v 0.6669379194042242 1 1.4375 -v 0.6669379194042242 0 1.4375 -v 0.6044379194042242 5.000000000000001 1.5 -v 0.7294379194042242 5.000000000000001 1.5 -v 0.6044379194042242 4 1.5 -v 0.7294379194042242 4 1.5 -v 0.6044379194042242 3 1.5 -v 0.7294379194042242 3 1.5 -v 0.6044379194042242 2 1.5 -v 0.7294379194042242 2 1.5 -v 0.6044379194042242 1 1.5 -v 0.6044379194042242 0 1.5 -v 0.7294379194042242 1 1.5 -v 0.7294379194042242 0 1.5 -v -1.0205620805957758 -3 3 -v -1.0205620805957758 -3 0 -v 1.9794379194042242 -3 3 -v 1.9794379194042242 -3 0 -v 1.7294379194042242 -1 2.75 -v 1.7294379194042242 -1 0.25 -v -0.7705620805957758 -1 0.25 -v -0.7705620805957758 -1 2.75 -v 1.7294379194042242 -1 1.5 -v -0.7705620805957758 -1 1.5 -v 0.4794379194042242 -1 1.5 -v 0.4794379194042242 -1 2.75 -v 0.4794379194042242 -1 0.25 -v -0.08306208059577602 -0.6875 1.875 -v -0.708062080595776 -0.6875 1.875 -v -0.08306208059577602 -1 1.875 -v -0.708062080595776 -1 1.875 -v -0.0830620805957758 -0.6875 1 -v -0.7080620805957758 -0.6875 1 -v -0.0830620805957758 -1 1 -v -0.7080620805957758 -1 1 -v -0.039445005743831696 -0.6875 2.678320549920332 -v -0.6590980441024632 -0.6875 2.7598994200578644 -v -0.039445005743831696 -1 2.678320549920332 -v -0.6590980441024632 -1 2.7598994200578644 -v -0.15365542393637677 -0.6875 1.8108062962182478 -v -0.7733084622950084 -0.6875 1.8923851663557802 -v -0.15365542393637677 -1 1.8108062962182478 -v -0.7733084622950084 -1 1.8923851663557802 -v 1.1044379194042242 -0.1875 2.6875 -v 1.1044379194042242 -0.1875 1.9375 -v 1.1044379194042242 -0.3125 2.6875 -v 1.1044379194042242 -0.3125 1.9375 -v 1.7294379194042242 -0.1875 2.6875 -v 1.7294379194042242 -0.1875 1.9375 -v 1.7294379194042242 -0.3125 2.6875 -v 1.7294379194042242 -0.3125 1.9375 -v 1.5419379194042242 -0.3125 2.125 -v 1.5419379194042242 -0.3125 2 -v 1.5419379194042242 -1 2.125 -v 1.5419379194042242 -1 2 -v 1.6669379194042242 -0.3125 2.125 -v 1.6669379194042242 -0.3125 2 -v 1.6669379194042242 -1 2.125 -v 1.6669379194042242 -1 2 -v 1.5419379194042242 -0.3125 2.625 -v 1.5419379194042242 -0.3125 2.5 -v 1.5419379194042242 -1 2.625 -v 1.5419379194042242 -1 2.5 -v 1.6669379194042242 -0.3125 2.625 -v 1.6669379194042242 -0.3125 2.5 -v 1.6669379194042242 -1 2.625 -v 1.6669379194042242 -1 2.5 -v 1.1669379194042242 -0.3125 2.125 -v 1.1669379194042242 -0.3125 2 -v 1.1669379194042242 -1 2.125 -v 1.1669379194042242 -1 2 -v 1.2919379194042242 -0.3125 2.125 -v 1.2919379194042242 -0.3125 2 -v 1.2919379194042242 -1 2.125 -v 1.2919379194042242 -1 2 -v 1.1669379194042242 -0.3125 2.625 -v 1.1669379194042242 -0.3125 2.5 -v 1.1669379194042242 -1 2.625 -v 1.1669379194042242 -1 2.5 -v 1.2919379194042242 -0.3125 2.625 -v 1.2919379194042242 -0.3125 2.5 -v 1.2919379194042242 -1 2.625 -v 1.2919379194042242 -1 2.5 -v 0.3544379194042242 5.000000000000001 1.625 -v 0.3544379194042242 5.000000000000001 1.375 -v 0.3544379194042242 -0.125 1.625 -v 0.3544379194042242 -0.125 1.375 -v 0.6044379194042242 5.000000000000001 1.625 -v 0.6044379194042242 5.000000000000001 1.375 -v 0.6044379194042242 -0.125 1.625 -v 0.6044379194042242 -0.125 1.375 -v 0.6044379194042242 2.4375 1.625 -v 0.6044379194042242 2.4375 1.375 -v 0.3544379194042242 2.4375 1.375 -v 0.3544379194042242 2.4375 1.625 -v 0.6044379194042242 3.71875 1.625 -v 0.6044379194042242 3.71875 1.375 -v 0.3544379194042242 3.71875 1.375 -v 0.3544379194042242 3.71875 1.625 -v 0.6044379194042242 1.15625 1.625 -v 0.6044379194042242 1.15625 1.375 -v 0.3544379194042242 1.15625 1.375 -v 0.3544379194042242 1.15625 1.625 -vt 0.125 0.0625 -vt 0.25 0.0625 -vt 0.25 0 -vt 0.125 0 -vt 0.125 0.0625 -vt 0.25 0.0625 -vt 0.25 0 -vt 0.125 0 -vt 0.875 0.171875 -vt 1 0.171875 -vt 1 0.046875 -vt 0.875 0.046875 -vt 0.875 0.171875 -vt 1 0.171875 -vt 1 0.046875 -vt 0.875 0.046875 -vt 0.25 0.0625 -vt 0.125 0.0625 -vt 0.125 0 -vt 0.25 0 -vt 0.25 0.0625 -vt 0.125 0.0625 -vt 0.125 0 -vt 0.25 0 -vt 0.875 0.21875 -vt 1 0.21875 -vt 1 0 -vt 0.875 0 -vt 0.875 0.21875 -vt 1 0.21875 -vt 1 0 -vt 0.875 0 -vt 0.875 0.171875 -vt 1 0.171875 -vt 1 0.046875 -vt 0.875 0.046875 -vt 0.875 0.21875 -vt 1 0.21875 -vt 1 0 -vt 0.875 0 -vt 0.875 0.21875 -vt 1 0.21875 -vt 1 0 -vt 0.875 0 -vt 0.75 0.234375 -vt 0.71875 0.234375 -vt 0.71875 0.015625 -vt 0.75 0.015625 -vt 0.53125 0.234375 -vt 0.5 0.234375 -vt 0.5 0.015625 -vt 0.53125 0.015625 -vt 0.53125 0 -vt 0.75 0 -vt 0.75 0.03125 -vt 0.53125 0.03125 -vt 0.734375 0.234375 -vt 0.515625 0.234375 -vt 0.515625 0.015625 -vt 0.734375 0.015625 -vt 0.734375 0.234375 -vt 0.515625 0.234375 -vt 0.515625 0.015625 -vt 0.734375 0.015625 -vt 1 0.484375 -vt 1 0.484375 -vt 1 0.421875 -vt 1 0.421875 -vt 0.71875 0.46875 -vt 0.75 0.46875 -vt 0.75 0.40625 -vt 0.71875 0.40625 -vt 0.71875 0.453125 -vt 0.71875 0.40625 -vt 0.75 0.40625 -vt 0.75 0.453125 -vt 0.75 0.46875 -vt 0.75 0.421875 -vt 0.71875 0.421875 -vt 0.71875 0.46875 -vt 0.671875 0.46875 -vt 0.71875 0.46875 -vt 0.71875 0.40625 -vt 0.671875 0.40625 -vt 0.6875 0.46875 -vt 0.734375 0.46875 -vt 0.734375 0.40625 -vt 0.6875 0.40625 -vt 1 0.484375 -vt 1 0.484375 -vt 1 0.421875 -vt 1 0.421875 -vt 0.71875 0.46875 -vt 0.75 0.46875 -vt 0.75 0.40625 -vt 0.71875 0.40625 -vt 0.71875 0.453125 -vt 0.71875 0.40625 -vt 0.75 0.40625 -vt 0.75 0.453125 -vt 0.75 0.46875 -vt 0.75 0.421875 -vt 0.71875 0.421875 -vt 0.71875 0.46875 -vt 0.671875 0.46875 -vt 0.71875 0.46875 -vt 0.71875 0.40625 -vt 0.671875 0.40625 -vt 0.6875 0.46875 -vt 0.734375 0.46875 -vt 0.734375 0.40625 -vt 0.6875 0.40625 -vt 0.8125 0.734375 -vt 0.953125 0.734375 -vt 0.953125 0.59375 -vt 0.8125 0.59375 -vt 0.8125 0.734375 -vt 0.953125 0.734375 -vt 0.953125 0.59375 -vt 0.8125 0.59375 -vt 0.8125 0.734375 -vt 0.953125 0.734375 -vt 0.953125 0.59375 -vt 0.8125 0.59375 -vt 0.8125 0.734375 -vt 0.953125 0.734375 -vt 0.953125 0.59375 -vt 0.8125 0.59375 -vt 0.8125 0.734375 -vt 0.953125 0.734375 -vt 0.953125 0.59375 -vt 0.8125 0.59375 -vt 0.25 0.25 -vt 0.4375 0.25 -vt 0.4375 0.0625 -vt 0.25 0.0625 -vt 0.25 0.25 -vt 0.4375 0.25 -vt 0.4375 0.0625 -vt 0.25 0.0625 -vt 0.25 0.25 -vt 0.4375 0.25 -vt 0.4375 0.0625 -vt 0.25 0.0625 -vt 0.25 0.25 -vt 0.4375 0.25 -vt 0.4375 0.0625 -vt 0.25 0.0625 -vt 0.25 0.25 -vt 0.4375 0.25 -vt 0.4375 0.0625 -vt 0.25 0.0625 -vt 0.375 0.375 -vt 0.5 0.375 -vt 0.5 0.328125 -vt 0.375 0.328125 -vt 0.375 0.375 -vt 0.453125 0.375 -vt 0.453125 0.34375 -vt 0.375 0.34375 -vt 0.34375 0.3125 -vt 0.34375 0.375 -vt 0.46875 0.375 -vt 0.46875 0.3125 -vt 0.375 0.375 -vt 0.453125 0.375 -vt 0.453125 0.359375 -vt 0.375 0.359375 -vt 0.375 0.375 -vt 0.421875 0.375 -vt 0.421875 0.34375 -vt 0.375 0.34375 -vt 0.375 0.375 -vt 0.4375 0.375 -vt 0.4375 0.34375 -vt 0.375 0.34375 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0 1 -vt 0.125 1 -vt 0.125 0 -vt 0 0 -vt 0.75 1 -vt 0 1 -vt 0 0.25 -vt 0.75 0.25 -vt 0.4375 0.6875 -vt 0.4375 1 -vt 0.75 1 -vt 0.75 0.6875 -vt 0.75 0.6875 -vt 0.4375 0.6875 -vt 0.4375 1 -vt 0.75 1 -vt 0.75 0.6875 -vt 0.4375 0.6875 -vt 0.4375 1 -vt 0.75 1 -vt 0.4375 0.6875 -vt 0.4375 1 -vt 0.75 1 -vt 0.75 0.6875 -vt 0.34375 0.796875 -vt 0.5 0.796875 -vt 0.5 0.71875 -vt 0.34375 0.71875 -vt 0.34375 0.796875 -vt 0.5 0.796875 -vt 0.5 0.71875 -vt 0.34375 0.71875 -vt 0.53125 0.78125 -vt 0.75 0.78125 -vt 0.75 0.625 -vt 0.53125 0.625 -vt 0.21875 0.875 -vt 0.4375 0.875 -vt 0.4375 0.796875 -vt 0.21875 0.796875 -vt 0.21875 0.875 -vt 0.4375 0.875 -vt 0.4375 0.796875 -vt 0.21875 0.796875 -vt 0.34375 0.796875 -vt 0.5 0.796875 -vt 0.5 0.71875 -vt 0.34375 0.71875 -vt 0.34375 0.796875 -vt 0.5 0.796875 -vt 0.5 0.71875 -vt 0.34375 0.71875 -vt 0.75 1 -vt 0.96875 1 -vt 0.96875 0.84375 -vt 0.75 0.84375 -vt 0.21875 0.875 -vt 0.4375 0.875 -vt 0.4375 0.796875 -vt 0.21875 0.796875 -vt 0.21875 0.875 -vt 0.4375 0.875 -vt 0.4375 0.796875 -vt 0.21875 0.796875 -vt 0.03125 0.734375 -vt 0.21875 0.734375 -vt 0.21875 0.703125 -vt 0.03125 0.703125 -vt 0.375 0.734375 -vt 0.5625 0.734375 -vt 0.5625 0.703125 -vt 0.375 0.703125 -vt 0.421875 0.0625 -vt 0.265625 0.0625 -vt 0.265625 0.25 -vt 0.421875 0.25 -vt 0.53125 0.921875 -vt 0.375 0.921875 -vt 0.375 0.734375 -vt 0.53125 0.734375 -vt 0.5625 0.734375 -vt 0.71875 0.734375 -vt 0.71875 0.703125 -vt 0.5625 0.703125 -vt 0.21875 0.734375 -vt 0.375 0.734375 -vt 0.375 0.703125 -vt 0.21875 0.703125 -vt 0.765625 0.5625 -vt 0.796875 0.5625 -vt 0.796875 0.390625 -vt 0.765625 0.390625 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.171875 0.828125 -vt 0.140625 0.828125 -vt 0.140625 0.859375 -vt 0.171875 0.859375 -vt 0.765625 0.53125 -vt 0.796875 0.53125 -vt 0.796875 0.359375 -vt 0.765625 0.359375 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.765625 0.5625 -vt 0.796875 0.5625 -vt 0.796875 0.390625 -vt 0.765625 0.390625 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.171875 0.828125 -vt 0.140625 0.828125 -vt 0.140625 0.859375 -vt 0.171875 0.859375 -vt 0.765625 0.53125 -vt 0.796875 0.53125 -vt 0.796875 0.359375 -vt 0.765625 0.359375 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.765625 0.5625 -vt 0.796875 0.5625 -vt 0.796875 0.390625 -vt 0.765625 0.390625 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.171875 0.828125 -vt 0.140625 0.828125 -vt 0.140625 0.859375 -vt 0.171875 0.859375 -vt 0.765625 0.53125 -vt 0.796875 0.53125 -vt 0.796875 0.359375 -vt 0.765625 0.359375 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.765625 0.5625 -vt 0.796875 0.5625 -vt 0.796875 0.390625 -vt 0.765625 0.390625 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.171875 0.828125 -vt 0.140625 0.828125 -vt 0.140625 0.859375 -vt 0.171875 0.859375 -vt 0.765625 0.53125 -vt 0.796875 0.53125 -vt 0.796875 0.359375 -vt 0.765625 0.359375 -vt 0.765625 0.546875 -vt 0.796875 0.546875 -vt 0.796875 0.375 -vt 0.765625 0.375 -vt 0.8125 0.6796875 -vt 0.75 0.6796875 -vt 0.75 1 -vt 0.8125 1 -vt 0.8125 0.6484375 -vt 0.75 0.6484375 -vt 0.75 0.96875 -vt 0.8125 0.96875 -vt 0.8125 0.6015625 -vt 0.75 0.6015625 -vt 0.75 0.921875 -vt 0.8125 0.921875 -vt 0.8125 0.6640625 -vt 0.75 0.6640625 -vt 0.75 0.984375 -vt 0.8125 0.984375 -vt 0.8125 0.6796875 -vt 0.75 0.6796875 -vt 0.75 1 -vt 0.8125 1 -vt 0.8125 0.6484375 -vt 0.75 0.6484375 -vt 0.75 0.96875 -vt 0.8125 0.96875 -vt 0.8125 0.6171875 -vt 0.75 0.6171875 -vt 0.75 0.9375 -vt 0.8125 0.9375 -vt 0.8125 0.6640625 -vt 0.75 0.6640625 -vt 0.75 0.984375 -vt 0.8125 0.984375 -vt 0.75 0.9375 -vt 0.8125 0.9375 -vt 0.8125 0.6171875 -vt 0.75 0.6171875 -vt 0.75 0.953125 -vt 0.8125 0.953125 -vt 0.8125 0.6328125 -vt 0.75 0.6328125 -vt 0.75 0.96875 -vt 0.8125 0.96875 -vt 0.8125 0.6484375 -vt 0.75 0.6484375 -vt 0.75 0.9375 -vt 0.8125 0.9375 -vt 0.8125 0.6171875 -vt 0.75 0.6171875 -vt 0.75 0.828125 -vt 0.8125 0.828125 -vt 0.8125 0.5078125 -vt 0.75 0.5078125 -vt 0.75 0.828125 -vt 0.8125 0.828125 -vt 0.8125 0.5078125 -vt 0.75 0.5078125 -vt 0.75 0.828125 -vt 0.8125 0.828125 -vt 0.8125 0.5078125 -vt 0.75 0.5078125 -vt 0.75 0.9375 -vt 0.8125 0.9375 -vt 0.8125 0.6171875 -vt 0.75 0.6171875 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 0.9986294988989391 -0.05233664040472852 -vn 0 0.052336128989130766 0.998629525701315 -vn 0 -0.052336169192529945 -0.9986295235943362 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn -0.9945218953682734 0 -0.10452846326765346 -vn 0.9945218953682734 0 0.10452846326765318 -vn 0 1 0 -vn -0.10452846326765342 0 0.9945218953682734 -vn 0.10452846326765375 0 -0.9945218953682734 -vn -0.9925461516413221 0 0.12186934340514716 -vn 0.9925461516413221 0 -0.12186934340514721 -vn 0 1 0 -vn 0 -1 0 -vn 0.12186934340514805 0 0.9925461516413221 -vn -0.12186934340514716 0 -0.9925461516413221 -vn 1 0 0 -vn 1 0 0 -vn 1 0 0 -vn 1 0 0 -vn 1 0 0 -vn 0 0 1 -vn 0 0 1 -vn 0 0 1 -vn 0 0 1 -vn 0 0 1 -vn 0 -1 0 -vn 0 1 0 -vn 0 1 0 -vn 0 1 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn 0 1 0 -vn 1 0 2.5376526277146434e-16 -vn -1 0 -2.5376526277146434e-16 -vn 0.13052619222005152 0 0.9914448613738106 -vn -0.13052619222005182 0 -0.9914448613738104 -vn 0 1 0 -vn 0.9914448613738106 0 -0.13052619222005152 -vn -0.9914448613738104 0 0.13052619222005163 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 1 0 -vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 -vn 1 0 0 -vn 0 0 1 -vn 0 0 -1 -vn 1 0 0 -vn 0 0 -1 -vn -1 0 0 -vn 0 0 1 -vn 1 0 0 -vn 0 0 -1 -vn -1 0 0 -vn 0 0 1 -vn 1 0 0 -vn 0 0 -1 -vn -1 0 0 -vn 0 0 1 -usemtl flagpole -f 1/1/1 2/2/1 4/3/1 -f 1/1/1 4/3/1 3/4/1 -f 6/5/2 5/6/2 7/7/2 -f 6/5/2 7/7/2 8/8/2 -f 6/9/3 2/10/3 1/11/3 -f 6/9/3 1/11/3 5/12/3 -f 7/13/4 3/14/4 4/15/4 -f 7/13/4 4/15/4 8/16/4 -f 5/17/5 1/18/5 3/19/5 -f 5/17/5 3/19/5 7/20/5 -f 2/21/6 6/22/6 8/23/6 -f 2/21/6 8/23/6 4/24/6 -f 9/25/7 10/26/7 12/27/7 -f 9/25/7 12/27/7 11/28/7 -f 14/29/8 13/30/8 15/31/8 -f 14/29/8 15/31/8 16/32/8 -f 14/33/9 10/34/9 9/35/9 -f 14/33/9 9/35/9 13/36/9 -f 13/37/10 9/38/10 11/39/10 -f 13/37/10 11/39/10 15/40/10 -f 10/41/11 14/42/11 16/43/11 -f 10/41/11 16/43/11 12/44/11 -usemtl common_steel -f 17/45/12 18/46/12 20/47/12 -f 17/45/12 20/47/12 19/48/12 -f 22/49/13 21/50/13 23/51/13 -f 22/49/13 23/51/13 24/52/13 -f 22/53/14 18/54/14 17/55/14 -f 22/53/14 17/55/14 21/56/14 -f 21/57/15 17/58/15 19/59/15 -f 21/57/15 19/59/15 23/60/15 -f 18/61/16 22/62/16 24/63/16 -f 18/61/16 24/63/16 20/64/16 -f 25/65/17 26/66/17 28/67/17 -f 25/65/17 28/67/17 27/68/17 -f 30/69/18 29/70/18 31/71/18 -f 30/69/18 31/71/18 32/72/18 -f 30/73/19 26/74/19 25/75/19 -f 30/73/19 25/75/19 29/76/19 -f 31/77/20 27/78/20 28/79/20 -f 31/77/20 28/79/20 32/80/20 -f 29/81/21 25/82/21 27/83/21 -f 29/81/21 27/83/21 31/84/21 -f 26/85/22 30/86/22 32/87/22 -f 26/85/22 32/87/22 28/88/22 -f 33/89/23 34/90/23 36/91/23 -f 33/89/23 36/91/23 35/92/23 -f 38/93/24 37/94/24 39/95/24 -f 38/93/24 39/95/24 40/96/24 -f 38/97/25 34/98/25 33/99/25 -f 38/97/25 33/99/25 37/100/25 -f 39/101/26 35/102/26 36/103/26 -f 39/101/26 36/103/26 40/104/26 -f 37/105/27 33/106/27 35/107/27 -f 37/105/27 35/107/27 39/108/27 -f 34/109/28 38/110/28 40/111/28 -f 34/109/28 40/111/28 36/112/28 -usemtl flagpole -f 41/113/29 42/114/29 44/115/29 -f 41/113/29 44/115/29 43/116/29 -f 46/117/30 45/118/30 47/119/30 -f 46/117/30 47/119/30 48/120/30 -f 46/121/31 42/122/31 41/123/31 -f 46/121/31 41/123/31 45/124/31 -f 45/125/32 41/126/32 43/127/32 -f 45/125/32 43/127/32 47/128/32 -f 42/129/33 46/130/33 48/131/33 -f 42/129/33 48/131/33 44/132/33 -f 49/133/34 50/134/34 52/135/34 -f 49/133/34 52/135/34 51/136/34 -f 54/137/35 53/138/35 55/139/35 -f 54/137/35 55/139/35 56/140/35 -f 54/141/36 50/142/36 49/143/36 -f 54/141/36 49/143/36 53/144/36 -f 53/145/37 49/146/37 51/147/37 -f 53/145/37 51/147/37 55/148/37 -f 50/149/38 54/150/38 56/151/38 -f 50/149/38 56/151/38 52/152/38 -f 57/153/39 58/154/39 60/155/39 -f 57/153/39 60/155/39 59/156/39 -f 62/157/40 61/158/40 63/159/40 -f 62/157/40 63/159/40 64/160/40 -f 62/161/41 58/162/41 57/163/41 -f 62/161/41 57/163/41 61/164/41 -f 63/165/42 59/166/42 60/167/42 -f 63/165/42 60/167/42 64/168/42 -f 61/169/43 57/170/43 59/171/43 -f 61/169/43 59/171/43 63/172/43 -f 58/173/44 62/174/44 64/175/44 -f 58/173/44 64/175/44 60/176/44 -usemtl coil_rope_side -f 66/177/45 65/178/45 67/179/45 -f 66/177/45 67/179/45 68/180/45 -f 68/181/46 67/182/46 69/183/46 -f 68/181/46 69/183/46 70/184/46 -f 70/185/47 69/186/47 71/187/47 -f 70/185/47 71/187/47 72/188/47 -f 72/189/48 71/190/48 73/191/48 -f 72/189/48 73/191/48 75/192/48 -f 75/193/49 73/194/49 74/195/49 -f 75/193/49 74/195/49 76/196/49 -f 78/197/50 77/198/50 79/199/50 -f 78/197/50 79/199/50 80/200/50 -f 80/201/51 79/202/51 81/203/51 -f 80/201/51 81/203/51 82/204/51 -f 82/205/52 81/206/52 83/207/52 -f 82/205/52 83/207/52 84/208/52 -f 84/209/53 83/210/53 85/211/53 -f 84/209/53 85/211/53 87/212/53 -f 87/213/54 85/214/54 86/215/54 -f 87/213/54 86/215/54 88/216/54 -usemtl common_concrete_volks -f 91/217/55 89/218/55 90/219/55 -f 91/217/55 90/219/55 92/220/55 -usemtl flagpole -f 99/221/56 100/222/56 93/223/56 -f 99/221/56 93/223/56 97/224/56 -f 101/225/57 99/226/57 97/227/57 -f 101/225/57 97/227/57 94/228/57 -f 100/229/58 99/230/58 98/231/58 -f 100/229/58 98/231/58 96/232/58 -f 99/233/59 101/234/59 95/235/59 -f 99/233/59 95/235/59 98/236/59 -usemtl common_table -f 102/237/60 103/238/60 105/239/60 -f 102/237/60 105/239/60 104/240/60 -f 107/241/61 106/242/61 108/243/61 -f 107/241/61 108/243/61 109/244/61 -f 107/245/62 103/246/62 102/247/62 -f 107/245/62 102/247/62 106/248/62 -f 106/249/63 102/250/63 104/251/63 -f 106/249/63 104/251/63 108/252/63 -f 103/253/64 107/254/64 109/255/64 -f 103/253/64 109/255/64 105/256/64 -f 110/257/65 111/258/65 113/259/65 -f 110/257/65 113/259/65 112/260/65 -f 115/261/66 114/262/66 116/263/66 -f 115/261/66 116/263/66 117/264/66 -f 115/265/67 111/266/67 110/267/67 -f 115/265/67 110/267/67 114/268/67 -f 114/269/68 110/270/68 112/271/68 -f 114/269/68 112/271/68 116/272/68 -f 111/273/69 115/274/69 117/275/69 -f 111/273/69 117/275/69 113/276/69 -f 118/277/70 119/278/70 121/279/70 -f 118/277/70 121/279/70 120/280/70 -f 123/281/71 122/282/71 124/283/71 -f 123/281/71 124/283/71 125/284/71 -f 123/285/72 119/286/72 118/287/72 -f 123/285/72 118/287/72 122/288/72 -f 124/289/73 120/290/73 121/291/73 -f 124/289/73 121/291/73 125/292/73 -f 122/293/74 118/294/74 120/295/74 -f 122/293/74 120/295/74 124/296/74 -f 119/297/75 123/298/75 125/299/75 -f 119/297/75 125/299/75 121/300/75 -f 126/301/76 127/302/76 129/303/76 -f 126/301/76 129/303/76 128/304/76 -f 131/305/77 130/306/77 132/307/77 -f 131/305/77 132/307/77 133/308/77 -f 131/309/78 127/310/78 126/311/78 -f 131/309/78 126/311/78 130/312/78 -f 130/313/79 126/314/79 128/315/79 -f 130/313/79 128/315/79 132/316/79 -f 127/317/80 131/318/80 133/319/80 -f 127/317/80 133/319/80 129/320/80 -f 134/321/81 135/322/81 137/323/81 -f 134/321/81 137/323/81 136/324/81 -f 139/325/82 138/326/82 140/327/82 -f 139/325/82 140/327/82 141/328/82 -f 139/329/83 135/330/83 134/331/83 -f 139/329/83 134/331/83 138/332/83 -f 138/333/84 134/334/84 136/335/84 -f 138/333/84 136/335/84 140/336/84 -f 135/337/85 139/338/85 141/339/85 -f 135/337/85 141/339/85 137/340/85 -f 142/341/86 143/342/86 145/343/86 -f 142/341/86 145/343/86 144/344/86 -f 147/345/87 146/346/87 148/347/87 -f 147/345/87 148/347/87 149/348/87 -f 147/349/88 143/350/88 142/351/88 -f 147/349/88 142/351/88 146/352/88 -f 146/353/89 142/354/89 144/355/89 -f 146/353/89 144/355/89 148/356/89 -f 143/357/90 147/358/90 149/359/90 -f 143/357/90 149/359/90 145/360/90 -f 150/361/91 151/362/91 153/363/91 -f 150/361/91 153/363/91 152/364/91 -f 155/365/92 154/366/92 156/367/92 -f 155/365/92 156/367/92 157/368/92 -f 155/369/93 151/370/93 150/371/93 -f 155/369/93 150/371/93 154/372/93 -f 154/373/94 150/374/94 152/375/94 -f 154/373/94 152/375/94 156/376/94 -f 151/377/95 155/378/95 157/379/95 -f 151/377/95 157/379/95 153/380/95 -usemtl flagpole -f 172/381/96 173/382/96 158/383/96 -f 172/381/96 158/383/96 159/384/96 -f 170/385/97 171/386/97 163/387/97 -f 170/385/97 163/387/97 162/388/97 -f 173/389/98 170/390/98 162/391/98 -f 173/389/98 162/391/98 158/392/98 -f 171/393/99 172/394/99 159/395/99 -f 171/393/99 159/395/99 163/396/99 -f 174/397/100 175/398/100 167/399/100 -f 174/397/100 167/399/100 166/400/100 -f 175/401/101 176/402/101 168/403/101 -f 175/401/101 168/403/101 167/404/101 -f 176/405/102 177/406/102 169/407/102 -f 176/405/102 169/407/102 168/408/102 -f 177/409/103 174/410/103 166/411/103 -f 177/409/103 166/411/103 169/412/103 -f 171/413/104 170/414/104 166/415/104 -f 171/413/104 166/415/104 167/416/104 -f 172/417/105 171/418/105 167/419/105 -f 172/417/105 167/419/105 168/420/105 -f 173/421/106 172/422/106 168/423/106 -f 173/421/106 168/423/106 169/424/106 -f 170/425/107 173/426/107 169/427/107 -f 170/425/107 169/427/107 166/428/107 -f 175/429/108 174/430/108 164/431/108 -f 175/429/108 164/431/108 165/432/108 -f 176/433/109 175/434/109 165/435/109 -f 176/433/109 165/435/109 161/436/109 -f 177/437/110 176/438/110 161/439/110 -f 177/437/110 161/439/110 160/440/110 -f 174/441/111 177/442/111 160/443/111 -f 174/441/111 160/443/111 164/444/111 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_flipped.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_flipped.obj new file mode 100644 index 000000000..5c74518bb --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/flagpole_flipped.obj @@ -0,0 +1,924 @@ +# Made by Pabilo8 with Blockbench +# Exported with IIToolkit Plugin on 16/08/2026 +mtllib flagpole.mtl + +o main +v 0.6768 5.1875 1.6563 +v 0.6768 5.1875 1.3438 +v 0.6768 5 1.6563 +v 0.6768 5 1.3438 +v 0.3643 5.1875 1.6563 +v 0.3643 5.1875 1.3438 +v 0.3643 5 1.6563 +v 0.3643 5 1.3438 +v 0.7706 -0.125 1.75 +v 0.7706 -0.125 1.25 +v 0.7706 -1 1.75 +v 0.7706 -1 1.25 +v 0.2706 -0.125 1.75 +v 0.2706 -0.125 1.25 +v 0.2706 -1 1.75 +v 0.2706 -1 1.25 +v 0.9581 -0.1777 1.9372 +v 0.9581 -0.1875 1.75 +v 0.9581 -0.9891 1.9798 +v 0.9581 -0.9989 1.7925 +v 0.1456 -0.1777 1.9372 +v 0.1456 -0.1875 1.75 +v 0.1456 -0.9891 1.9798 +v 0.1456 -0.9989 1.7925 +v 0.3956 0.3125 1.5625 +v 0.3956 0.3125 1.4375 +v 0.3956 0.0625 1.5625 +v 0.3956 0.0625 1.4375 +v 0.2081 0.3125 1.5625 +v 0.2081 0.3125 1.4375 +v 0.2081 0.0625 1.5625 +v 0.2081 0.0625 1.4375 +v 0.3956 5.125 1.5625 +v 0.3956 5.125 1.4375 +v 0.3956 5 1.5625 +v 0.3956 5 1.4375 +v 0.2081 5.125 1.5625 +v 0.2081 5.125 1.4375 +v 0.2081 5 1.5625 +v 0.2081 5 1.4375 +v 0.3331 5 1.5625 +v 0.3331 5 1.4375 +v 0.3331 4 1.5625 +v 0.3331 4 1.4375 +v 0.3331 3 1.5625 +v 0.3331 3 1.4375 +v 0.3331 2 1.5625 +v 0.3331 2 1.4375 +v 0.3331 1 1.5625 +v 0.3331 0 1.5625 +v 0.3331 1 1.4375 +v 0.3331 0 1.4375 +v 0.3956 5 1.5 +v 0.2706 5 1.5 +v 0.3956 4 1.5 +v 0.2706 4 1.5 +v 0.3956 3 1.5 +v 0.2706 3 1.5 +v 0.3956 2 1.5 +v 0.2706 2 1.5 +v 0.3956 1 1.5 +v 0.3956 0 1.5 +v 0.2706 1 1.5 +v 0.2706 0 1.5 +v 2 -3 3 +v 2 -3 0 +v -1 -3 3 +v -1 -3 0 +v -0.7294 -1 2.75 +v -0.7294 -1 0.25 +v 1.7706 -1 0.25 +v 1.7706 -1 2.75 +v -0.7294 -1 1.5 +v 1.7706 -1 1.5 +v 0.5206 -1 1.5 +v 0.5206 -1 2.75 +v 0.5206 -1 0.25 +v -0.1044 -0.1875 2.6875 +v -0.1044 -0.1875 1.9375 +v -0.1044 -0.3125 2.6875 +v -0.1044 -0.3125 1.9375 +v -0.7294 -0.1875 2.6875 +v -0.7294 -0.1875 1.9375 +v -0.7294 -0.3125 2.6875 +v -0.7294 -0.3125 1.9375 +v 0.6456 5 1.625 +v 0.6456 5 1.375 +v 0.6456 -0.125 1.625 +v 0.6456 -0.125 1.375 +v 0.3956 5 1.625 +v 0.3956 5 1.375 +v 0.3956 -0.125 1.625 +v 0.3956 -0.125 1.375 +v 0.3956 2.4375 1.625 +v 0.3956 2.4375 1.375 +v 0.6456 2.4375 1.375 +v 0.6456 2.4375 1.625 +v 0.3956 3.7188 1.625 +v 0.3956 3.7188 1.375 +v 0.6456 3.7188 1.375 +v 0.6456 3.7188 1.625 +v 0.3956 1.1563 1.625 +v 0.3956 1.1563 1.375 +v 0.6456 1.1563 1.375 +v 0.6456 1.1563 1.625 +v -0.1044 -0.1875 2.3125 +v -0.7294 -0.1875 2.3125 +v -0.7294 -0.3125 2.3125 +v -0.1044 -0.3125 2.3125 +v -0.1669 -0.3125 2.625 +v -0.1669 -0.3125 2.5 +v -0.1669 -1 2.625 +v -0.1669 -1 2.5 +v -0.2919 -0.3125 2.625 +v -0.2919 -0.3125 2.5 +v -0.2919 -1 2.625 +v -0.2919 -1 2.5 +v -0.1669 -0.3125 2 +v -0.1669 -0.3125 2.125 +v -0.1669 -1 2 +v -0.1669 -1 2.125 +v -0.2919 -0.3125 2 +v -0.2919 -0.3125 2.125 +v -0.2919 -1 2 +v -0.2919 -1 2.125 +v -0.6456 -0.3125 2.625 +v -0.6456 -0.3125 2.5 +v -0.6456 -1 2.625 +v -0.6456 -1 2.5 +v -0.5206 -0.3125 2.625 +v -0.5206 -0.3125 2.5 +v -0.5206 -1 2.625 +v -0.5206 -1 2.5 +v -0.6456 -0.3125 2 +v -0.6456 -0.3125 2.125 +v -0.6456 -1 2 +v -0.6456 -1 2.125 +v -0.5206 -0.3125 2 +v -0.5206 -0.3125 2.125 +v -0.5206 -1 2 +v -0.5206 -1 2.125 +v 1.0394 -0.6875 2.6783 +v 1.6591 -0.6875 2.7599 +v 1.0394 -1 2.6783 +v 1.6591 -1 2.7599 +v 1.1537 -0.6875 1.8108 +v 1.7733 -0.6875 1.8924 +v 1.1537 -1 1.8108 +v 1.7733 -1 1.8924 +v 0.8956 -0.4375 0.7875 +v 0.8956 -0.4375 0.225 +v 0.8956 -1 0.7875 +v 0.8956 -1 0.225 +v 0.3331 -0.4375 0.7875 +v 0.3331 -0.4375 0.225 +v 0.3331 -1 0.7875 +v 0.3331 -1 0.225 +v 0.1927 -0.25 0.9959 +v 0.1143 -0.25 0.25 +v 0.1927 -1 0.9959 +v 0.1143 -1 0.25 +v -0.5532 -0.25 1.0743 +v -0.6316 -0.25 0.3284 +v -0.5532 -1 1.0743 +v -0.6316 -1 0.3284 +v 1.0894 -0.375 2.7422 +v 1.7121 -0.375 2.6877 +v 1.0894 -0.6875 2.7422 +v 1.7121 -0.6875 2.6877 +v 1.0132 -0.375 1.8705 +v 1.6358 -0.375 1.816 +v 1.0132 -0.6875 1.8705 +v 1.6358 -0.6875 1.816 +vt 0.125 0.0625 +vt 0.25 0.0625 +vt 0.25 0 +vt 0.125 0 +vt 0.125 0.0625 +vt 0.25 0.0625 +vt 0.25 0 +vt 0.125 0 +vt 0.875 0.1719 +vt 1 0.1719 +vt 1 0.0469 +vt 0.875 0.0469 +vt 0.875 0.1719 +vt 1 0.1719 +vt 1 0.0469 +vt 0.875 0.0469 +vt 0.25 0.0625 +vt 0.125 0.0625 +vt 0.125 0 +vt 0.25 0 +vt 0.25 0.0625 +vt 0.125 0.0625 +vt 0.125 0 +vt 0.25 0 +vt 0.875 0.2188 +vt 1 0.2188 +vt 1 0 +vt 0.875 0 +vt 0.875 0.2188 +vt 1 0.2188 +vt 1 0 +vt 0.875 0 +vt 0.875 0.1719 +vt 1 0.1719 +vt 1 0.0469 +vt 0.875 0.0469 +vt 0.875 0.2188 +vt 1 0.2188 +vt 1 0 +vt 0.875 0 +vt 0.875 0.2188 +vt 1 0.2188 +vt 1 0 +vt 0.875 0 +vt 0.7188 0.2344 +vt 0.75 0.2344 +vt 0.75 0.0156 +vt 0.7188 0.0156 +vt 0.5 0.2344 +vt 0.5313 0.2344 +vt 0.5313 0.0156 +vt 0.5 0.0156 +vt 0.5313 0 +vt 0.75 0 +vt 0.75 0.0313 +vt 0.5313 0.0313 +vt 0.7344 0.2344 +vt 0.5156 0.2344 +vt 0.5156 0.0156 +vt 0.7344 0.0156 +vt 0.7344 0.2344 +vt 0.5156 0.2344 +vt 0.5156 0.0156 +vt 0.7344 0.0156 +vt 1 0.4844 +vt 1 0.4844 +vt 1 0.4219 +vt 1 0.4219 +vt 0.7188 0.4688 +vt 0.75 0.4688 +vt 0.75 0.4063 +vt 0.7188 0.4063 +vt 0.7188 0.4531 +vt 0.7188 0.4063 +vt 0.75 0.4063 +vt 0.75 0.4531 +vt 0.75 0.4688 +vt 0.75 0.4219 +vt 0.7188 0.4219 +vt 0.7188 0.4688 +vt 0.6719 0.4688 +vt 0.7188 0.4688 +vt 0.7188 0.4063 +vt 0.6719 0.4063 +vt 0.6875 0.4688 +vt 0.7344 0.4688 +vt 0.7344 0.4063 +vt 0.6875 0.4063 +vt 1 0.4844 +vt 1 0.4844 +vt 1 0.4219 +vt 1 0.4219 +vt 0.7188 0.4688 +vt 0.75 0.4688 +vt 0.75 0.4063 +vt 0.7188 0.4063 +vt 0.7188 0.4531 +vt 0.7188 0.4063 +vt 0.75 0.4063 +vt 0.75 0.4531 +vt 0.75 0.4688 +vt 0.75 0.4219 +vt 0.7188 0.4219 +vt 0.7188 0.4688 +vt 0.6719 0.4688 +vt 0.7188 0.4688 +vt 0.7188 0.4063 +vt 0.6719 0.4063 +vt 0.6875 0.4688 +vt 0.7344 0.4688 +vt 0.7344 0.4063 +vt 0.6875 0.4063 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0 1 +vt 0.125 1 +vt 0.125 0 +vt 0 0 +vt 0.75 1 +vt 0 1 +vt 0 0.25 +vt 0.75 0.25 +vt 0.4375 0.6875 +vt 0.4375 1 +vt 0.75 1 +vt 0.75 0.6875 +vt 0.75 0.6875 +vt 0.4375 0.6875 +vt 0.4375 1 +vt 0.75 1 +vt 0.75 0.6875 +vt 0.4375 0.6875 +vt 0.4375 1 +vt 0.75 1 +vt 0.4375 0.6875 +vt 0.4375 1 +vt 0.75 1 +vt 0.75 0.6875 +vt 0.5313 0.2813 +vt 0.625 0.2813 +vt 0.625 0.25 +vt 0.5313 0.25 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.6094 0.2813 +vt 0.7031 0.2813 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.6094 0.4063 +vt 0.7031 0.4063 +vt 0.7031 0.4063 +vt 0.6094 0.4063 +vt 0.6094 0.25 +vt 0.7031 0.25 +vt 0.5313 0.25 +vt 0.5313 0.4063 +vt 0.5625 0.4063 +vt 0.5625 0.25 +vt 0.6719 0.4063 +vt 0.6719 0.25 +vt 0.7031 0.25 +vt 0.7031 0.4063 +vt 0.8125 0.6797 +vt 0.75 0.6797 +vt 0.75 1 +vt 0.8125 1 +vt 0.8125 0.6484 +vt 0.75 0.6484 +vt 0.75 0.9688 +vt 0.8125 0.9688 +vt 0.8125 0.6016 +vt 0.75 0.6016 +vt 0.75 0.9219 +vt 0.8125 0.9219 +vt 0.8125 0.6641 +vt 0.75 0.6641 +vt 0.75 0.9844 +vt 0.8125 0.9844 +vt 0.8125 0.6797 +vt 0.75 0.6797 +vt 0.75 1 +vt 0.8125 1 +vt 0.8125 0.6484 +vt 0.75 0.6484 +vt 0.75 0.9688 +vt 0.8125 0.9688 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.75 0.9375 +vt 0.8125 0.9375 +vt 0.8125 0.6641 +vt 0.75 0.6641 +vt 0.75 0.9844 +vt 0.8125 0.9844 +vt 0.75 0.9375 +vt 0.8125 0.9375 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.75 0.9531 +vt 0.8125 0.9531 +vt 0.8125 0.6328 +vt 0.75 0.6328 +vt 0.75 0.9688 +vt 0.8125 0.9688 +vt 0.8125 0.6484 +vt 0.75 0.6484 +vt 0.75 0.9375 +vt 0.8125 0.9375 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.75 0.8281 +vt 0.8125 0.8281 +vt 0.8125 0.5078 +vt 0.75 0.5078 +vt 0.75 0.8281 +vt 0.8125 0.8281 +vt 0.8125 0.5078 +vt 0.75 0.5078 +vt 0.75 0.8281 +vt 0.8125 0.8281 +vt 0.8125 0.5078 +vt 0.75 0.5078 +vt 0.75 0.9375 +vt 0.8125 0.9375 +vt 0.8125 0.6172 +vt 0.75 0.6172 +vt 0.5313 0.4063 +vt 0.625 0.4063 +vt 0.625 0.25 +vt 0.5313 0.25 +vt 0.6094 0.2813 +vt 0.7031 0.2813 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.5313 0.25 +vt 0.625 0.25 +vt 0.625 0.4063 +vt 0.5313 0.4063 +vt 0.7031 0.25 +vt 0.6094 0.25 +vt 0.6094 0.2813 +vt 0.7031 0.2813 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7969 0.5313 +vt 0.7656 0.5313 +vt 0.7656 0.3594 +vt 0.7969 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.7656 0.5313 +vt 0.7969 0.5313 +vt 0.7969 0.3594 +vt 0.7656 0.3594 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.875 1 +vt 0.4375 1 +vt 0.4375 0.6875 +vt 0.875 0.6875 +vt 0.875 0.6875 +vt 0.4375 0.6875 +vt 0.4375 0.5313 +vt 0.875 0.5313 +vt 0.875 0.5313 +vt 0.4375 0.5313 +vt 0.4375 0.375 +vt 0.875 0.375 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.8125 0.7344 +vt 0.9531 0.7344 +vt 0.9531 0.5938 +vt 0.8125 0.5938 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.25 0.25 +vt 0.4375 0.25 +vt 0.4375 0.0625 +vt 0.25 0.0625 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.3125 0.25 +vt 0 0.25 +vt 0 0.0938 +vt 0.3125 0.0938 +vt 0.875 1 +vt 0.4375 1 +vt 0.4375 0.6875 +vt 0.875 0.6875 +vt 0.875 0.6875 +vt 0.4375 0.6875 +vt 0.4375 0.5313 +vt 0.875 0.5313 +vt 0.875 0.5313 +vt 0.4375 0.5313 +vt 0.4375 0.375 +vt 0.875 0.375 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 -0.05 +vn 0 0.05 1 +vn 0 -0.05 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn -1 0 0 +vn -1 0 0 +vn -1 0 0 +vn -1 0 0 +vn -1 0 0 +vn 0 0 1 +vn 0 0 1 +vn 0 0 1 +vn 0 0 1 +vn 0 0 1 +vn 0 -1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 0 1 +vn 0 0 -1 +vn -1 0 0 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn -1 0 0 +vn 0 0 -1 +vn 1 0 0 +vn 0 0 1 +vn 0 1 0 +vn -1 0 0 +vn 0 -1 0 +vn 1 0 0 +vn 1 0 0 +vn -1 0 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 0 -1 +vn -1 0 0 +vn 1 0 0 +vn 0 0 -1 +vn 0 0 1 +vn -0.13 0 0.99 +vn 0.13 0 -0.99 +vn 0 1 0 +vn -0.99 0 -0.13 +vn 0.99 0 0.13 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 0 1 +vn 0 0 -1 +vn 0.99 0 -0.1 +vn -0.99 0 0.1 +vn 0 1 0 +vn 0.1 0 0.99 +vn -0.1 0 -0.99 +vn 0.09 0 1 +vn -0.09 0 -1 +vn 0 1 0 +vn -1 0 0.09 +vn 1 0 -0.09 +usemtl flagpole +f 4/3/1 2/2/1 1/1/1 +f 3/4/1 4/3/1 1/1/1 +f 7/7/2 5/6/2 6/5/2 +f 8/8/2 7/7/2 6/5/2 +f 1/11/3 2/10/3 6/9/3 +f 5/12/3 1/11/3 6/9/3 +f 4/15/4 3/14/4 7/13/4 +f 8/16/4 4/15/4 7/13/4 +f 3/19/5 1/18/5 5/17/5 +f 7/20/5 3/19/5 5/17/5 +f 8/23/6 6/22/6 2/21/6 +f 4/24/6 8/23/6 2/21/6 +f 12/27/7 10/26/7 9/25/7 +f 11/28/7 12/27/7 9/25/7 +f 15/31/8 13/30/8 14/29/8 +f 16/32/8 15/31/8 14/29/8 +f 9/35/9 10/34/9 14/33/9 +f 13/36/9 9/35/9 14/33/9 +f 11/39/10 9/38/10 13/37/10 +f 15/40/10 11/39/10 13/37/10 +f 16/43/11 14/42/11 10/41/11 +f 12/44/11 16/43/11 10/41/11 +usemtl common_steel +f 20/47/12 18/46/12 17/45/12 +f 19/48/12 20/47/12 17/45/12 +f 23/51/13 21/50/13 22/49/13 +f 24/52/13 23/51/13 22/49/13 +f 17/55/14 18/54/14 22/53/14 +f 21/56/14 17/55/14 22/53/14 +f 19/59/15 17/58/15 21/57/15 +f 23/60/15 19/59/15 21/57/15 +f 24/63/16 22/62/16 18/61/16 +f 20/64/16 24/63/16 18/61/16 +f 28/67/17 26/66/17 25/65/17 +f 27/68/17 28/67/17 25/65/17 +f 31/71/18 29/70/18 30/69/18 +f 32/72/18 31/71/18 30/69/18 +f 25/75/19 26/74/19 30/73/19 +f 29/76/19 25/75/19 30/73/19 +f 28/79/20 27/78/20 31/77/20 +f 32/80/20 28/79/20 31/77/20 +f 27/83/21 25/82/21 29/81/21 +f 31/84/21 27/83/21 29/81/21 +f 32/87/22 30/86/22 26/85/22 +f 28/88/22 32/87/22 26/85/22 +f 36/91/23 34/90/23 33/89/23 +f 35/92/23 36/91/23 33/89/23 +f 39/95/24 37/94/24 38/93/24 +f 40/96/24 39/95/24 38/93/24 +f 33/99/25 34/98/25 38/97/25 +f 37/100/25 33/99/25 38/97/25 +f 36/103/26 35/102/26 39/101/26 +f 40/104/26 36/103/26 39/101/26 +f 35/107/27 33/106/27 37/105/27 +f 39/108/27 35/107/27 37/105/27 +f 40/111/28 38/110/28 34/109/28 +f 36/112/28 40/111/28 34/109/28 +usemtl coil_rope_side +f 43/115/29 41/114/29 42/113/29 +f 44/116/29 43/115/29 42/113/29 +f 45/119/30 43/118/30 44/117/30 +f 46/120/30 45/119/30 44/117/30 +f 47/123/31 45/122/31 46/121/31 +f 48/124/31 47/123/31 46/121/31 +f 49/127/32 47/126/32 48/125/32 +f 51/128/32 49/127/32 48/125/32 +f 50/131/33 49/130/33 51/129/33 +f 52/132/33 50/131/33 51/129/33 +f 55/135/34 53/134/34 54/133/34 +f 56/136/34 55/135/34 54/133/34 +f 57/139/35 55/138/35 56/137/35 +f 58/140/35 57/139/35 56/137/35 +f 59/143/36 57/142/36 58/141/36 +f 60/144/36 59/143/36 58/141/36 +f 61/147/37 59/146/37 60/145/37 +f 63/148/37 61/147/37 60/145/37 +f 62/151/38 61/150/38 63/149/38 +f 64/152/38 62/151/38 63/149/38 +usemtl common_concrete_volks +f 66/155/39 65/154/39 67/153/39 +f 68/156/39 66/155/39 67/153/39 +usemtl flagpole +f 69/159/40 76/158/40 75/157/40 +f 73/160/40 69/159/40 75/157/40 +f 73/163/41 75/162/41 77/161/41 +f 70/164/41 73/163/41 77/161/41 +f 74/167/42 75/166/42 76/165/42 +f 72/168/42 74/167/42 76/165/42 +f 71/171/43 77/170/43 75/169/43 +f 74/172/43 71/171/43 75/169/43 +usemtl common_table +f 109/175/44 106/174/44 78/173/44 +f 80/176/44 109/175/44 78/173/44 +f 107/179/45 108/178/45 84/177/45 +f 82/180/45 107/179/45 84/177/45 +f 106/183/46 107/182/46 82/181/46 +f 78/184/46 106/183/46 82/181/46 +f 108/187/47 109/186/47 80/185/47 +f 84/188/47 108/187/47 80/185/47 +f 80/191/48 78/190/48 82/189/48 +f 84/192/48 80/191/48 82/189/48 +f 85/195/49 83/194/49 79/193/49 +f 81/196/49 85/195/49 79/193/49 +usemtl flagpole +f 86/199/50 101/198/50 100/197/50 +f 87/200/50 86/199/50 100/197/50 +f 91/203/51 99/202/51 98/201/51 +f 90/204/51 91/203/51 98/201/51 +f 90/207/52 98/206/52 101/205/52 +f 86/208/52 90/207/52 101/205/52 +f 87/211/53 100/210/53 99/209/53 +f 91/212/53 87/211/53 99/209/53 +f 95/215/54 103/214/54 102/213/54 +f 94/216/54 95/215/54 102/213/54 +f 96/219/55 104/218/55 103/217/55 +f 95/220/55 96/219/55 103/217/55 +f 97/223/56 105/222/56 104/221/56 +f 96/224/56 97/223/56 104/221/56 +f 94/227/57 102/226/57 105/225/57 +f 97/228/57 94/227/57 105/225/57 +f 94/231/58 98/230/58 99/229/58 +f 95/232/58 94/231/58 99/229/58 +f 95/235/59 99/234/59 100/233/59 +f 96/236/59 95/235/59 100/233/59 +f 96/239/60 100/238/60 101/237/60 +f 97/240/60 96/239/60 101/237/60 +f 97/243/61 101/242/61 98/241/61 +f 94/244/61 97/243/61 98/241/61 +f 92/247/62 102/246/62 103/245/62 +f 93/248/62 92/247/62 103/245/62 +f 93/251/63 103/250/63 104/249/63 +f 89/252/63 93/251/63 104/249/63 +f 89/255/64 104/254/64 105/253/64 +f 88/256/64 89/255/64 105/253/64 +f 88/259/65 105/258/65 102/257/65 +f 92/260/65 88/259/65 102/257/65 +usemtl common_table +f 107/263/66 106/262/66 79/261/66 +f 83/264/66 107/263/66 79/261/66 +f 108/267/67 107/266/67 83/265/67 +f 85/268/67 108/267/67 83/265/67 +f 109/271/68 108/270/68 85/269/68 +f 81/272/68 109/271/68 85/269/68 +f 106/275/69 109/274/69 81/273/69 +f 79/276/69 106/275/69 81/273/69 +f 113/279/70 111/278/70 110/277/70 +f 112/280/70 113/279/70 110/277/70 +f 116/283/71 114/282/71 115/281/71 +f 117/284/71 116/283/71 115/281/71 +f 112/287/72 110/286/72 114/285/72 +f 116/288/72 112/287/72 114/285/72 +f 117/291/73 115/290/73 111/289/73 +f 113/292/73 117/291/73 111/289/73 +f 118/295/74 119/294/74 121/293/74 +f 120/296/74 118/295/74 121/293/74 +f 123/299/75 122/298/75 124/297/75 +f 125/300/75 123/299/75 124/297/75 +f 122/303/76 118/302/76 120/301/76 +f 124/304/76 122/303/76 120/301/76 +f 119/307/77 123/306/77 125/305/77 +f 121/308/77 119/307/77 125/305/77 +f 126/311/78 127/310/78 129/309/78 +f 128/312/78 126/311/78 129/309/78 +f 131/315/79 130/314/79 132/313/79 +f 133/316/79 131/315/79 132/313/79 +f 130/319/80 126/318/80 128/317/80 +f 132/320/80 130/319/80 128/317/80 +f 127/323/81 131/322/81 133/321/81 +f 129/324/81 127/323/81 133/321/81 +f 137/327/82 135/326/82 134/325/82 +f 136/328/82 137/327/82 134/325/82 +f 140/331/83 138/330/83 139/329/83 +f 141/332/83 140/331/83 139/329/83 +f 136/335/84 134/334/84 138/333/84 +f 140/336/84 136/335/84 138/333/84 +f 141/339/85 139/338/85 135/337/85 +f 137/340/85 141/339/85 135/337/85 +usemtl metal +f 145/343/86 143/342/86 142/341/86 +f 144/344/86 145/343/86 142/341/86 +f 148/347/87 146/346/87 147/345/87 +f 149/348/87 148/347/87 147/345/87 +f 142/351/88 143/350/88 147/349/88 +f 146/352/88 142/351/88 147/349/88 +f 144/355/89 142/354/89 146/353/89 +f 148/356/89 144/355/89 146/353/89 +f 149/359/90 147/358/90 143/357/90 +f 145/360/90 149/359/90 143/357/90 +usemtl flagpole +f 153/363/91 151/362/91 150/361/91 +f 152/364/91 153/363/91 150/361/91 +f 156/367/92 154/366/92 155/365/92 +f 157/368/92 156/367/92 155/365/92 +f 150/371/93 151/370/93 155/369/93 +f 154/372/93 150/371/93 155/369/93 +f 152/375/94 150/374/94 154/373/94 +f 156/376/94 152/375/94 154/373/94 +f 157/379/95 155/378/95 151/377/95 +f 153/380/95 157/379/95 151/377/95 +f 161/383/96 159/382/96 158/381/96 +f 160/384/96 161/383/96 158/381/96 +f 164/387/97 162/386/97 163/385/97 +f 165/388/97 164/387/97 163/385/97 +f 158/391/98 159/390/98 163/389/98 +f 162/392/98 158/391/98 163/389/98 +f 160/395/99 158/394/99 162/393/99 +f 164/396/99 160/395/99 162/393/99 +f 165/399/100 163/398/100 159/397/100 +f 161/400/100 165/399/100 159/397/100 +usemtl metal +f 169/403/101 167/402/101 166/401/101 +f 168/404/101 169/403/101 166/401/101 +f 172/407/102 170/406/102 171/405/102 +f 173/408/102 172/407/102 171/405/102 +f 166/411/103 167/410/103 171/409/103 +f 170/412/103 166/411/103 171/409/103 +f 168/415/104 166/414/104 170/413/104 +f 172/416/104 168/415/104 170/413/104 +f 173/419/105 171/418/105 167/417/105 +f 169/420/105 173/419/105 167/417/105 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj index e1e7b13b2..bcf27727c 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj @@ -1,5 +1,5 @@ # Made by Pabilo8 with Blockbench -# Exported with IIToolkit Plugin on 12/05/2026 +# Exported with IIToolkit Plugin on 16/08/2026 mtllib flagpole.mtl o upgrade_capture_defiance @@ -6235,845 +6235,1684 @@ vn 0.42 0.91 0 vn 0 0 1 vn 0 0 -1 usemtl wooden_chain_fence -f 3/1/1 4/2/1 6/3/1 5/4/1 -f 8/5/2 7/6/2 9/7/2 10/8/2 -f 8/9/3 4/10/3 3/11/3 7/12/3 -f 9/13/4 5/14/4 6/15/4 10/16/4 -f 7/17/5 3/18/5 5/19/5 9/20/5 -f 4/21/6 8/22/6 10/23/6 6/24/6 -f 14/25/7 12/26/7 11/27/7 13/28/7 -f 17/29/8 15/30/8 16/31/8 18/32/8 -f 11/33/9 12/34/9 16/35/9 15/36/9 -f 14/37/10 13/38/10 17/39/10 18/40/10 -f 13/41/11 11/42/11 15/43/11 17/44/11 -f 18/45/12 16/46/12 12/47/12 14/48/12 -f 22/49/13 20/50/13 19/51/13 21/52/13 -f 25/53/14 23/54/14 24/55/14 26/56/14 -f 19/57/15 20/58/15 24/59/15 23/60/15 -f 22/61/16 21/62/16 25/63/16 26/64/16 -f 21/65/17 19/66/17 23/67/17 25/68/17 -f 26/69/18 24/70/18 20/71/18 22/72/18 -f 27/73/19 28/74/19 30/75/19 29/76/19 -f 32/77/20 31/78/20 33/79/20 34/80/20 -f 32/81/21 28/82/21 27/83/21 31/84/21 -f 33/85/22 29/86/22 30/87/22 34/88/22 -f 31/89/23 27/90/23 29/91/23 33/92/23 -f 28/93/24 32/94/24 34/95/24 30/96/24 -f 35/97/25 36/98/25 38/99/25 37/100/25 -f 40/101/26 39/102/26 41/103/26 42/104/26 -f 40/105/27 36/106/27 35/107/27 39/108/27 -f 41/109/28 37/110/28 38/111/28 42/112/28 -f 39/113/29 35/114/29 37/115/29 41/116/29 -f 36/117/30 43/118/30 44/119/30 38/120/30 -f 45/121/31 40/122/31 42/123/31 46/124/31 -f 45/125/32 43/126/32 36/127/32 40/128/32 -f 42/129/33 38/130/33 44/131/33 46/132/33 -f 43/133/34 47/134/34 48/135/34 44/136/34 -f 49/137/35 45/138/35 46/139/35 50/140/35 -f 49/141/36 47/142/36 43/143/36 45/144/36 -f 46/145/37 44/146/37 48/147/37 50/148/37 -f 49/149/38 47/150/38 48/151/38 50/152/38 +f 3/1/1 4/2/1 6/3/1 +f 3/1/1 6/3/1 5/4/1 +f 8/5/2 7/6/2 9/7/2 +f 8/5/2 9/7/2 10/8/2 +f 8/9/3 4/10/3 3/11/3 +f 8/9/3 3/11/3 7/12/3 +f 9/13/4 5/14/4 6/15/4 +f 9/13/4 6/15/4 10/16/4 +f 7/17/5 3/18/5 5/19/5 +f 7/17/5 5/19/5 9/20/5 +f 4/21/6 8/22/6 10/23/6 +f 4/21/6 10/23/6 6/24/6 +f 14/25/7 12/26/7 11/27/7 +f 14/25/7 11/27/7 13/28/7 +f 17/29/8 15/30/8 16/31/8 +f 17/29/8 16/31/8 18/32/8 +f 11/33/9 12/34/9 16/35/9 +f 11/33/9 16/35/9 15/36/9 +f 14/37/10 13/38/10 17/39/10 +f 14/37/10 17/39/10 18/40/10 +f 13/41/11 11/42/11 15/43/11 +f 13/41/11 15/43/11 17/44/11 +f 18/45/12 16/46/12 12/47/12 +f 18/45/12 12/47/12 14/48/12 +f 22/49/13 20/50/13 19/51/13 +f 22/49/13 19/51/13 21/52/13 +f 25/53/14 23/54/14 24/55/14 +f 25/53/14 24/55/14 26/56/14 +f 19/57/15 20/58/15 24/59/15 +f 19/57/15 24/59/15 23/60/15 +f 22/61/16 21/62/16 25/63/16 +f 22/61/16 25/63/16 26/64/16 +f 21/65/17 19/66/17 23/67/17 +f 21/65/17 23/67/17 25/68/17 +f 26/69/18 24/70/18 20/71/18 +f 26/69/18 20/71/18 22/72/18 +f 27/73/19 28/74/19 30/75/19 +f 27/73/19 30/75/19 29/76/19 +f 32/77/20 31/78/20 33/79/20 +f 32/77/20 33/79/20 34/80/20 +f 32/81/21 28/82/21 27/83/21 +f 32/81/21 27/83/21 31/84/21 +f 33/85/22 29/86/22 30/87/22 +f 33/85/22 30/87/22 34/88/22 +f 31/89/23 27/90/23 29/91/23 +f 31/89/23 29/91/23 33/92/23 +f 28/93/24 32/94/24 34/95/24 +f 28/93/24 34/95/24 30/96/24 +f 35/97/25 36/98/25 38/99/25 +f 35/97/25 38/99/25 37/100/25 +f 40/101/26 39/102/26 41/103/26 +f 40/101/26 41/103/26 42/104/26 +f 40/105/27 36/106/27 35/107/27 +f 40/105/27 35/107/27 39/108/27 +f 41/109/28 37/110/28 38/111/28 +f 41/109/28 38/111/28 42/112/28 +f 39/113/29 35/114/29 37/115/29 +f 39/113/29 37/115/29 41/116/29 +f 36/117/30 43/118/30 44/119/30 +f 36/117/30 44/119/30 38/120/30 +f 45/121/31 40/122/31 42/123/31 +f 45/121/31 42/123/31 46/124/31 +f 45/125/32 43/126/32 36/127/32 +f 45/125/32 36/127/32 40/128/32 +f 42/129/33 38/130/33 44/131/33 +f 42/129/33 44/131/33 46/132/33 +f 43/133/34 47/134/34 48/135/34 +f 43/133/34 48/135/34 44/136/34 +f 49/137/35 45/138/35 46/139/35 +f 49/137/35 46/139/35 50/140/35 +f 49/141/36 47/142/36 43/143/36 +f 49/141/36 43/143/36 45/144/36 +f 46/145/37 44/146/37 48/147/37 +f 46/145/37 48/147/37 50/148/37 +f 49/149/38 47/150/38 48/151/38 +f 49/149/38 48/151/38 50/152/38 usemtl metal_decoration2_razor_wire -f 53/153/39 52/154/39 51/155/39 54/156/39 -f 57/157/40 56/158/40 55/159/40 58/160/40 -f 61/161/41 60/162/41 59/163/41 62/164/41 -f 65/165/42 64/166/42 63/167/42 66/168/42 -f 69/169/43 68/170/43 67/171/43 70/172/43 -f 73/173/44 72/174/44 71/175/44 74/176/44 -f 77/177/45 76/178/45 75/179/45 78/180/45 -f 81/181/46 80/182/46 79/183/46 82/184/46 -f 85/185/47 84/186/47 83/187/47 86/188/47 -f 89/189/48 88/190/48 87/191/48 90/192/48 -f 93/193/49 92/194/49 91/195/49 94/196/49 -f 97/197/50 96/198/50 95/199/50 98/200/50 -f 101/201/51 100/202/51 99/203/51 102/204/51 -f 105/205/52 104/206/52 103/207/52 106/208/52 -f 109/209/53 108/210/53 107/211/53 110/212/53 -f 113/213/54 112/214/54 111/215/54 114/216/54 -f 117/217/55 116/218/55 115/219/55 118/220/55 -f 121/221/56 120/222/56 119/223/56 122/224/56 -f 125/225/57 124/226/57 123/227/57 126/228/57 -f 129/229/58 128/230/58 127/231/58 130/232/58 -f 133/233/59 132/234/59 131/235/59 134/236/59 -f 137/237/60 136/238/60 135/239/60 138/240/60 -f 141/241/61 140/242/61 139/243/61 142/244/61 -f 145/245/62 144/246/62 143/247/62 146/248/62 -f 149/249/63 148/250/63 147/251/63 150/252/63 -f 153/253/64 152/254/64 151/255/64 154/256/64 -f 157/257/65 156/258/65 155/259/65 158/260/65 -f 161/261/66 160/262/66 159/263/66 162/264/66 -f 165/265/67 164/266/67 163/267/67 166/268/67 -f 169/269/68 168/270/68 167/271/68 170/272/68 -f 173/273/69 172/274/69 171/275/69 174/276/69 -f 177/277/70 176/278/70 175/279/70 178/280/70 -f 181/281/71 180/282/71 179/283/71 182/284/71 -f 185/285/72 184/286/72 183/287/72 186/288/72 -f 189/289/73 188/290/73 187/291/73 190/292/73 -f 193/293/74 192/294/74 191/295/74 194/296/74 -f 197/297/75 196/298/75 195/299/75 198/300/75 -f 201/301/76 200/302/76 199/303/76 202/304/76 -f 197/305/77 198/306/77 203/307/77 204/308/77 -f 204/309/78 203/310/78 205/311/78 206/312/78 -f 208/313/79 207/314/79 195/315/79 205/316/79 -f 198/317/80 210/318/80 209/319/80 203/320/80 -f 203/321/81 209/322/81 208/323/81 205/324/81 -f 205/325/82 195/326/82 196/327/82 206/328/82 -f 198/329/83 195/330/83 207/331/83 210/332/83 -f 200/333/84 212/334/84 211/335/84 199/336/84 -f 201/337/85 202/338/85 213/339/85 214/340/85 -f 214/341/86 213/342/86 211/343/86 212/344/86 -f 207/345/87 208/346/87 212/347/87 200/348/87 -f 210/349/88 207/350/88 200/351/88 201/352/88 -f 210/353/89 201/354/89 214/355/89 209/356/89 -f 209/357/90 214/358/90 212/359/90 208/360/90 -f 197/361/91 204/362/91 206/363/91 196/364/91 -f 217/365/92 216/366/92 215/367/92 218/368/92 -f 221/369/93 220/370/93 219/371/93 222/372/93 -f 225/373/94 224/374/94 223/375/94 226/376/94 -f 229/377/95 228/378/95 227/379/95 230/380/95 -f 233/381/96 232/382/96 231/383/96 234/384/96 -f 237/385/97 236/386/97 235/387/97 238/388/97 -f 241/389/98 240/390/98 239/391/98 242/392/98 -f 245/393/99 244/394/99 243/395/99 246/396/99 -f 249/397/100 248/398/100 247/399/100 250/400/100 -f 253/401/101 252/402/101 251/403/101 254/404/101 -f 257/405/102 256/406/102 255/407/102 258/408/102 -f 261/409/103 260/410/103 259/411/103 262/412/103 -f 265/413/104 264/414/104 263/415/104 266/416/104 -f 269/417/105 268/418/105 267/419/105 270/420/105 -f 273/421/106 272/422/106 271/423/106 274/424/106 -f 277/425/107 276/426/107 275/427/107 278/428/107 -f 281/429/108 280/430/108 279/431/108 282/432/108 -f 285/433/109 284/434/109 283/435/109 286/436/109 -f 286/437/110 283/438/110 279/439/110 280/440/110 -f 285/441/111 281/442/111 282/443/111 284/444/111 -f 291/445/112 290/446/112 289/447/112 292/448/112 -f 295/449/113 294/450/113 293/451/113 296/452/113 -f 298/453/114 297/454/114 294/455/114 295/456/114 -f 299/457/115 296/458/115 293/459/115 300/460/115 -f 303/461/116 302/462/116 301/463/116 304/464/116 -f 298/465/117 299/466/117 300/467/117 297/468/117 -f 302/469/118 306/470/118 305/471/118 301/472/118 -f 303/473/119 304/474/119 307/475/119 308/476/119 -f 308/477/120 307/478/120 305/479/120 306/480/120 -f 304/481/121 301/482/121 281/483/121 285/484/121 -f 310/485/122 309/486/122 287/487/122 288/488/122 -f 304/489/123 285/490/123 286/491/123 307/492/123 -f 307/493/124 286/494/124 280/495/124 305/496/124 -f 282/497/125 279/498/125 292/499/125 309/500/125 -f 301/501/126 305/502/126 280/503/126 281/504/126 -f 284/505/127 282/506/127 309/507/127 310/508/127 -f 284/509/128 310/510/128 291/511/128 283/512/128 -f 283/513/129 291/514/129 292/515/129 279/516/129 -f 309/517/130 292/518/130 289/519/130 287/520/130 -f 310/521/131 288/522/131 290/523/131 291/524/131 -f 311/525/132 295/526/132 296/527/132 312/528/132 -f 313/529/133 298/530/133 295/531/133 311/532/133 -f 313/533/134 314/534/134 299/535/134 298/536/134 -f 300/537/135 293/538/135 306/539/135 302/540/135 -f 314/541/136 312/542/136 296/543/136 299/544/136 -f 297/545/137 300/546/137 302/547/137 303/548/137 -f 297/549/138 303/550/138 308/551/138 294/552/138 -f 294/553/139 308/554/139 306/555/139 293/556/139 -f 316/557/140 315/558/140 314/559/140 313/560/140 -f 315/561/141 317/562/141 312/563/141 314/564/141 -f 316/565/142 313/566/142 311/567/142 318/568/142 -f 318/569/143 311/570/143 312/571/143 317/572/143 -f 322/573/144 321/574/144 320/575/144 323/576/144 -f 326/577/145 325/578/145 324/579/145 327/580/145 -f 330/581/146 329/582/146 328/583/146 331/584/146 -f 334/585/147 333/586/147 332/587/147 335/588/147 -f 338/589/148 337/590/148 336/591/148 339/592/148 -f 342/593/149 341/594/149 340/595/149 343/596/149 -f 346/597/150 345/598/150 344/599/150 347/600/150 -f 350/601/151 349/602/151 348/603/151 351/604/151 -f 354/605/152 353/606/152 352/607/152 355/608/152 -f 358/609/153 357/610/153 356/611/153 359/612/153 -f 362/613/154 361/614/154 360/615/154 363/616/154 -f 366/617/155 365/618/155 364/619/155 367/620/155 -f 370/621/156 369/622/156 368/623/156 371/624/156 -f 374/625/157 373/626/157 372/627/157 375/628/157 -f 378/629/158 377/630/158 376/631/158 379/632/158 -f 382/633/159 381/634/159 380/635/159 383/636/159 -f 386/637/160 385/638/160 384/639/160 387/640/160 -f 390/641/161 389/642/161 388/643/161 391/644/161 -f 394/645/162 393/646/162 392/647/162 395/648/162 -f 398/649/163 397/650/163 396/651/163 399/652/163 -f 401/653/164 400/654/164 319/655/164 402/656/164 -f 405/657/165 404/658/165 403/659/165 406/660/165 -f 409/661/166 408/662/166 407/663/166 410/664/166 -f 413/665/167 412/666/167 411/667/167 414/668/167 -f 417/669/168 416/670/168 415/671/168 418/672/168 -f 421/673/169 420/674/169 419/675/169 422/676/169 -f 425/677/170 424/678/170 423/679/170 426/680/170 -f 429/681/171 428/682/171 427/683/171 430/684/171 -f 433/685/172 432/686/172 431/687/172 434/688/172 -f 437/689/173 436/690/173 435/691/173 438/692/173 -f 441/693/174 440/694/174 439/695/174 442/696/174 -f 445/697/175 444/698/175 443/699/175 446/700/175 -f 449/701/176 448/702/176 447/703/176 450/704/176 -f 453/705/177 452/706/177 451/707/177 454/708/177 -f 457/709/178 456/710/178 455/711/178 458/712/178 -f 461/713/179 460/714/179 459/715/179 462/716/179 -f 465/717/180 464/718/180 463/719/180 466/720/180 -f 469/721/181 468/722/181 467/723/181 470/724/181 -f 465/725/182 466/726/182 471/727/182 472/728/182 -f 472/729/183 471/730/183 473/731/183 474/732/183 -f 476/733/184 475/734/184 463/735/184 473/736/184 -f 466/737/185 478/738/185 477/739/185 471/740/185 -f 471/741/186 477/742/186 476/743/186 473/744/186 -f 473/745/187 463/746/187 464/747/187 474/748/187 -f 466/749/188 463/750/188 475/751/188 478/752/188 -f 468/753/189 480/754/189 479/755/189 467/756/189 -f 469/757/190 470/758/190 481/759/190 482/760/190 -f 482/761/191 481/762/191 479/763/191 480/764/191 -f 475/765/192 476/766/192 480/767/192 468/768/192 -f 478/769/193 475/770/193 468/771/193 469/772/193 -f 478/773/194 469/774/194 482/775/194 477/776/194 -f 477/777/195 482/778/195 480/779/195 476/780/195 -f 465/781/196 472/782/196 474/783/196 464/784/196 -f 485/785/197 484/786/197 483/787/197 486/788/197 -f 489/789/198 488/790/198 487/791/198 490/792/198 -f 493/793/199 492/794/199 491/795/199 494/796/199 -f 497/797/200 496/798/200 495/799/200 498/800/200 -f 501/801/201 500/802/201 499/803/201 502/804/201 -f 505/805/202 504/806/202 503/807/202 506/808/202 -f 509/809/203 508/810/203 507/811/203 510/812/203 -f 513/813/204 512/814/204 511/815/204 514/816/204 -f 517/817/205 516/818/205 515/819/205 518/820/205 -f 521/821/206 520/822/206 519/823/206 522/824/206 -f 525/825/207 524/826/207 523/827/207 526/828/207 -f 529/829/208 528/830/208 527/831/208 530/832/208 -f 533/833/209 532/834/209 531/835/209 534/836/209 -f 537/837/210 536/838/210 535/839/210 538/840/210 -f 541/841/211 540/842/211 539/843/211 542/844/211 -f 545/845/212 544/846/212 543/847/212 546/848/212 -f 549/849/213 548/850/213 547/851/213 550/852/213 -f 553/853/214 552/854/214 551/855/214 554/856/214 -f 557/857/215 556/858/215 555/859/215 558/860/215 -f 558/861/216 555/862/216 551/863/216 552/864/216 -f 557/865/217 553/866/217 554/867/217 556/868/217 -f 561/869/218 560/870/218 559/871/218 562/872/218 -f 564/873/219 563/874/219 559/875/219 560/876/219 -f 567/877/220 566/878/220 565/879/220 568/880/220 -f 569/881/221 568/882/221 565/883/221 570/884/221 -f 573/885/222 572/886/222 571/887/222 574/888/222 -f 576/889/223 575/890/223 569/891/223 577/892/223 -f 572/893/224 579/894/224 578/895/224 571/896/224 -f 573/897/225 574/898/225 580/899/225 581/900/225 -f 581/901/226 580/902/226 578/903/226 579/904/226 -f 584/905/227 583/906/227 582/907/227 585/908/227 -f 588/909/228 587/910/228 586/911/228 589/912/228 -f 592/913/229 591/914/229 590/915/229 593/916/229 -f 593/917/230 590/918/230 586/919/230 587/920/230 -f 596/921/231 595/922/231 594/923/231 597/924/231 -f 598/925/232 597/926/232 594/927/232 599/928/232 -f 602/929/233 601/930/233 600/931/233 603/932/233 -f 605/933/234 604/934/234 598/935/234 606/936/234 -f 601/937/235 608/938/235 607/939/235 600/940/235 -f 602/941/236 603/942/236 609/943/236 610/944/236 -f 610/945/237 609/946/237 607/947/237 608/948/237 -f 592/949/238 588/950/238 589/951/238 591/952/238 -f 613/953/239 612/954/239 611/955/239 614/956/239 -f 617/957/240 616/958/240 615/959/240 618/960/240 -f 620/961/241 619/962/241 616/963/241 617/964/241 -f 621/965/242 618/966/242 615/967/242 622/968/242 -f 625/969/243 624/970/243 623/971/243 626/972/243 -f 620/973/244 621/974/244 622/975/244 619/976/244 -f 624/977/245 628/978/245 627/979/245 623/980/245 -f 625/981/246 626/982/246 629/983/246 630/984/246 -f 630/985/247 629/986/247 627/987/247 628/988/247 -f 574/989/248 571/990/248 553/991/248 557/992/248 -f 626/993/249 623/994/249 588/995/249 592/996/249 -f 574/997/250 557/998/250 558/999/250 580/1000/250 -f 580/1001/251 558/1002/251 552/1003/251 578/1004/251 -f 554/1005/252 551/1006/252 631/1007/252 548/1008/252 -f 571/1009/253 578/1010/253 552/1011/253 553/1012/253 -f 556/1013/254 554/1014/254 548/1015/254 549/1016/254 -f 556/1017/255 549/1018/255 632/1019/255 555/1020/255 -f 555/1021/256 632/1022/256 631/1023/256 551/1024/256 -f 603/1025/257 600/1026/257 561/1027/257 633/1028/257 -f 635/1029/258 634/1030/258 575/1031/258 576/1032/258 -f 603/1033/259 633/1034/259 564/1035/259 609/1036/259 -f 609/1037/260 564/1038/260 560/1039/260 607/1040/260 -f 633/1041/261 636/1042/261 563/1043/261 564/1044/261 -f 577/1045/262 637/1046/262 566/1047/262 567/1048/262 -f 583/1049/263 567/1050/263 568/1051/263 582/1052/263 -f 576/1053/264 577/1054/264 567/1055/264 583/1056/264 -f 570/1057/265 565/1058/265 579/1059/265 572/1060/265 -f 575/1061/266 582/1062/266 568/1063/266 569/1064/266 -f 577/1065/267 569/1066/267 570/1067/267 637/1068/267 -f 637/1069/268 570/1070/268 572/1071/268 573/1072/268 -f 637/1073/269 573/1074/269 581/1075/269 566/1076/269 -f 566/1077/270 581/1078/270 579/1079/270 565/1080/270 -f 562/1081/271 559/1082/271 585/1083/271 634/1084/271 -f 600/1085/272 607/1086/272 560/1087/272 561/1088/272 -f 633/1089/273 561/1090/273 562/1091/273 636/1092/273 -f 636/1093/274 562/1094/274 634/1095/274 635/1096/274 -f 636/1097/275 635/1098/275 584/1099/275 563/1100/275 -f 563/1101/276 584/1102/276 585/1103/276 559/1104/276 -f 634/1105/277 585/1106/277 582/1107/277 575/1108/277 -f 635/1109/278 576/1110/278 583/1111/278 584/1112/278 -f 639/1113/279 638/1114/279 604/1115/279 605/1116/279 -f 626/1117/280 592/1118/280 593/1119/280 629/1120/280 -f 629/1121/281 593/1122/281 587/1123/281 627/1124/281 -f 606/1125/282 640/1126/282 595/1127/282 596/1128/282 -f 612/1129/283 596/1130/283 597/1131/283 611/1132/283 -f 605/1133/284 606/1134/284 596/1135/284 612/1136/284 -f 599/1137/285 594/1138/285 608/1139/285 601/1140/285 -f 604/1141/286 611/1142/286 597/1143/286 598/1144/286 -f 606/1145/287 598/1146/287 599/1147/287 640/1148/287 -f 640/1149/288 599/1150/288 601/1151/288 602/1152/288 -f 640/1153/289 602/1154/289 610/1155/289 595/1156/289 -f 595/1157/290 610/1158/290 608/1159/290 594/1160/290 -f 589/1161/291 586/1162/291 614/1163/291 638/1164/291 -f 623/1165/292 627/1166/292 587/1167/292 588/1168/292 -f 591/1169/293 589/1170/293 638/1171/293 639/1172/293 -f 591/1173/294 639/1174/294 613/1175/294 590/1176/294 -f 590/1177/295 613/1178/295 614/1179/295 586/1180/295 -f 638/1181/296 614/1182/296 611/1183/296 604/1184/296 -f 639/1185/297 605/1186/297 612/1187/297 613/1188/297 -f 641/1189/298 617/1190/298 618/1191/298 642/1192/298 -f 643/1193/299 620/1194/299 617/1195/299 641/1196/299 -f 643/1197/300 644/1198/300 621/1199/300 620/1200/300 -f 622/1201/301 615/1202/301 628/1203/301 624/1204/301 -f 644/1205/302 642/1206/302 618/1207/302 621/1208/302 -f 619/1209/303 622/1210/303 624/1211/303 625/1212/303 -f 619/1213/304 625/1214/304 630/1215/304 616/1216/304 -f 616/1217/305 630/1218/305 628/1219/305 615/1220/305 -f 646/1221/306 645/1222/306 644/1223/306 643/1224/306 -f 645/1225/307 647/1226/307 642/1227/307 644/1228/307 -f 646/1229/308 643/1230/308 641/1231/308 648/1232/308 -f 648/1233/309 641/1234/309 642/1235/309 647/1236/309 -f 649/1237/310 550/1238/310 547/1239/310 650/1240/310 -f 650/1241/311 547/1242/311 548/1243/311 631/1244/311 -f 549/1245/312 550/1246/312 649/1247/312 632/1248/312 -f 632/1249/313 649/1250/313 650/1251/313 631/1252/313 -f 653/1253/314 652/1254/314 651/1255/314 654/1256/314 -f 655/1257/315 654/1258/315 651/1259/315 656/1260/315 -f 659/1261/316 658/1262/316 657/1263/316 660/1264/316 -f 658/1265/317 662/1266/317 661/1267/317 657/1268/317 -f 659/1269/318 660/1270/318 663/1271/318 664/1272/318 -f 664/1273/319 663/1274/319 661/1275/319 662/1276/319 -f 666/1277/320 665/1278/320 652/1279/320 653/1280/320 -f 667/1281/321 653/1282/321 654/1283/321 668/1284/321 -f 669/1285/322 666/1286/322 653/1287/322 667/1288/322 -f 669/1289/323 670/1290/323 655/1291/323 666/1292/323 -f 656/1293/324 651/1294/324 662/1295/324 658/1296/324 -f 670/1297/325 668/1298/325 654/1299/325 655/1300/325 -f 666/1301/326 655/1302/326 656/1303/326 665/1304/326 -f 665/1305/327 656/1306/327 658/1307/327 659/1308/327 -f 665/1309/328 659/1310/328 664/1311/328 652/1312/328 -f 662/1313/329 651/1314/329 652/1315/329 664/1316/329 -f 672/1317/330 671/1318/330 670/1319/330 669/1320/330 -f 671/1321/331 673/1322/331 668/1323/331 670/1324/331 -f 672/1325/332 669/1326/332 667/1327/332 674/1328/332 -f 674/1329/333 667/1330/333 668/1331/333 673/1332/333 -f 657/1333/334 661/1334/334 663/1335/334 660/1336/334 -f 678/1337/335 677/1338/335 676/1339/335 679/1340/335 -f 682/1341/336 681/1342/336 680/1343/336 683/1344/336 -f 686/1345/337 685/1346/337 684/1347/337 687/1348/337 -f 690/1349/338 689/1350/338 688/1351/338 691/1352/338 -f 694/1353/339 693/1354/339 692/1355/339 695/1356/339 -f 698/1357/340 697/1358/340 696/1359/340 699/1360/340 -f 702/1361/341 701/1362/341 700/1363/341 703/1364/341 -f 706/1365/342 705/1366/342 704/1367/342 707/1368/342 -f 710/1369/343 709/1370/343 708/1371/343 711/1372/343 -f 714/1373/344 713/1374/344 712/1375/344 715/1376/344 -f 718/1377/345 717/1378/345 716/1379/345 719/1380/345 -f 722/1381/346 721/1382/346 720/1383/346 723/1384/346 -f 726/1385/347 725/1386/347 724/1387/347 727/1388/347 -f 730/1389/348 729/1390/348 728/1391/348 731/1392/348 -f 734/1393/349 733/1394/349 732/1395/349 735/1396/349 -f 738/1397/350 737/1398/350 736/1399/350 739/1400/350 -f 742/1401/351 741/1402/351 740/1403/351 743/1404/351 -f 746/1405/352 745/1406/352 744/1407/352 747/1408/352 -f 750/1409/353 749/1410/353 748/1411/353 751/1412/353 -f 754/1413/354 753/1414/354 752/1415/354 755/1416/354 -f 758/1417/355 757/1418/355 756/1419/355 759/1420/355 -f 762/1421/356 761/1422/356 760/1423/356 763/1424/356 -f 766/1425/357 765/1426/357 764/1427/357 767/1428/357 -f 770/1429/358 769/1430/358 768/1431/358 771/1432/358 -f 774/1433/359 773/1434/359 772/1435/359 775/1436/359 -f 778/1437/360 777/1438/360 776/1439/360 779/1440/360 -f 782/1441/361 781/1442/361 780/1443/361 783/1444/361 -f 786/1445/362 785/1446/362 784/1447/362 787/1448/362 -f 790/1449/363 789/1450/363 788/1451/363 791/1452/363 -f 794/1453/364 793/1454/364 792/1455/364 795/1456/364 -f 798/1457/365 797/1458/365 796/1459/365 799/1460/365 -f 802/1461/366 801/1462/366 800/1463/366 803/1464/366 -f 806/1465/367 805/1466/367 804/1467/367 807/1468/367 -f 810/1469/368 809/1470/368 808/1471/368 811/1472/368 -f 814/1473/369 813/1474/369 812/1475/369 815/1476/369 -f 818/1477/370 817/1478/370 816/1479/370 819/1480/370 -f 822/1481/371 821/1482/371 820/1483/371 823/1484/371 -f 826/1485/372 825/1486/372 824/1487/372 827/1488/372 -f 830/1489/373 829/1490/373 828/1491/373 831/1492/373 -f 834/1493/374 833/1494/374 832/1495/374 835/1496/374 -f 838/1497/375 837/1498/375 836/1499/375 839/1500/375 -f 842/1501/376 841/1502/376 840/1503/376 843/1504/376 -f 846/1505/377 845/1506/377 844/1507/377 847/1508/377 -f 850/1509/378 849/1510/378 848/1511/378 851/1512/378 -f 854/1513/379 853/1514/379 852/1515/379 855/1516/379 -f 858/1517/380 857/1518/380 856/1519/380 859/1520/380 -f 862/1521/381 861/1522/381 860/1523/381 863/1524/381 -f 866/1525/382 865/1526/382 864/1527/382 867/1528/382 -f 870/1529/383 869/1530/383 868/1531/383 871/1532/383 -f 874/1533/384 873/1534/384 872/1535/384 875/1536/384 -f 878/1537/385 877/1538/385 876/1539/385 879/1540/385 -f 882/1541/386 881/1542/386 880/1543/386 883/1544/386 -f 886/1545/387 885/1546/387 884/1547/387 887/1548/387 -f 890/1549/388 889/1550/388 888/1551/388 891/1552/388 -f 894/1553/389 893/1554/389 892/1555/389 895/1556/389 -f 898/1557/390 897/1558/390 896/1559/390 899/1560/390 -f 902/1561/391 901/1562/391 900/1563/391 903/1564/391 -f 906/1565/392 905/1566/392 904/1567/392 907/1568/392 -f 910/1569/393 909/1570/393 908/1571/393 911/1572/393 -f 914/1573/394 913/1574/394 912/1575/394 915/1576/394 -f 918/1577/395 917/1578/395 916/1579/395 919/1580/395 -f 922/1581/396 921/1582/396 920/1583/396 923/1584/396 -f 926/1585/397 925/1586/397 924/1587/397 927/1588/397 -f 930/1589/398 929/1590/398 928/1591/398 931/1592/398 -f 934/1593/399 933/1594/399 932/1595/399 935/1596/399 -f 938/1597/400 937/1598/400 936/1599/400 939/1600/400 -f 942/1601/401 941/1602/401 940/1603/401 943/1604/401 -f 946/1605/402 945/1606/402 944/1607/402 947/1608/402 -f 950/1609/403 949/1610/403 948/1611/403 951/1612/403 -f 954/1613/404 953/1614/404 952/1615/404 955/1616/404 -f 958/1617/405 957/1618/405 956/1619/405 959/1620/405 -f 962/1621/406 961/1622/406 960/1623/406 963/1624/406 -f 966/1625/407 965/1626/407 964/1627/407 967/1628/407 -f 970/1629/408 969/1630/408 968/1631/408 971/1632/408 -f 974/1633/409 973/1634/409 972/1635/409 975/1636/409 -f 978/1637/410 977/1638/410 976/1639/410 979/1640/410 -f 982/1641/411 981/1642/411 980/1643/411 983/1644/411 -f 986/1645/412 985/1646/412 984/1647/412 987/1648/412 -f 990/1649/413 989/1650/413 988/1651/413 991/1652/413 -f 994/1653/414 993/1654/414 992/1655/414 995/1656/414 -f 997/1657/415 996/1658/415 675/1659/415 998/1660/415 -f 1001/1661/416 1000/1662/416 999/1663/416 1002/1664/416 -f 1005/1665/417 1004/1666/417 1003/1667/417 1006/1668/417 -f 1009/1669/418 1008/1670/418 1007/1671/418 1010/1672/418 -f 1013/1673/419 1012/1674/419 1011/1675/419 1014/1676/419 -f 1017/1677/420 1016/1678/420 1015/1679/420 1018/1680/420 -f 1021/1681/421 1020/1682/421 1019/1683/421 1022/1684/421 -f 1025/1685/422 1024/1686/422 1023/1687/422 1026/1688/422 -f 1029/1689/423 1028/1690/423 1027/1691/423 1030/1692/423 -f 1033/1693/424 1032/1694/424 1031/1695/424 1034/1696/424 -f 1037/1697/425 1036/1698/425 1035/1699/425 1038/1700/425 -f 1041/1701/426 1040/1702/426 1039/1703/426 1042/1704/426 -f 1045/1705/427 1044/1706/427 1043/1707/427 1046/1708/427 -f 1049/1709/428 1048/1710/428 1047/1711/428 1050/1712/428 -f 1053/1713/429 1052/1714/429 1051/1715/429 1054/1716/429 -f 1057/1717/430 1056/1718/430 1055/1719/430 1058/1720/430 -f 1061/1721/431 1060/1722/431 1059/1723/431 1062/1724/431 -f 1065/1725/432 1064/1726/432 1063/1727/432 1066/1728/432 -f 1069/1729/433 1068/1730/433 1067/1731/433 1070/1732/433 -f 1073/1733/434 1072/1734/434 1071/1735/434 1074/1736/434 -f 1077/1737/435 1076/1738/435 1075/1739/435 1078/1740/435 -f 1080/1741/436 1079/1742/436 2/1743/436 1081/1744/436 -f 1084/1745/437 1083/1746/437 1082/1747/437 1085/1748/437 -f 1088/1749/438 1087/1750/438 1086/1751/438 1089/1752/438 -f 1092/1753/439 1091/1754/439 1090/1755/439 1093/1756/439 -f 1096/1757/440 1095/1758/440 1094/1759/440 1097/1760/440 -f 1100/1761/441 1099/1762/441 1098/1763/441 1101/1764/441 -f 1104/1765/442 1103/1766/442 1102/1767/442 1105/1768/442 -f 1108/1769/443 1107/1770/443 1106/1771/443 1109/1772/443 -f 1112/1773/444 1111/1774/444 1110/1775/444 1113/1776/444 -f 1116/1777/445 1115/1778/445 1114/1779/445 1117/1780/445 -f 1120/1781/446 1119/1782/446 1118/1783/446 1121/1784/446 -f 1124/1785/447 1123/1786/447 1122/1787/447 1125/1788/447 -f 1128/1789/448 1127/1790/448 1126/1791/448 1129/1792/448 -f 1132/1793/449 1131/1794/449 1130/1795/449 1133/1796/449 -f 1136/1797/450 1135/1798/450 1134/1799/450 1137/1800/450 -f 1140/1801/451 1139/1802/451 1138/1803/451 1141/1804/451 -f 1144/1805/452 1143/1806/452 1142/1807/452 1145/1808/452 -f 1148/1809/453 1147/1810/453 1146/1811/453 1149/1812/453 -f 1152/1813/454 1151/1814/454 1150/1815/454 1153/1816/454 -f 1156/1817/455 1155/1818/455 1154/1819/455 1157/1820/455 -f 1160/1821/456 1159/1822/456 1158/1823/456 1161/1824/456 -f 1156/1825/457 1157/1826/457 1162/1827/457 1163/1828/457 -f 1163/1829/458 1162/1830/458 1164/1831/458 1165/1832/458 -f 1167/1833/459 1166/1834/459 1154/1835/459 1164/1836/459 -f 1157/1837/460 1169/1838/460 1168/1839/460 1162/1840/460 -f 1162/1841/461 1168/1842/461 1167/1843/461 1164/1844/461 -f 1164/1845/462 1154/1846/462 1155/1847/462 1165/1848/462 -f 1157/1849/463 1154/1850/463 1166/1851/463 1169/1852/463 -f 1159/1853/464 1171/1854/464 1170/1855/464 1158/1856/464 -f 1160/1857/465 1161/1858/465 1172/1859/465 1173/1860/465 -f 1173/1861/466 1172/1862/466 1170/1863/466 1171/1864/466 -f 1166/1865/467 1167/1866/467 1171/1867/467 1159/1868/467 -f 1169/1869/468 1166/1870/468 1159/1871/468 1160/1872/468 -f 1169/1873/469 1160/1874/469 1173/1875/469 1168/1876/469 -f 1168/1877/470 1173/1878/470 1171/1879/470 1167/1880/470 -f 1156/1881/471 1163/1882/471 1165/1883/471 1155/1884/471 -f 1176/1885/472 1175/1886/472 1174/1887/472 1177/1888/472 -f 1180/1889/473 1179/1890/473 1178/1891/473 1181/1892/473 -f 1184/1893/474 1183/1894/474 1182/1895/474 1185/1896/474 -f 1188/1897/475 1187/1898/475 1186/1899/475 1189/1900/475 -f 1192/1901/476 1191/1902/476 1190/1903/476 1193/1904/476 -f 1196/1905/477 1195/1906/477 1194/1907/477 1197/1908/477 -f 1200/1909/478 1199/1910/478 1198/1911/478 1201/1912/478 -f 1204/1913/479 1203/1914/479 1202/1915/479 1205/1916/479 -f 1208/1917/480 1207/1918/480 1206/1919/480 1209/1920/480 -f 1212/1921/481 1211/1922/481 1210/1923/481 1213/1924/481 -f 1216/1925/482 1215/1926/482 1214/1927/482 1217/1928/482 -f 1220/1929/483 1219/1930/483 1218/1931/483 1221/1932/483 -f 1224/1933/484 1223/1934/484 1222/1935/484 1225/1936/484 -f 1228/1937/485 1227/1938/485 1226/1939/485 1229/1940/485 -f 1232/1941/486 1231/1942/486 1230/1943/486 1233/1944/486 -f 1236/1945/487 1235/1946/487 1234/1947/487 1237/1948/487 -f 1240/1949/488 1239/1950/488 1238/1951/488 1241/1952/488 -f 1244/1953/489 1243/1954/489 1242/1955/489 1245/1956/489 -f 1248/1957/490 1247/1958/490 1246/1959/490 1249/1960/490 -f 1249/1961/491 1246/1962/491 1242/1963/491 1243/1964/491 -f 1248/1965/492 1244/1966/492 1245/1967/492 1247/1968/492 -f 1252/1969/493 1251/1970/493 1250/1971/493 1253/1972/493 -f 1255/1973/494 1254/1974/494 1250/1975/494 1251/1976/494 -f 1258/1977/495 1257/1978/495 1256/1979/495 1259/1980/495 -f 1260/1981/496 1259/1982/496 1256/1983/496 1261/1984/496 -f 1264/1985/497 1263/1986/497 1262/1987/497 1265/1988/497 -f 1267/1989/498 1266/1990/498 1260/1991/498 1268/1992/498 -f 1263/1993/499 1270/1994/499 1269/1995/499 1262/1996/499 -f 1264/1997/500 1265/1998/500 1271/1999/500 1272/2000/500 -f 1272/2001/501 1271/2002/501 1269/2003/501 1270/2004/501 -f 1275/2005/502 1274/2006/502 1273/2007/502 1276/2008/502 -f 1279/2009/503 1278/2010/503 1277/2011/503 1280/2012/503 -f 1283/2013/504 1282/2014/504 1281/2015/504 1284/2016/504 -f 1284/2017/505 1281/2018/505 1277/2019/505 1278/2020/505 -f 1287/2021/506 1286/2022/506 1285/2023/506 1288/2024/506 -f 1289/2025/507 1288/2026/507 1285/2027/507 1290/2028/507 -f 1293/2029/508 1292/2030/508 1291/2031/508 1294/2032/508 -f 1296/2033/509 1295/2034/509 1289/2035/509 1297/2036/509 -f 1292/2037/510 1299/2038/510 1298/2039/510 1291/2040/510 -f 1293/2041/511 1294/2042/511 1300/2043/511 1301/2044/511 -f 1301/2045/512 1300/2046/512 1298/2047/512 1299/2048/512 -f 1283/2049/513 1279/2050/513 1280/2051/513 1282/2052/513 -f 1304/2053/514 1303/2054/514 1302/2055/514 1305/2056/514 -f 1308/2057/515 1307/2058/515 1306/2059/515 1309/2060/515 -f 1311/2061/516 1310/2062/516 1307/2063/516 1308/2064/516 -f 1312/2065/517 1309/2066/517 1306/2067/517 1313/2068/517 -f 1316/2069/518 1315/2070/518 1314/2071/518 1317/2072/518 -f 1311/2073/519 1312/2074/519 1313/2075/519 1310/2076/519 -f 1315/2077/520 1319/2078/520 1318/2079/520 1314/2080/520 -f 1316/2081/521 1317/2082/521 1320/2083/521 1321/2084/521 -f 1321/2085/522 1320/2086/522 1318/2087/522 1319/2088/522 -f 1265/2089/523 1262/2090/523 1244/2091/523 1248/2092/523 -f 1317/2093/524 1314/2094/524 1279/2095/524 1283/2096/524 -f 1265/2097/525 1248/2098/525 1249/2099/525 1271/2100/525 -f 1271/2101/526 1249/2102/526 1243/2103/526 1269/2104/526 -f 1245/2105/527 1242/2106/527 1322/2107/527 1239/2108/527 -f 1262/2109/528 1269/2110/528 1243/2111/528 1244/2112/528 -f 1247/2113/529 1245/2114/529 1239/2115/529 1240/2116/529 -f 1247/2117/530 1240/2118/530 1323/2119/530 1246/2120/530 -f 1246/2121/531 1323/2122/531 1322/2123/531 1242/2124/531 -f 1294/2125/532 1291/2126/532 1252/2127/532 1324/2128/532 -f 1326/2129/533 1325/2130/533 1266/2131/533 1267/2132/533 -f 1294/2133/534 1324/2134/534 1255/2135/534 1300/2136/534 -f 1300/2137/535 1255/2138/535 1251/2139/535 1298/2140/535 -f 1324/2141/536 1327/2142/536 1254/2143/536 1255/2144/536 -f 1268/2145/537 1328/2146/537 1257/2147/537 1258/2148/537 -f 1274/2149/538 1258/2150/538 1259/2151/538 1273/2152/538 -f 1267/2153/539 1268/2154/539 1258/2155/539 1274/2156/539 -f 1261/2157/540 1256/2158/540 1270/2159/540 1263/2160/540 -f 1266/2161/541 1273/2162/541 1259/2163/541 1260/2164/541 -f 1268/2165/542 1260/2166/542 1261/2167/542 1328/2168/542 -f 1328/2169/543 1261/2170/543 1263/2171/543 1264/2172/543 -f 1328/2173/544 1264/2174/544 1272/2175/544 1257/2176/544 -f 1257/2177/545 1272/2178/545 1270/2179/545 1256/2180/545 -f 1253/2181/546 1250/2182/546 1276/2183/546 1325/2184/546 -f 1291/2185/547 1298/2186/547 1251/2187/547 1252/2188/547 -f 1324/2189/548 1252/2190/548 1253/2191/548 1327/2192/548 -f 1327/2193/549 1253/2194/549 1325/2195/549 1326/2196/549 -f 1327/2197/550 1326/2198/550 1275/2199/550 1254/2200/550 -f 1254/2201/551 1275/2202/551 1276/2203/551 1250/2204/551 -f 1325/2205/552 1276/2206/552 1273/2207/552 1266/2208/552 -f 1326/2209/553 1267/2210/553 1274/2211/553 1275/2212/553 -f 1330/2213/554 1329/2214/554 1295/2215/554 1296/2216/554 -f 1317/2217/555 1283/2218/555 1284/2219/555 1320/2220/555 -f 1320/2221/556 1284/2222/556 1278/2223/556 1318/2224/556 -f 1297/2225/557 1331/2226/557 1286/2227/557 1287/2228/557 -f 1303/2229/558 1287/2230/558 1288/2231/558 1302/2232/558 -f 1296/2233/559 1297/2234/559 1287/2235/559 1303/2236/559 -f 1290/2237/560 1285/2238/560 1299/2239/560 1292/2240/560 -f 1295/2241/561 1302/2242/561 1288/2243/561 1289/2244/561 -f 1297/2245/562 1289/2246/562 1290/2247/562 1331/2248/562 -f 1331/2249/563 1290/2250/563 1292/2251/563 1293/2252/563 -f 1331/2253/564 1293/2254/564 1301/2255/564 1286/2256/564 -f 1286/2257/565 1301/2258/565 1299/2259/565 1285/2260/565 -f 1280/2261/566 1277/2262/566 1305/2263/566 1329/2264/566 -f 1314/2265/567 1318/2266/567 1278/2267/567 1279/2268/567 -f 1282/2269/568 1280/2270/568 1329/2271/568 1330/2272/568 -f 1282/2273/569 1330/2274/569 1304/2275/569 1281/2276/569 -f 1281/2277/570 1304/2278/570 1305/2279/570 1277/2280/570 -f 1329/2281/571 1305/2282/571 1302/2283/571 1295/2284/571 -f 1330/2285/572 1296/2286/572 1303/2287/572 1304/2288/572 -f 1332/2289/573 1308/2290/573 1309/2291/573 1333/2292/573 -f 1334/2293/574 1311/2294/574 1308/2295/574 1332/2296/574 -f 1334/2297/575 1335/2298/575 1312/2299/575 1311/2300/575 -f 1313/2301/576 1306/2302/576 1319/2303/576 1315/2304/576 -f 1335/2305/577 1333/2306/577 1309/2307/577 1312/2308/577 -f 1310/2309/578 1313/2310/578 1315/2311/578 1316/2312/578 -f 1310/2313/579 1316/2314/579 1321/2315/579 1307/2316/579 -f 1307/2317/580 1321/2318/580 1319/2319/580 1306/2320/580 -f 1337/2321/581 1336/2322/581 1335/2323/581 1334/2324/581 -f 1336/2325/582 1338/2326/582 1333/2327/582 1335/2328/582 -f 1337/2329/583 1334/2330/583 1332/2331/583 1339/2332/583 -f 1339/2333/584 1332/2334/584 1333/2335/584 1338/2336/584 -f 1340/2337/585 1241/2338/585 1238/2339/585 1341/2340/585 -f 1341/2341/586 1238/2342/586 1239/2343/586 1322/2344/586 -f 1240/2345/587 1241/2346/587 1340/2347/587 1323/2348/587 -f 1323/2349/588 1340/2350/588 1341/2351/588 1322/2352/588 -f 1344/2353/589 1343/2354/589 1342/2355/589 1345/2356/589 -f 1346/2357/590 1345/2358/590 1342/2359/590 1347/2360/590 -f 1350/2361/591 1349/2362/591 1348/2363/591 1351/2364/591 -f 1349/2365/592 1353/2366/592 1352/2367/592 1348/2368/592 -f 1350/2369/593 1351/2370/593 1354/2371/593 1355/2372/593 -f 1355/2373/594 1354/2374/594 1352/2375/594 1353/2376/594 -f 1357/2377/595 1356/2378/595 1343/2379/595 1344/2380/595 -f 1358/2381/596 1344/2382/596 1345/2383/596 1359/2384/596 -f 1360/2385/597 1357/2386/597 1344/2387/597 1358/2388/597 -f 1360/2389/598 1361/2390/598 1346/2391/598 1357/2392/598 -f 1347/2393/599 1342/2394/599 1353/2395/599 1349/2396/599 -f 1361/2397/600 1359/2398/600 1345/2399/600 1346/2400/600 -f 1357/2401/601 1346/2402/601 1347/2403/601 1356/2404/601 -f 1356/2405/602 1347/2406/602 1349/2407/602 1350/2408/602 -f 1356/2409/603 1350/2410/603 1355/2411/603 1343/2412/603 -f 1353/2413/604 1342/2414/604 1343/2415/604 1355/2416/604 -f 1363/2417/605 1362/2418/605 1361/2419/605 1360/2420/605 -f 1362/2421/606 1364/2422/606 1359/2423/606 1361/2424/606 -f 1363/2425/607 1360/2426/607 1358/2427/607 1365/2428/607 -f 1365/2429/608 1358/2430/608 1359/2431/608 1364/2432/608 -f 1348/2433/609 1352/2434/609 1354/2435/609 1351/2436/609 -f 1369/2437/610 1368/2438/610 1367/2439/610 1370/2440/610 -f 1373/2441/611 1372/2442/611 1371/2443/611 1374/2444/611 -f 1377/2445/612 1376/2446/612 1375/2447/612 1378/2448/612 -f 1381/2449/613 1380/2450/613 1379/2451/613 1382/2452/613 -f 1385/2453/614 1384/2454/614 1383/2455/614 1386/2456/614 -f 1389/2457/615 1388/2458/615 1387/2459/615 1390/2460/615 -f 1393/2461/616 1392/2462/616 1391/2463/616 1394/2464/616 -f 1397/2465/617 1396/2466/617 1395/2467/617 1398/2468/617 -f 1401/2469/618 1400/2470/618 1399/2471/618 1402/2472/618 -f 1405/2473/619 1404/2474/619 1403/2475/619 1406/2476/619 -f 1409/2477/620 1408/2478/620 1407/2479/620 1410/2480/620 -f 1413/2481/621 1412/2482/621 1411/2483/621 1414/2484/621 -f 1417/2485/622 1416/2486/622 1415/2487/622 1418/2488/622 -f 1421/2489/623 1420/2490/623 1419/2491/623 1422/2492/623 -f 1425/2493/624 1424/2494/624 1423/2495/624 1426/2496/624 -f 1429/2497/625 1428/2498/625 1427/2499/625 1430/2500/625 -f 1433/2501/626 1432/2502/626 1431/2503/626 1434/2504/626 -f 1437/2505/627 1436/2506/627 1435/2507/627 1438/2508/627 -f 1441/2509/628 1440/2510/628 1439/2511/628 1442/2512/628 -f 1445/2513/629 1444/2514/629 1443/2515/629 1446/2516/629 -f 1449/2517/630 1448/2518/630 1447/2519/630 1450/2520/630 -f 1453/2521/631 1452/2522/631 1451/2523/631 1454/2524/631 -f 1457/2525/632 1456/2526/632 1455/2527/632 1458/2528/632 -f 1461/2529/633 1460/2530/633 1459/2531/633 1462/2532/633 -f 1465/2533/634 1464/2534/634 1463/2535/634 1466/2536/634 -f 1469/2537/635 1468/2538/635 1467/2539/635 1470/2540/635 -f 1473/2541/636 1472/2542/636 1471/2543/636 1474/2544/636 -f 1477/2545/637 1476/2546/637 1475/2547/637 1478/2548/637 -f 1481/2549/638 1480/2550/638 1479/2551/638 1482/2552/638 -f 1485/2553/639 1484/2554/639 1483/2555/639 1486/2556/639 -f 1489/2557/640 1488/2558/640 1487/2559/640 1490/2560/640 -f 1493/2561/641 1492/2562/641 1491/2563/641 1494/2564/641 -f 1497/2565/642 1496/2566/642 1495/2567/642 1498/2568/642 -f 1501/2569/643 1500/2570/643 1499/2571/643 1502/2572/643 -f 1505/2573/644 1504/2574/644 1503/2575/644 1506/2576/644 -f 1509/2577/645 1508/2578/645 1507/2579/645 1510/2580/645 -f 1513/2581/646 1512/2582/646 1511/2583/646 1514/2584/646 -f 1517/2585/647 1516/2586/647 1515/2587/647 1518/2588/647 -f 1521/2589/648 1520/2590/648 1519/2591/648 1522/2592/648 -f 1525/2593/649 1524/2594/649 1523/2595/649 1526/2596/649 -f 1529/2597/650 1528/2598/650 1527/2599/650 1530/2600/650 -f 1533/2601/651 1532/2602/651 1531/2603/651 1534/2604/651 -f 1537/2605/652 1536/2606/652 1535/2607/652 1538/2608/652 -f 1541/2609/653 1540/2610/653 1539/2611/653 1542/2612/653 -f 1545/2613/654 1544/2614/654 1543/2615/654 1546/2616/654 -f 1549/2617/655 1548/2618/655 1547/2619/655 1550/2620/655 -f 1553/2621/656 1552/2622/656 1551/2623/656 1554/2624/656 -f 1557/2625/657 1556/2626/657 1555/2627/657 1558/2628/657 -f 1561/2629/658 1560/2630/658 1559/2631/658 1562/2632/658 -f 1565/2633/659 1564/2634/659 1563/2635/659 1566/2636/659 -f 1569/2637/660 1568/2638/660 1567/2639/660 1570/2640/660 -f 1573/2641/661 1572/2642/661 1571/2643/661 1574/2644/661 -f 1577/2645/662 1576/2646/662 1575/2647/662 1578/2648/662 -f 1581/2649/663 1580/2650/663 1579/2651/663 1582/2652/663 -f 1585/2653/664 1584/2654/664 1583/2655/664 1586/2656/664 -f 1589/2657/665 1588/2658/665 1587/2659/665 1590/2660/665 -f 1593/2661/666 1592/2662/666 1591/2663/666 1594/2664/666 -f 1597/2665/667 1596/2666/667 1595/2667/667 1598/2668/667 -f 1601/2669/668 1600/2670/668 1599/2671/668 1602/2672/668 -f 1605/2673/669 1604/2674/669 1603/2675/669 1606/2676/669 -f 1609/2677/670 1608/2678/670 1607/2679/670 1610/2680/670 -f 1613/2681/671 1612/2682/671 1611/2683/671 1614/2684/671 -f 1617/2685/672 1616/2686/672 1615/2687/672 1618/2688/672 -f 1621/2689/673 1620/2690/673 1619/2691/673 1622/2692/673 -f 1625/2693/674 1624/2694/674 1623/2695/674 1626/2696/674 -f 1629/2697/675 1628/2698/675 1627/2699/675 1630/2700/675 -f 1633/2701/676 1632/2702/676 1631/2703/676 1634/2704/676 -f 1637/2705/677 1636/2706/677 1635/2707/677 1638/2708/677 -f 1641/2709/678 1640/2710/678 1639/2711/678 1642/2712/678 -f 1645/2713/679 1644/2714/679 1643/2715/679 1646/2716/679 -f 1/2717/680 1648/2718/680 1647/2719/680 1649/2720/680 -f 1652/2721/681 1651/2722/681 1650/2723/681 1653/2724/681 -f 1656/2725/682 1655/2726/682 1654/2727/682 1657/2728/682 -f 1660/2729/683 1659/2730/683 1658/2731/683 1661/2732/683 -f 1664/2733/684 1663/2734/684 1662/2735/684 1665/2736/684 -f 1668/2737/685 1667/2738/685 1666/2739/685 1669/2740/685 -f 1672/2741/686 1671/2742/686 1670/2743/686 1673/2744/686 -f 1676/2745/687 1675/2746/687 1674/2747/687 1677/2748/687 -f 1680/2749/688 1679/2750/688 1678/2751/688 1681/2752/688 -f 1684/2753/689 1683/2754/689 1682/2755/689 1685/2756/689 -f 1687/2757/690 1686/2758/690 1366/2759/690 1688/2760/690 -f 1691/2761/691 1690/2762/691 1689/2763/691 1692/2764/691 -f 1695/2765/692 1694/2766/692 1693/2767/692 1696/2768/692 -f 1699/2769/693 1698/2770/693 1697/2771/693 1700/2772/693 -f 1703/2773/694 1702/2774/694 1701/2775/694 1704/2776/694 -f 1707/2777/695 1706/2778/695 1705/2779/695 1708/2780/695 -f 1711/2781/696 1710/2782/696 1709/2783/696 1712/2784/696 -f 1715/2785/697 1714/2786/697 1713/2787/697 1716/2788/697 -f 1719/2789/698 1718/2790/698 1717/2791/698 1720/2792/698 -f 1723/2793/699 1722/2794/699 1721/2795/699 1724/2796/699 -f 1727/2797/700 1726/2798/700 1725/2799/700 1728/2800/700 -f 1731/2801/701 1730/2802/701 1729/2803/701 1732/2804/701 -f 1735/2805/702 1734/2806/702 1733/2807/702 1736/2808/702 -f 1739/2809/703 1738/2810/703 1737/2811/703 1740/2812/703 -f 1743/2813/704 1742/2814/704 1741/2815/704 1744/2816/704 -f 1747/2817/705 1746/2818/705 1745/2819/705 1748/2820/705 -f 1751/2821/706 1750/2822/706 1749/2823/706 1752/2824/706 -f 1755/2825/707 1754/2826/707 1753/2827/707 1756/2828/707 -f 1759/2829/708 1758/2830/708 1757/2831/708 1760/2832/708 -f 1763/2833/709 1762/2834/709 1761/2835/709 1764/2836/709 -f 1767/2837/710 1766/2838/710 1765/2839/710 1768/2840/710 -f 1771/2841/711 1770/2842/711 1769/2843/711 1772/2844/711 -f 1775/2845/712 1774/2846/712 1773/2847/712 1776/2848/712 -f 1779/2849/713 1778/2850/713 1777/2851/713 1780/2852/713 -f 1783/2853/714 1782/2854/714 1781/2855/714 1784/2856/714 -f 1787/2857/715 1786/2858/715 1785/2859/715 1788/2860/715 -f 1791/2861/716 1790/2862/716 1789/2863/716 1792/2864/716 -f 1795/2865/717 1794/2866/717 1793/2867/717 1796/2868/717 -f 1799/2869/718 1798/2870/718 1797/2871/718 1800/2872/718 -f 1803/2873/719 1802/2874/719 1801/2875/719 1804/2876/719 -f 1807/2877/720 1806/2878/720 1805/2879/720 1808/2880/720 -f 1811/2881/721 1810/2882/721 1809/2883/721 1812/2884/721 -f 1815/2885/722 1814/2886/722 1813/2887/722 1816/2888/722 -f 1819/2889/723 1818/2890/723 1817/2891/723 1820/2892/723 -f 1823/2893/724 1822/2894/724 1821/2895/724 1824/2896/724 -f 1827/2897/725 1826/2898/725 1825/2899/725 1828/2900/725 -f 1831/2901/726 1830/2902/726 1829/2903/726 1832/2904/726 -f 1835/2905/727 1834/2906/727 1833/2907/727 1836/2908/727 -f 1839/2909/728 1838/2910/728 1837/2911/728 1840/2912/728 -f 1843/2913/729 1842/2914/729 1841/2915/729 1844/2916/729 -f 1847/2917/730 1846/2918/730 1845/2919/730 1848/2920/730 -f 1851/2921/731 1850/2922/731 1849/2923/731 1852/2924/731 -f 1855/2925/732 1854/2926/732 1853/2927/732 1856/2928/732 -f 1859/2929/733 1858/2930/733 1857/2931/733 1860/2932/733 -f 1863/2933/734 1862/2934/734 1861/2935/734 1864/2936/734 -f 1867/2937/735 1866/2938/735 1865/2939/735 1868/2940/735 -f 1871/2941/736 1870/2942/736 1869/2943/736 1872/2944/736 -f 1875/2945/737 1874/2946/737 1873/2947/737 1876/2948/737 -f 1879/2949/738 1878/2950/738 1877/2951/738 1880/2952/738 -f 1883/2953/739 1882/2954/739 1881/2955/739 1884/2956/739 -f 1887/2957/740 1886/2958/740 1885/2959/740 1888/2960/740 -f 1891/2961/741 1890/2962/741 1889/2963/741 1892/2964/741 -f 1895/2965/742 1894/2966/742 1893/2967/742 1896/2968/742 -f 1899/2969/743 1898/2970/743 1897/2971/743 1900/2972/743 -f 1903/2973/744 1902/2974/744 1901/2975/744 1904/2976/744 -f 1907/2977/745 1906/2978/745 1905/2979/745 1908/2980/745 -f 1911/2981/746 1910/2982/746 1909/2983/746 1912/2984/746 -f 1915/2985/747 1914/2986/747 1913/2987/747 1916/2988/747 -f 1919/2989/748 1918/2990/748 1917/2991/748 1920/2992/748 -f 1923/2993/749 1922/2994/749 1921/2995/749 1924/2996/749 -f 1927/2997/750 1926/2998/750 1925/2999/750 1928/3000/750 -f 1931/3001/751 1930/3002/751 1929/3003/751 1932/3004/751 -f 1935/3005/752 1934/3006/752 1933/3007/752 1936/3008/752 -f 1936/3009/753 1933/3010/753 1929/3011/753 1930/3012/753 -f 1935/3013/754 1931/3014/754 1932/3015/754 1934/3016/754 -f 1939/3017/755 1938/3018/755 1937/3019/755 1940/3020/755 -f 1941/3021/756 1940/3022/756 1937/3023/756 1942/3024/756 -f 1945/3025/757 1944/3026/757 1943/3027/757 1946/3028/757 -f 1948/3029/758 1947/3030/758 1941/3031/758 1949/3032/758 -f 1944/3033/759 1951/3034/759 1950/3035/759 1943/3036/759 -f 1945/3037/760 1946/3038/760 1952/3039/760 1953/3040/760 -f 1953/3041/761 1952/3042/761 1950/3043/761 1951/3044/761 -f 1956/3045/762 1955/3046/762 1954/3047/762 1957/3048/762 -f 1946/3049/763 1943/3050/763 1931/3051/763 1935/3052/763 -f 1946/3053/764 1935/3054/764 1936/3055/764 1952/3056/764 -f 1952/3057/765 1936/3058/765 1930/3059/765 1950/3060/765 -f 1932/3061/766 1929/3062/766 1958/3063/766 1926/3064/766 -f 1943/3065/767 1950/3066/767 1930/3067/767 1931/3068/767 -f 1934/3069/768 1932/3070/768 1926/3071/768 1927/3072/768 -f 1934/3073/769 1927/3074/769 1959/3075/769 1933/3076/769 -f 1933/3077/770 1959/3078/770 1958/3079/770 1929/3080/770 -f 1961/3081/771 1960/3082/771 1947/3083/771 1948/3084/771 -f 1949/3085/772 1962/3086/772 1938/3087/772 1939/3088/772 -f 1955/3089/773 1939/3090/773 1940/3091/773 1954/3092/773 -f 1948/3093/774 1949/3094/774 1939/3095/774 1955/3096/774 -f 1942/3097/775 1937/3098/775 1951/3099/775 1944/3100/775 -f 1947/3101/776 1954/3102/776 1940/3103/776 1941/3104/776 -f 1949/3105/777 1941/3106/777 1942/3107/777 1962/3108/777 -f 1962/3109/778 1942/3110/778 1944/3111/778 1945/3112/778 -f 1962/3113/779 1945/3114/779 1953/3115/779 1938/3116/779 -f 1938/3117/780 1953/3118/780 1951/3119/780 1937/3120/780 -f 1960/3121/781 1957/3122/781 1954/3123/781 1947/3124/781 -f 1961/3125/782 1948/3126/782 1955/3127/782 1956/3128/782 -f 1963/3129/783 1928/3130/783 1925/3131/783 1964/3132/783 -f 1964/3133/784 1925/3134/784 1926/3135/784 1958/3136/784 -f 1927/3137/785 1928/3138/785 1963/3139/785 1959/3140/785 -f 1959/3141/786 1963/3142/786 1964/3143/786 1958/3144/786 -f 1967/3145/787 1966/3146/787 1965/3147/787 1968/3148/787 -f 1969/3149/788 1968/3150/788 1965/3151/788 1970/3152/788 -f 1973/3153/789 1972/3154/789 1971/3155/789 1974/3156/789 -f 1972/3157/790 1976/3158/790 1975/3159/790 1971/3160/790 -f 1973/3161/791 1974/3162/791 1977/3163/791 1978/3164/791 -f 1978/3165/792 1977/3166/792 1975/3167/792 1976/3168/792 -f 1980/3169/793 1979/3170/793 1966/3171/793 1967/3172/793 -f 1981/3173/794 1967/3174/794 1968/3175/794 1982/3176/794 -f 1983/3177/795 1980/3178/795 1967/3179/795 1981/3180/795 -f 1983/3181/796 1984/3182/796 1969/3183/796 1980/3184/796 -f 1970/3185/797 1965/3186/797 1976/3187/797 1972/3188/797 -f 1984/3189/798 1982/3190/798 1968/3191/798 1969/3192/798 -f 1980/3193/799 1969/3194/799 1970/3195/799 1979/3196/799 -f 1979/3197/800 1970/3198/800 1972/3199/800 1973/3200/800 -f 1979/3201/801 1973/3202/801 1978/3203/801 1966/3204/801 -f 1976/3205/802 1965/3206/802 1966/3207/802 1978/3208/802 -f 1986/3209/803 1985/3210/803 1984/3211/803 1983/3212/803 -f 1985/3213/804 1987/3214/804 1982/3215/804 1984/3216/804 -f 1986/3217/805 1983/3218/805 1981/3219/805 1988/3220/805 -f 1988/3221/806 1981/3222/806 1982/3223/806 1987/3224/806 -f 1971/3225/807 1975/3226/807 1977/3227/807 1974/3228/807 -f 1992/3229/808 1990/3230/808 1989/3231/808 1991/3232/808 -f 1995/3233/809 1993/3234/809 1994/3235/809 1996/3236/809 -f 1989/3237/810 1990/3238/810 1994/3239/810 1993/3240/810 -f 1991/3241/811 1989/3242/811 1993/3243/811 1995/3244/811 -f 1996/3245/812 1994/3246/812 1990/3247/812 1992/3248/812 -f 2000/3249/813 1998/3250/813 1997/3251/813 1999/3252/813 -f 2003/3253/814 2001/3254/814 2002/3255/814 2004/3256/814 -f 1997/3257/815 1998/3258/815 2002/3259/815 2001/3260/815 -f 1999/3261/816 1997/3262/816 2001/3263/816 2003/3264/816 -f 2004/3265/817 2002/3266/817 1998/3267/817 2000/3268/817 +f 53/153/39 52/154/39 51/155/39 +f 53/153/39 51/155/39 54/156/39 +f 57/157/40 56/158/40 55/159/40 +f 57/157/40 55/159/40 58/160/40 +f 61/161/41 60/162/41 59/163/41 +f 61/161/41 59/163/41 62/164/41 +f 65/165/42 64/166/42 63/167/42 +f 65/165/42 63/167/42 66/168/42 +f 69/169/43 68/170/43 67/171/43 +f 69/169/43 67/171/43 70/172/43 +f 73/173/44 72/174/44 71/175/44 +f 73/173/44 71/175/44 74/176/44 +f 77/177/45 76/178/45 75/179/45 +f 77/177/45 75/179/45 78/180/45 +f 81/181/46 80/182/46 79/183/46 +f 81/181/46 79/183/46 82/184/46 +f 85/185/47 84/186/47 83/187/47 +f 85/185/47 83/187/47 86/188/47 +f 89/189/48 88/190/48 87/191/48 +f 89/189/48 87/191/48 90/192/48 +f 93/193/49 92/194/49 91/195/49 +f 93/193/49 91/195/49 94/196/49 +f 97/197/50 96/198/50 95/199/50 +f 97/197/50 95/199/50 98/200/50 +f 101/201/51 100/202/51 99/203/51 +f 101/201/51 99/203/51 102/204/51 +f 105/205/52 104/206/52 103/207/52 +f 105/205/52 103/207/52 106/208/52 +f 109/209/53 108/210/53 107/211/53 +f 109/209/53 107/211/53 110/212/53 +f 113/213/54 112/214/54 111/215/54 +f 113/213/54 111/215/54 114/216/54 +f 117/217/55 116/218/55 115/219/55 +f 117/217/55 115/219/55 118/220/55 +f 121/221/56 120/222/56 119/223/56 +f 121/221/56 119/223/56 122/224/56 +f 125/225/57 124/226/57 123/227/57 +f 125/225/57 123/227/57 126/228/57 +f 129/229/58 128/230/58 127/231/58 +f 129/229/58 127/231/58 130/232/58 +f 133/233/59 132/234/59 131/235/59 +f 133/233/59 131/235/59 134/236/59 +f 137/237/60 136/238/60 135/239/60 +f 137/237/60 135/239/60 138/240/60 +f 141/241/61 140/242/61 139/243/61 +f 141/241/61 139/243/61 142/244/61 +f 145/245/62 144/246/62 143/247/62 +f 145/245/62 143/247/62 146/248/62 +f 149/249/63 148/250/63 147/251/63 +f 149/249/63 147/251/63 150/252/63 +f 153/253/64 152/254/64 151/255/64 +f 153/253/64 151/255/64 154/256/64 +f 157/257/65 156/258/65 155/259/65 +f 157/257/65 155/259/65 158/260/65 +f 161/261/66 160/262/66 159/263/66 +f 161/261/66 159/263/66 162/264/66 +f 165/265/67 164/266/67 163/267/67 +f 165/265/67 163/267/67 166/268/67 +f 169/269/68 168/270/68 167/271/68 +f 169/269/68 167/271/68 170/272/68 +f 173/273/69 172/274/69 171/275/69 +f 173/273/69 171/275/69 174/276/69 +f 177/277/70 176/278/70 175/279/70 +f 177/277/70 175/279/70 178/280/70 +f 181/281/71 180/282/71 179/283/71 +f 181/281/71 179/283/71 182/284/71 +f 185/285/72 184/286/72 183/287/72 +f 185/285/72 183/287/72 186/288/72 +f 189/289/73 188/290/73 187/291/73 +f 189/289/73 187/291/73 190/292/73 +f 193/293/74 192/294/74 191/295/74 +f 193/293/74 191/295/74 194/296/74 +f 197/297/75 196/298/75 195/299/75 +f 197/297/75 195/299/75 198/300/75 +f 201/301/76 200/302/76 199/303/76 +f 201/301/76 199/303/76 202/304/76 +f 197/305/77 198/306/77 203/307/77 +f 197/305/77 203/307/77 204/308/77 +f 204/309/78 203/310/78 205/311/78 +f 204/309/78 205/311/78 206/312/78 +f 208/313/79 207/314/79 195/315/79 +f 208/313/79 195/315/79 205/316/79 +f 198/317/80 210/318/80 209/319/80 +f 198/317/80 209/319/80 203/320/80 +f 203/321/81 209/322/81 208/323/81 +f 203/321/81 208/323/81 205/324/81 +f 205/325/82 195/326/82 196/327/82 +f 205/325/82 196/327/82 206/328/82 +f 198/329/83 195/330/83 207/331/83 +f 198/329/83 207/331/83 210/332/83 +f 200/333/84 212/334/84 211/335/84 +f 200/333/84 211/335/84 199/336/84 +f 201/337/85 202/338/85 213/339/85 +f 201/337/85 213/339/85 214/340/85 +f 214/341/86 213/342/86 211/343/86 +f 214/341/86 211/343/86 212/344/86 +f 207/345/87 208/346/87 212/347/87 +f 207/345/87 212/347/87 200/348/87 +f 210/349/88 207/350/88 200/351/88 +f 210/349/88 200/351/88 201/352/88 +f 210/353/89 201/354/89 214/355/89 +f 210/353/89 214/355/89 209/356/89 +f 209/357/90 214/358/90 212/359/90 +f 209/357/90 212/359/90 208/360/90 +f 197/361/91 204/362/91 206/363/91 +f 197/361/91 206/363/91 196/364/91 +f 217/365/92 216/366/92 215/367/92 +f 217/365/92 215/367/92 218/368/92 +f 221/369/93 220/370/93 219/371/93 +f 221/369/93 219/371/93 222/372/93 +f 225/373/94 224/374/94 223/375/94 +f 225/373/94 223/375/94 226/376/94 +f 229/377/95 228/378/95 227/379/95 +f 229/377/95 227/379/95 230/380/95 +f 233/381/96 232/382/96 231/383/96 +f 233/381/96 231/383/96 234/384/96 +f 237/385/97 236/386/97 235/387/97 +f 237/385/97 235/387/97 238/388/97 +f 241/389/98 240/390/98 239/391/98 +f 241/389/98 239/391/98 242/392/98 +f 245/393/99 244/394/99 243/395/99 +f 245/393/99 243/395/99 246/396/99 +f 249/397/100 248/398/100 247/399/100 +f 249/397/100 247/399/100 250/400/100 +f 253/401/101 252/402/101 251/403/101 +f 253/401/101 251/403/101 254/404/101 +f 257/405/102 256/406/102 255/407/102 +f 257/405/102 255/407/102 258/408/102 +f 261/409/103 260/410/103 259/411/103 +f 261/409/103 259/411/103 262/412/103 +f 265/413/104 264/414/104 263/415/104 +f 265/413/104 263/415/104 266/416/104 +f 269/417/105 268/418/105 267/419/105 +f 269/417/105 267/419/105 270/420/105 +f 273/421/106 272/422/106 271/423/106 +f 273/421/106 271/423/106 274/424/106 +f 277/425/107 276/426/107 275/427/107 +f 277/425/107 275/427/107 278/428/107 +f 281/429/108 280/430/108 279/431/108 +f 281/429/108 279/431/108 282/432/108 +f 285/433/109 284/434/109 283/435/109 +f 285/433/109 283/435/109 286/436/109 +f 286/437/110 283/438/110 279/439/110 +f 286/437/110 279/439/110 280/440/110 +f 285/441/111 281/442/111 282/443/111 +f 285/441/111 282/443/111 284/444/111 +f 291/445/112 290/446/112 289/447/112 +f 291/445/112 289/447/112 292/448/112 +f 295/449/113 294/450/113 293/451/113 +f 295/449/113 293/451/113 296/452/113 +f 298/453/114 297/454/114 294/455/114 +f 298/453/114 294/455/114 295/456/114 +f 299/457/115 296/458/115 293/459/115 +f 299/457/115 293/459/115 300/460/115 +f 303/461/116 302/462/116 301/463/116 +f 303/461/116 301/463/116 304/464/116 +f 298/465/117 299/466/117 300/467/117 +f 298/465/117 300/467/117 297/468/117 +f 302/469/118 306/470/118 305/471/118 +f 302/469/118 305/471/118 301/472/118 +f 303/473/119 304/474/119 307/475/119 +f 303/473/119 307/475/119 308/476/119 +f 308/477/120 307/478/120 305/479/120 +f 308/477/120 305/479/120 306/480/120 +f 304/481/121 301/482/121 281/483/121 +f 304/481/121 281/483/121 285/484/121 +f 310/485/122 309/486/122 287/487/122 +f 310/485/122 287/487/122 288/488/122 +f 304/489/123 285/490/123 286/491/123 +f 304/489/123 286/491/123 307/492/123 +f 307/493/124 286/494/124 280/495/124 +f 307/493/124 280/495/124 305/496/124 +f 282/497/125 279/498/125 292/499/125 +f 282/497/125 292/499/125 309/500/125 +f 301/501/126 305/502/126 280/503/126 +f 301/501/126 280/503/126 281/504/126 +f 284/505/127 282/506/127 309/507/127 +f 284/505/127 309/507/127 310/508/127 +f 284/509/128 310/510/128 291/511/128 +f 284/509/128 291/511/128 283/512/128 +f 283/513/129 291/514/129 292/515/129 +f 283/513/129 292/515/129 279/516/129 +f 309/517/130 292/518/130 289/519/130 +f 309/517/130 289/519/130 287/520/130 +f 310/521/131 288/522/131 290/523/131 +f 310/521/131 290/523/131 291/524/131 +f 311/525/132 295/526/132 296/527/132 +f 311/525/132 296/527/132 312/528/132 +f 313/529/133 298/530/133 295/531/133 +f 313/529/133 295/531/133 311/532/133 +f 313/533/134 314/534/134 299/535/134 +f 313/533/134 299/535/134 298/536/134 +f 300/537/135 293/538/135 306/539/135 +f 300/537/135 306/539/135 302/540/135 +f 314/541/136 312/542/136 296/543/136 +f 314/541/136 296/543/136 299/544/136 +f 297/545/137 300/546/137 302/547/137 +f 297/545/137 302/547/137 303/548/137 +f 297/549/138 303/550/138 308/551/138 +f 297/549/138 308/551/138 294/552/138 +f 294/553/139 308/554/139 306/555/139 +f 294/553/139 306/555/139 293/556/139 +f 316/557/140 315/558/140 314/559/140 +f 316/557/140 314/559/140 313/560/140 +f 315/561/141 317/562/141 312/563/141 +f 315/561/141 312/563/141 314/564/141 +f 316/565/142 313/566/142 311/567/142 +f 316/565/142 311/567/142 318/568/142 +f 318/569/143 311/570/143 312/571/143 +f 318/569/143 312/571/143 317/572/143 +f 322/573/144 321/574/144 320/575/144 +f 322/573/144 320/575/144 323/576/144 +f 326/577/145 325/578/145 324/579/145 +f 326/577/145 324/579/145 327/580/145 +f 330/581/146 329/582/146 328/583/146 +f 330/581/146 328/583/146 331/584/146 +f 334/585/147 333/586/147 332/587/147 +f 334/585/147 332/587/147 335/588/147 +f 338/589/148 337/590/148 336/591/148 +f 338/589/148 336/591/148 339/592/148 +f 342/593/149 341/594/149 340/595/149 +f 342/593/149 340/595/149 343/596/149 +f 346/597/150 345/598/150 344/599/150 +f 346/597/150 344/599/150 347/600/150 +f 350/601/151 349/602/151 348/603/151 +f 350/601/151 348/603/151 351/604/151 +f 354/605/152 353/606/152 352/607/152 +f 354/605/152 352/607/152 355/608/152 +f 358/609/153 357/610/153 356/611/153 +f 358/609/153 356/611/153 359/612/153 +f 362/613/154 361/614/154 360/615/154 +f 362/613/154 360/615/154 363/616/154 +f 366/617/155 365/618/155 364/619/155 +f 366/617/155 364/619/155 367/620/155 +f 370/621/156 369/622/156 368/623/156 +f 370/621/156 368/623/156 371/624/156 +f 374/625/157 373/626/157 372/627/157 +f 374/625/157 372/627/157 375/628/157 +f 378/629/158 377/630/158 376/631/158 +f 378/629/158 376/631/158 379/632/158 +f 382/633/159 381/634/159 380/635/159 +f 382/633/159 380/635/159 383/636/159 +f 386/637/160 385/638/160 384/639/160 +f 386/637/160 384/639/160 387/640/160 +f 390/641/161 389/642/161 388/643/161 +f 390/641/161 388/643/161 391/644/161 +f 394/645/162 393/646/162 392/647/162 +f 394/645/162 392/647/162 395/648/162 +f 398/649/163 397/650/163 396/651/163 +f 398/649/163 396/651/163 399/652/163 +f 401/653/164 400/654/164 319/655/164 +f 401/653/164 319/655/164 402/656/164 +f 405/657/165 404/658/165 403/659/165 +f 405/657/165 403/659/165 406/660/165 +f 409/661/166 408/662/166 407/663/166 +f 409/661/166 407/663/166 410/664/166 +f 413/665/167 412/666/167 411/667/167 +f 413/665/167 411/667/167 414/668/167 +f 417/669/168 416/670/168 415/671/168 +f 417/669/168 415/671/168 418/672/168 +f 421/673/169 420/674/169 419/675/169 +f 421/673/169 419/675/169 422/676/169 +f 425/677/170 424/678/170 423/679/170 +f 425/677/170 423/679/170 426/680/170 +f 429/681/171 428/682/171 427/683/171 +f 429/681/171 427/683/171 430/684/171 +f 433/685/172 432/686/172 431/687/172 +f 433/685/172 431/687/172 434/688/172 +f 437/689/173 436/690/173 435/691/173 +f 437/689/173 435/691/173 438/692/173 +f 441/693/174 440/694/174 439/695/174 +f 441/693/174 439/695/174 442/696/174 +f 445/697/175 444/698/175 443/699/175 +f 445/697/175 443/699/175 446/700/175 +f 449/701/176 448/702/176 447/703/176 +f 449/701/176 447/703/176 450/704/176 +f 453/705/177 452/706/177 451/707/177 +f 453/705/177 451/707/177 454/708/177 +f 457/709/178 456/710/178 455/711/178 +f 457/709/178 455/711/178 458/712/178 +f 461/713/179 460/714/179 459/715/179 +f 461/713/179 459/715/179 462/716/179 +f 465/717/180 464/718/180 463/719/180 +f 465/717/180 463/719/180 466/720/180 +f 469/721/181 468/722/181 467/723/181 +f 469/721/181 467/723/181 470/724/181 +f 465/725/182 466/726/182 471/727/182 +f 465/725/182 471/727/182 472/728/182 +f 472/729/183 471/730/183 473/731/183 +f 472/729/183 473/731/183 474/732/183 +f 476/733/184 475/734/184 463/735/184 +f 476/733/184 463/735/184 473/736/184 +f 466/737/185 478/738/185 477/739/185 +f 466/737/185 477/739/185 471/740/185 +f 471/741/186 477/742/186 476/743/186 +f 471/741/186 476/743/186 473/744/186 +f 473/745/187 463/746/187 464/747/187 +f 473/745/187 464/747/187 474/748/187 +f 466/749/188 463/750/188 475/751/188 +f 466/749/188 475/751/188 478/752/188 +f 468/753/189 480/754/189 479/755/189 +f 468/753/189 479/755/189 467/756/189 +f 469/757/190 470/758/190 481/759/190 +f 469/757/190 481/759/190 482/760/190 +f 482/761/191 481/762/191 479/763/191 +f 482/761/191 479/763/191 480/764/191 +f 475/765/192 476/766/192 480/767/192 +f 475/765/192 480/767/192 468/768/192 +f 478/769/193 475/770/193 468/771/193 +f 478/769/193 468/771/193 469/772/193 +f 478/773/194 469/774/194 482/775/194 +f 478/773/194 482/775/194 477/776/194 +f 477/777/195 482/778/195 480/779/195 +f 477/777/195 480/779/195 476/780/195 +f 465/781/196 472/782/196 474/783/196 +f 465/781/196 474/783/196 464/784/196 +f 485/785/197 484/786/197 483/787/197 +f 485/785/197 483/787/197 486/788/197 +f 489/789/198 488/790/198 487/791/198 +f 489/789/198 487/791/198 490/792/198 +f 493/793/199 492/794/199 491/795/199 +f 493/793/199 491/795/199 494/796/199 +f 497/797/200 496/798/200 495/799/200 +f 497/797/200 495/799/200 498/800/200 +f 501/801/201 500/802/201 499/803/201 +f 501/801/201 499/803/201 502/804/201 +f 505/805/202 504/806/202 503/807/202 +f 505/805/202 503/807/202 506/808/202 +f 509/809/203 508/810/203 507/811/203 +f 509/809/203 507/811/203 510/812/203 +f 513/813/204 512/814/204 511/815/204 +f 513/813/204 511/815/204 514/816/204 +f 517/817/205 516/818/205 515/819/205 +f 517/817/205 515/819/205 518/820/205 +f 521/821/206 520/822/206 519/823/206 +f 521/821/206 519/823/206 522/824/206 +f 525/825/207 524/826/207 523/827/207 +f 525/825/207 523/827/207 526/828/207 +f 529/829/208 528/830/208 527/831/208 +f 529/829/208 527/831/208 530/832/208 +f 533/833/209 532/834/209 531/835/209 +f 533/833/209 531/835/209 534/836/209 +f 537/837/210 536/838/210 535/839/210 +f 537/837/210 535/839/210 538/840/210 +f 541/841/211 540/842/211 539/843/211 +f 541/841/211 539/843/211 542/844/211 +f 545/845/212 544/846/212 543/847/212 +f 545/845/212 543/847/212 546/848/212 +f 549/849/213 548/850/213 547/851/213 +f 549/849/213 547/851/213 550/852/213 +f 553/853/214 552/854/214 551/855/214 +f 553/853/214 551/855/214 554/856/214 +f 557/857/215 556/858/215 555/859/215 +f 557/857/215 555/859/215 558/860/215 +f 558/861/216 555/862/216 551/863/216 +f 558/861/216 551/863/216 552/864/216 +f 557/865/217 553/866/217 554/867/217 +f 557/865/217 554/867/217 556/868/217 +f 561/869/218 560/870/218 559/871/218 +f 561/869/218 559/871/218 562/872/218 +f 564/873/219 563/874/219 559/875/219 +f 564/873/219 559/875/219 560/876/219 +f 567/877/220 566/878/220 565/879/220 +f 567/877/220 565/879/220 568/880/220 +f 569/881/221 568/882/221 565/883/221 +f 569/881/221 565/883/221 570/884/221 +f 573/885/222 572/886/222 571/887/222 +f 573/885/222 571/887/222 574/888/222 +f 576/889/223 575/890/223 569/891/223 +f 576/889/223 569/891/223 577/892/223 +f 572/893/224 579/894/224 578/895/224 +f 572/893/224 578/895/224 571/896/224 +f 573/897/225 574/898/225 580/899/225 +f 573/897/225 580/899/225 581/900/225 +f 581/901/226 580/902/226 578/903/226 +f 581/901/226 578/903/226 579/904/226 +f 584/905/227 583/906/227 582/907/227 +f 584/905/227 582/907/227 585/908/227 +f 588/909/228 587/910/228 586/911/228 +f 588/909/228 586/911/228 589/912/228 +f 592/913/229 591/914/229 590/915/229 +f 592/913/229 590/915/229 593/916/229 +f 593/917/230 590/918/230 586/919/230 +f 593/917/230 586/919/230 587/920/230 +f 596/921/231 595/922/231 594/923/231 +f 596/921/231 594/923/231 597/924/231 +f 598/925/232 597/926/232 594/927/232 +f 598/925/232 594/927/232 599/928/232 +f 602/929/233 601/930/233 600/931/233 +f 602/929/233 600/931/233 603/932/233 +f 605/933/234 604/934/234 598/935/234 +f 605/933/234 598/935/234 606/936/234 +f 601/937/235 608/938/235 607/939/235 +f 601/937/235 607/939/235 600/940/235 +f 602/941/236 603/942/236 609/943/236 +f 602/941/236 609/943/236 610/944/236 +f 610/945/237 609/946/237 607/947/237 +f 610/945/237 607/947/237 608/948/237 +f 592/949/238 588/950/238 589/951/238 +f 592/949/238 589/951/238 591/952/238 +f 613/953/239 612/954/239 611/955/239 +f 613/953/239 611/955/239 614/956/239 +f 617/957/240 616/958/240 615/959/240 +f 617/957/240 615/959/240 618/960/240 +f 620/961/241 619/962/241 616/963/241 +f 620/961/241 616/963/241 617/964/241 +f 621/965/242 618/966/242 615/967/242 +f 621/965/242 615/967/242 622/968/242 +f 625/969/243 624/970/243 623/971/243 +f 625/969/243 623/971/243 626/972/243 +f 620/973/244 621/974/244 622/975/244 +f 620/973/244 622/975/244 619/976/244 +f 624/977/245 628/978/245 627/979/245 +f 624/977/245 627/979/245 623/980/245 +f 625/981/246 626/982/246 629/983/246 +f 625/981/246 629/983/246 630/984/246 +f 630/985/247 629/986/247 627/987/247 +f 630/985/247 627/987/247 628/988/247 +f 574/989/248 571/990/248 553/991/248 +f 574/989/248 553/991/248 557/992/248 +f 626/993/249 623/994/249 588/995/249 +f 626/993/249 588/995/249 592/996/249 +f 574/997/250 557/998/250 558/999/250 +f 574/997/250 558/999/250 580/1000/250 +f 580/1001/251 558/1002/251 552/1003/251 +f 580/1001/251 552/1003/251 578/1004/251 +f 554/1005/252 551/1006/252 631/1007/252 +f 554/1005/252 631/1007/252 548/1008/252 +f 571/1009/253 578/1010/253 552/1011/253 +f 571/1009/253 552/1011/253 553/1012/253 +f 556/1013/254 554/1014/254 548/1015/254 +f 556/1013/254 548/1015/254 549/1016/254 +f 556/1017/255 549/1018/255 632/1019/255 +f 556/1017/255 632/1019/255 555/1020/255 +f 555/1021/256 632/1022/256 631/1023/256 +f 555/1021/256 631/1023/256 551/1024/256 +f 603/1025/257 600/1026/257 561/1027/257 +f 603/1025/257 561/1027/257 633/1028/257 +f 635/1029/258 634/1030/258 575/1031/258 +f 635/1029/258 575/1031/258 576/1032/258 +f 603/1033/259 633/1034/259 564/1035/259 +f 603/1033/259 564/1035/259 609/1036/259 +f 609/1037/260 564/1038/260 560/1039/260 +f 609/1037/260 560/1039/260 607/1040/260 +f 633/1041/261 636/1042/261 563/1043/261 +f 633/1041/261 563/1043/261 564/1044/261 +f 577/1045/262 637/1046/262 566/1047/262 +f 577/1045/262 566/1047/262 567/1048/262 +f 583/1049/263 567/1050/263 568/1051/263 +f 583/1049/263 568/1051/263 582/1052/263 +f 576/1053/264 577/1054/264 567/1055/264 +f 576/1053/264 567/1055/264 583/1056/264 +f 570/1057/265 565/1058/265 579/1059/265 +f 570/1057/265 579/1059/265 572/1060/265 +f 575/1061/266 582/1062/266 568/1063/266 +f 575/1061/266 568/1063/266 569/1064/266 +f 577/1065/267 569/1066/267 570/1067/267 +f 577/1065/267 570/1067/267 637/1068/267 +f 637/1069/268 570/1070/268 572/1071/268 +f 637/1069/268 572/1071/268 573/1072/268 +f 637/1073/269 573/1074/269 581/1075/269 +f 637/1073/269 581/1075/269 566/1076/269 +f 566/1077/270 581/1078/270 579/1079/270 +f 566/1077/270 579/1079/270 565/1080/270 +f 562/1081/271 559/1082/271 585/1083/271 +f 562/1081/271 585/1083/271 634/1084/271 +f 600/1085/272 607/1086/272 560/1087/272 +f 600/1085/272 560/1087/272 561/1088/272 +f 633/1089/273 561/1090/273 562/1091/273 +f 633/1089/273 562/1091/273 636/1092/273 +f 636/1093/274 562/1094/274 634/1095/274 +f 636/1093/274 634/1095/274 635/1096/274 +f 636/1097/275 635/1098/275 584/1099/275 +f 636/1097/275 584/1099/275 563/1100/275 +f 563/1101/276 584/1102/276 585/1103/276 +f 563/1101/276 585/1103/276 559/1104/276 +f 634/1105/277 585/1106/277 582/1107/277 +f 634/1105/277 582/1107/277 575/1108/277 +f 635/1109/278 576/1110/278 583/1111/278 +f 635/1109/278 583/1111/278 584/1112/278 +f 639/1113/279 638/1114/279 604/1115/279 +f 639/1113/279 604/1115/279 605/1116/279 +f 626/1117/280 592/1118/280 593/1119/280 +f 626/1117/280 593/1119/280 629/1120/280 +f 629/1121/281 593/1122/281 587/1123/281 +f 629/1121/281 587/1123/281 627/1124/281 +f 606/1125/282 640/1126/282 595/1127/282 +f 606/1125/282 595/1127/282 596/1128/282 +f 612/1129/283 596/1130/283 597/1131/283 +f 612/1129/283 597/1131/283 611/1132/283 +f 605/1133/284 606/1134/284 596/1135/284 +f 605/1133/284 596/1135/284 612/1136/284 +f 599/1137/285 594/1138/285 608/1139/285 +f 599/1137/285 608/1139/285 601/1140/285 +f 604/1141/286 611/1142/286 597/1143/286 +f 604/1141/286 597/1143/286 598/1144/286 +f 606/1145/287 598/1146/287 599/1147/287 +f 606/1145/287 599/1147/287 640/1148/287 +f 640/1149/288 599/1150/288 601/1151/288 +f 640/1149/288 601/1151/288 602/1152/288 +f 640/1153/289 602/1154/289 610/1155/289 +f 640/1153/289 610/1155/289 595/1156/289 +f 595/1157/290 610/1158/290 608/1159/290 +f 595/1157/290 608/1159/290 594/1160/290 +f 589/1161/291 586/1162/291 614/1163/291 +f 589/1161/291 614/1163/291 638/1164/291 +f 623/1165/292 627/1166/292 587/1167/292 +f 623/1165/292 587/1167/292 588/1168/292 +f 591/1169/293 589/1170/293 638/1171/293 +f 591/1169/293 638/1171/293 639/1172/293 +f 591/1173/294 639/1174/294 613/1175/294 +f 591/1173/294 613/1175/294 590/1176/294 +f 590/1177/295 613/1178/295 614/1179/295 +f 590/1177/295 614/1179/295 586/1180/295 +f 638/1181/296 614/1182/296 611/1183/296 +f 638/1181/296 611/1183/296 604/1184/296 +f 639/1185/297 605/1186/297 612/1187/297 +f 639/1185/297 612/1187/297 613/1188/297 +f 641/1189/298 617/1190/298 618/1191/298 +f 641/1189/298 618/1191/298 642/1192/298 +f 643/1193/299 620/1194/299 617/1195/299 +f 643/1193/299 617/1195/299 641/1196/299 +f 643/1197/300 644/1198/300 621/1199/300 +f 643/1197/300 621/1199/300 620/1200/300 +f 622/1201/301 615/1202/301 628/1203/301 +f 622/1201/301 628/1203/301 624/1204/301 +f 644/1205/302 642/1206/302 618/1207/302 +f 644/1205/302 618/1207/302 621/1208/302 +f 619/1209/303 622/1210/303 624/1211/303 +f 619/1209/303 624/1211/303 625/1212/303 +f 619/1213/304 625/1214/304 630/1215/304 +f 619/1213/304 630/1215/304 616/1216/304 +f 616/1217/305 630/1218/305 628/1219/305 +f 616/1217/305 628/1219/305 615/1220/305 +f 646/1221/306 645/1222/306 644/1223/306 +f 646/1221/306 644/1223/306 643/1224/306 +f 645/1225/307 647/1226/307 642/1227/307 +f 645/1225/307 642/1227/307 644/1228/307 +f 646/1229/308 643/1230/308 641/1231/308 +f 646/1229/308 641/1231/308 648/1232/308 +f 648/1233/309 641/1234/309 642/1235/309 +f 648/1233/309 642/1235/309 647/1236/309 +f 649/1237/310 550/1238/310 547/1239/310 +f 649/1237/310 547/1239/310 650/1240/310 +f 650/1241/311 547/1242/311 548/1243/311 +f 650/1241/311 548/1243/311 631/1244/311 +f 549/1245/312 550/1246/312 649/1247/312 +f 549/1245/312 649/1247/312 632/1248/312 +f 632/1249/313 649/1250/313 650/1251/313 +f 632/1249/313 650/1251/313 631/1252/313 +f 653/1253/314 652/1254/314 651/1255/314 +f 653/1253/314 651/1255/314 654/1256/314 +f 655/1257/315 654/1258/315 651/1259/315 +f 655/1257/315 651/1259/315 656/1260/315 +f 659/1261/316 658/1262/316 657/1263/316 +f 659/1261/316 657/1263/316 660/1264/316 +f 658/1265/317 662/1266/317 661/1267/317 +f 658/1265/317 661/1267/317 657/1268/317 +f 659/1269/318 660/1270/318 663/1271/318 +f 659/1269/318 663/1271/318 664/1272/318 +f 664/1273/319 663/1274/319 661/1275/319 +f 664/1273/319 661/1275/319 662/1276/319 +f 666/1277/320 665/1278/320 652/1279/320 +f 666/1277/320 652/1279/320 653/1280/320 +f 667/1281/321 653/1282/321 654/1283/321 +f 667/1281/321 654/1283/321 668/1284/321 +f 669/1285/322 666/1286/322 653/1287/322 +f 669/1285/322 653/1287/322 667/1288/322 +f 669/1289/323 670/1290/323 655/1291/323 +f 669/1289/323 655/1291/323 666/1292/323 +f 656/1293/324 651/1294/324 662/1295/324 +f 656/1293/324 662/1295/324 658/1296/324 +f 670/1297/325 668/1298/325 654/1299/325 +f 670/1297/325 654/1299/325 655/1300/325 +f 666/1301/326 655/1302/326 656/1303/326 +f 666/1301/326 656/1303/326 665/1304/326 +f 665/1305/327 656/1306/327 658/1307/327 +f 665/1305/327 658/1307/327 659/1308/327 +f 665/1309/328 659/1310/328 664/1311/328 +f 665/1309/328 664/1311/328 652/1312/328 +f 662/1313/329 651/1314/329 652/1315/329 +f 662/1313/329 652/1315/329 664/1316/329 +f 672/1317/330 671/1318/330 670/1319/330 +f 672/1317/330 670/1319/330 669/1320/330 +f 671/1321/331 673/1322/331 668/1323/331 +f 671/1321/331 668/1323/331 670/1324/331 +f 672/1325/332 669/1326/332 667/1327/332 +f 672/1325/332 667/1327/332 674/1328/332 +f 674/1329/333 667/1330/333 668/1331/333 +f 674/1329/333 668/1331/333 673/1332/333 +f 657/1333/334 661/1334/334 663/1335/334 +f 657/1333/334 663/1335/334 660/1336/334 +f 678/1337/335 677/1338/335 676/1339/335 +f 678/1337/335 676/1339/335 679/1340/335 +f 682/1341/336 681/1342/336 680/1343/336 +f 682/1341/336 680/1343/336 683/1344/336 +f 686/1345/337 685/1346/337 684/1347/337 +f 686/1345/337 684/1347/337 687/1348/337 +f 690/1349/338 689/1350/338 688/1351/338 +f 690/1349/338 688/1351/338 691/1352/338 +f 694/1353/339 693/1354/339 692/1355/339 +f 694/1353/339 692/1355/339 695/1356/339 +f 698/1357/340 697/1358/340 696/1359/340 +f 698/1357/340 696/1359/340 699/1360/340 +f 702/1361/341 701/1362/341 700/1363/341 +f 702/1361/341 700/1363/341 703/1364/341 +f 706/1365/342 705/1366/342 704/1367/342 +f 706/1365/342 704/1367/342 707/1368/342 +f 710/1369/343 709/1370/343 708/1371/343 +f 710/1369/343 708/1371/343 711/1372/343 +f 714/1373/344 713/1374/344 712/1375/344 +f 714/1373/344 712/1375/344 715/1376/344 +f 718/1377/345 717/1378/345 716/1379/345 +f 718/1377/345 716/1379/345 719/1380/345 +f 722/1381/346 721/1382/346 720/1383/346 +f 722/1381/346 720/1383/346 723/1384/346 +f 726/1385/347 725/1386/347 724/1387/347 +f 726/1385/347 724/1387/347 727/1388/347 +f 730/1389/348 729/1390/348 728/1391/348 +f 730/1389/348 728/1391/348 731/1392/348 +f 734/1393/349 733/1394/349 732/1395/349 +f 734/1393/349 732/1395/349 735/1396/349 +f 738/1397/350 737/1398/350 736/1399/350 +f 738/1397/350 736/1399/350 739/1400/350 +f 742/1401/351 741/1402/351 740/1403/351 +f 742/1401/351 740/1403/351 743/1404/351 +f 746/1405/352 745/1406/352 744/1407/352 +f 746/1405/352 744/1407/352 747/1408/352 +f 750/1409/353 749/1410/353 748/1411/353 +f 750/1409/353 748/1411/353 751/1412/353 +f 754/1413/354 753/1414/354 752/1415/354 +f 754/1413/354 752/1415/354 755/1416/354 +f 758/1417/355 757/1418/355 756/1419/355 +f 758/1417/355 756/1419/355 759/1420/355 +f 762/1421/356 761/1422/356 760/1423/356 +f 762/1421/356 760/1423/356 763/1424/356 +f 766/1425/357 765/1426/357 764/1427/357 +f 766/1425/357 764/1427/357 767/1428/357 +f 770/1429/358 769/1430/358 768/1431/358 +f 770/1429/358 768/1431/358 771/1432/358 +f 774/1433/359 773/1434/359 772/1435/359 +f 774/1433/359 772/1435/359 775/1436/359 +f 778/1437/360 777/1438/360 776/1439/360 +f 778/1437/360 776/1439/360 779/1440/360 +f 782/1441/361 781/1442/361 780/1443/361 +f 782/1441/361 780/1443/361 783/1444/361 +f 786/1445/362 785/1446/362 784/1447/362 +f 786/1445/362 784/1447/362 787/1448/362 +f 790/1449/363 789/1450/363 788/1451/363 +f 790/1449/363 788/1451/363 791/1452/363 +f 794/1453/364 793/1454/364 792/1455/364 +f 794/1453/364 792/1455/364 795/1456/364 +f 798/1457/365 797/1458/365 796/1459/365 +f 798/1457/365 796/1459/365 799/1460/365 +f 802/1461/366 801/1462/366 800/1463/366 +f 802/1461/366 800/1463/366 803/1464/366 +f 806/1465/367 805/1466/367 804/1467/367 +f 806/1465/367 804/1467/367 807/1468/367 +f 810/1469/368 809/1470/368 808/1471/368 +f 810/1469/368 808/1471/368 811/1472/368 +f 814/1473/369 813/1474/369 812/1475/369 +f 814/1473/369 812/1475/369 815/1476/369 +f 818/1477/370 817/1478/370 816/1479/370 +f 818/1477/370 816/1479/370 819/1480/370 +f 822/1481/371 821/1482/371 820/1483/371 +f 822/1481/371 820/1483/371 823/1484/371 +f 826/1485/372 825/1486/372 824/1487/372 +f 826/1485/372 824/1487/372 827/1488/372 +f 830/1489/373 829/1490/373 828/1491/373 +f 830/1489/373 828/1491/373 831/1492/373 +f 834/1493/374 833/1494/374 832/1495/374 +f 834/1493/374 832/1495/374 835/1496/374 +f 838/1497/375 837/1498/375 836/1499/375 +f 838/1497/375 836/1499/375 839/1500/375 +f 842/1501/376 841/1502/376 840/1503/376 +f 842/1501/376 840/1503/376 843/1504/376 +f 846/1505/377 845/1506/377 844/1507/377 +f 846/1505/377 844/1507/377 847/1508/377 +f 850/1509/378 849/1510/378 848/1511/378 +f 850/1509/378 848/1511/378 851/1512/378 +f 854/1513/379 853/1514/379 852/1515/379 +f 854/1513/379 852/1515/379 855/1516/379 +f 858/1517/380 857/1518/380 856/1519/380 +f 858/1517/380 856/1519/380 859/1520/380 +f 862/1521/381 861/1522/381 860/1523/381 +f 862/1521/381 860/1523/381 863/1524/381 +f 866/1525/382 865/1526/382 864/1527/382 +f 866/1525/382 864/1527/382 867/1528/382 +f 870/1529/383 869/1530/383 868/1531/383 +f 870/1529/383 868/1531/383 871/1532/383 +f 874/1533/384 873/1534/384 872/1535/384 +f 874/1533/384 872/1535/384 875/1536/384 +f 878/1537/385 877/1538/385 876/1539/385 +f 878/1537/385 876/1539/385 879/1540/385 +f 882/1541/386 881/1542/386 880/1543/386 +f 882/1541/386 880/1543/386 883/1544/386 +f 886/1545/387 885/1546/387 884/1547/387 +f 886/1545/387 884/1547/387 887/1548/387 +f 890/1549/388 889/1550/388 888/1551/388 +f 890/1549/388 888/1551/388 891/1552/388 +f 894/1553/389 893/1554/389 892/1555/389 +f 894/1553/389 892/1555/389 895/1556/389 +f 898/1557/390 897/1558/390 896/1559/390 +f 898/1557/390 896/1559/390 899/1560/390 +f 902/1561/391 901/1562/391 900/1563/391 +f 902/1561/391 900/1563/391 903/1564/391 +f 906/1565/392 905/1566/392 904/1567/392 +f 906/1565/392 904/1567/392 907/1568/392 +f 910/1569/393 909/1570/393 908/1571/393 +f 910/1569/393 908/1571/393 911/1572/393 +f 914/1573/394 913/1574/394 912/1575/394 +f 914/1573/394 912/1575/394 915/1576/394 +f 918/1577/395 917/1578/395 916/1579/395 +f 918/1577/395 916/1579/395 919/1580/395 +f 922/1581/396 921/1582/396 920/1583/396 +f 922/1581/396 920/1583/396 923/1584/396 +f 926/1585/397 925/1586/397 924/1587/397 +f 926/1585/397 924/1587/397 927/1588/397 +f 930/1589/398 929/1590/398 928/1591/398 +f 930/1589/398 928/1591/398 931/1592/398 +f 934/1593/399 933/1594/399 932/1595/399 +f 934/1593/399 932/1595/399 935/1596/399 +f 938/1597/400 937/1598/400 936/1599/400 +f 938/1597/400 936/1599/400 939/1600/400 +f 942/1601/401 941/1602/401 940/1603/401 +f 942/1601/401 940/1603/401 943/1604/401 +f 946/1605/402 945/1606/402 944/1607/402 +f 946/1605/402 944/1607/402 947/1608/402 +f 950/1609/403 949/1610/403 948/1611/403 +f 950/1609/403 948/1611/403 951/1612/403 +f 954/1613/404 953/1614/404 952/1615/404 +f 954/1613/404 952/1615/404 955/1616/404 +f 958/1617/405 957/1618/405 956/1619/405 +f 958/1617/405 956/1619/405 959/1620/405 +f 962/1621/406 961/1622/406 960/1623/406 +f 962/1621/406 960/1623/406 963/1624/406 +f 966/1625/407 965/1626/407 964/1627/407 +f 966/1625/407 964/1627/407 967/1628/407 +f 970/1629/408 969/1630/408 968/1631/408 +f 970/1629/408 968/1631/408 971/1632/408 +f 974/1633/409 973/1634/409 972/1635/409 +f 974/1633/409 972/1635/409 975/1636/409 +f 978/1637/410 977/1638/410 976/1639/410 +f 978/1637/410 976/1639/410 979/1640/410 +f 982/1641/411 981/1642/411 980/1643/411 +f 982/1641/411 980/1643/411 983/1644/411 +f 986/1645/412 985/1646/412 984/1647/412 +f 986/1645/412 984/1647/412 987/1648/412 +f 990/1649/413 989/1650/413 988/1651/413 +f 990/1649/413 988/1651/413 991/1652/413 +f 994/1653/414 993/1654/414 992/1655/414 +f 994/1653/414 992/1655/414 995/1656/414 +f 997/1657/415 996/1658/415 675/1659/415 +f 997/1657/415 675/1659/415 998/1660/415 +f 1001/1661/416 1000/1662/416 999/1663/416 +f 1001/1661/416 999/1663/416 1002/1664/416 +f 1005/1665/417 1004/1666/417 1003/1667/417 +f 1005/1665/417 1003/1667/417 1006/1668/417 +f 1009/1669/418 1008/1670/418 1007/1671/418 +f 1009/1669/418 1007/1671/418 1010/1672/418 +f 1013/1673/419 1012/1674/419 1011/1675/419 +f 1013/1673/419 1011/1675/419 1014/1676/419 +f 1017/1677/420 1016/1678/420 1015/1679/420 +f 1017/1677/420 1015/1679/420 1018/1680/420 +f 1021/1681/421 1020/1682/421 1019/1683/421 +f 1021/1681/421 1019/1683/421 1022/1684/421 +f 1025/1685/422 1024/1686/422 1023/1687/422 +f 1025/1685/422 1023/1687/422 1026/1688/422 +f 1029/1689/423 1028/1690/423 1027/1691/423 +f 1029/1689/423 1027/1691/423 1030/1692/423 +f 1033/1693/424 1032/1694/424 1031/1695/424 +f 1033/1693/424 1031/1695/424 1034/1696/424 +f 1037/1697/425 1036/1698/425 1035/1699/425 +f 1037/1697/425 1035/1699/425 1038/1700/425 +f 1041/1701/426 1040/1702/426 1039/1703/426 +f 1041/1701/426 1039/1703/426 1042/1704/426 +f 1045/1705/427 1044/1706/427 1043/1707/427 +f 1045/1705/427 1043/1707/427 1046/1708/427 +f 1049/1709/428 1048/1710/428 1047/1711/428 +f 1049/1709/428 1047/1711/428 1050/1712/428 +f 1053/1713/429 1052/1714/429 1051/1715/429 +f 1053/1713/429 1051/1715/429 1054/1716/429 +f 1057/1717/430 1056/1718/430 1055/1719/430 +f 1057/1717/430 1055/1719/430 1058/1720/430 +f 1061/1721/431 1060/1722/431 1059/1723/431 +f 1061/1721/431 1059/1723/431 1062/1724/431 +f 1065/1725/432 1064/1726/432 1063/1727/432 +f 1065/1725/432 1063/1727/432 1066/1728/432 +f 1069/1729/433 1068/1730/433 1067/1731/433 +f 1069/1729/433 1067/1731/433 1070/1732/433 +f 1073/1733/434 1072/1734/434 1071/1735/434 +f 1073/1733/434 1071/1735/434 1074/1736/434 +f 1077/1737/435 1076/1738/435 1075/1739/435 +f 1077/1737/435 1075/1739/435 1078/1740/435 +f 1080/1741/436 1079/1742/436 2/1743/436 +f 1080/1741/436 2/1743/436 1081/1744/436 +f 1084/1745/437 1083/1746/437 1082/1747/437 +f 1084/1745/437 1082/1747/437 1085/1748/437 +f 1088/1749/438 1087/1750/438 1086/1751/438 +f 1088/1749/438 1086/1751/438 1089/1752/438 +f 1092/1753/439 1091/1754/439 1090/1755/439 +f 1092/1753/439 1090/1755/439 1093/1756/439 +f 1096/1757/440 1095/1758/440 1094/1759/440 +f 1096/1757/440 1094/1759/440 1097/1760/440 +f 1100/1761/441 1099/1762/441 1098/1763/441 +f 1100/1761/441 1098/1763/441 1101/1764/441 +f 1104/1765/442 1103/1766/442 1102/1767/442 +f 1104/1765/442 1102/1767/442 1105/1768/442 +f 1108/1769/443 1107/1770/443 1106/1771/443 +f 1108/1769/443 1106/1771/443 1109/1772/443 +f 1112/1773/444 1111/1774/444 1110/1775/444 +f 1112/1773/444 1110/1775/444 1113/1776/444 +f 1116/1777/445 1115/1778/445 1114/1779/445 +f 1116/1777/445 1114/1779/445 1117/1780/445 +f 1120/1781/446 1119/1782/446 1118/1783/446 +f 1120/1781/446 1118/1783/446 1121/1784/446 +f 1124/1785/447 1123/1786/447 1122/1787/447 +f 1124/1785/447 1122/1787/447 1125/1788/447 +f 1128/1789/448 1127/1790/448 1126/1791/448 +f 1128/1789/448 1126/1791/448 1129/1792/448 +f 1132/1793/449 1131/1794/449 1130/1795/449 +f 1132/1793/449 1130/1795/449 1133/1796/449 +f 1136/1797/450 1135/1798/450 1134/1799/450 +f 1136/1797/450 1134/1799/450 1137/1800/450 +f 1140/1801/451 1139/1802/451 1138/1803/451 +f 1140/1801/451 1138/1803/451 1141/1804/451 +f 1144/1805/452 1143/1806/452 1142/1807/452 +f 1144/1805/452 1142/1807/452 1145/1808/452 +f 1148/1809/453 1147/1810/453 1146/1811/453 +f 1148/1809/453 1146/1811/453 1149/1812/453 +f 1152/1813/454 1151/1814/454 1150/1815/454 +f 1152/1813/454 1150/1815/454 1153/1816/454 +f 1156/1817/455 1155/1818/455 1154/1819/455 +f 1156/1817/455 1154/1819/455 1157/1820/455 +f 1160/1821/456 1159/1822/456 1158/1823/456 +f 1160/1821/456 1158/1823/456 1161/1824/456 +f 1156/1825/457 1157/1826/457 1162/1827/457 +f 1156/1825/457 1162/1827/457 1163/1828/457 +f 1163/1829/458 1162/1830/458 1164/1831/458 +f 1163/1829/458 1164/1831/458 1165/1832/458 +f 1167/1833/459 1166/1834/459 1154/1835/459 +f 1167/1833/459 1154/1835/459 1164/1836/459 +f 1157/1837/460 1169/1838/460 1168/1839/460 +f 1157/1837/460 1168/1839/460 1162/1840/460 +f 1162/1841/461 1168/1842/461 1167/1843/461 +f 1162/1841/461 1167/1843/461 1164/1844/461 +f 1164/1845/462 1154/1846/462 1155/1847/462 +f 1164/1845/462 1155/1847/462 1165/1848/462 +f 1157/1849/463 1154/1850/463 1166/1851/463 +f 1157/1849/463 1166/1851/463 1169/1852/463 +f 1159/1853/464 1171/1854/464 1170/1855/464 +f 1159/1853/464 1170/1855/464 1158/1856/464 +f 1160/1857/465 1161/1858/465 1172/1859/465 +f 1160/1857/465 1172/1859/465 1173/1860/465 +f 1173/1861/466 1172/1862/466 1170/1863/466 +f 1173/1861/466 1170/1863/466 1171/1864/466 +f 1166/1865/467 1167/1866/467 1171/1867/467 +f 1166/1865/467 1171/1867/467 1159/1868/467 +f 1169/1869/468 1166/1870/468 1159/1871/468 +f 1169/1869/468 1159/1871/468 1160/1872/468 +f 1169/1873/469 1160/1874/469 1173/1875/469 +f 1169/1873/469 1173/1875/469 1168/1876/469 +f 1168/1877/470 1173/1878/470 1171/1879/470 +f 1168/1877/470 1171/1879/470 1167/1880/470 +f 1156/1881/471 1163/1882/471 1165/1883/471 +f 1156/1881/471 1165/1883/471 1155/1884/471 +f 1176/1885/472 1175/1886/472 1174/1887/472 +f 1176/1885/472 1174/1887/472 1177/1888/472 +f 1180/1889/473 1179/1890/473 1178/1891/473 +f 1180/1889/473 1178/1891/473 1181/1892/473 +f 1184/1893/474 1183/1894/474 1182/1895/474 +f 1184/1893/474 1182/1895/474 1185/1896/474 +f 1188/1897/475 1187/1898/475 1186/1899/475 +f 1188/1897/475 1186/1899/475 1189/1900/475 +f 1192/1901/476 1191/1902/476 1190/1903/476 +f 1192/1901/476 1190/1903/476 1193/1904/476 +f 1196/1905/477 1195/1906/477 1194/1907/477 +f 1196/1905/477 1194/1907/477 1197/1908/477 +f 1200/1909/478 1199/1910/478 1198/1911/478 +f 1200/1909/478 1198/1911/478 1201/1912/478 +f 1204/1913/479 1203/1914/479 1202/1915/479 +f 1204/1913/479 1202/1915/479 1205/1916/479 +f 1208/1917/480 1207/1918/480 1206/1919/480 +f 1208/1917/480 1206/1919/480 1209/1920/480 +f 1212/1921/481 1211/1922/481 1210/1923/481 +f 1212/1921/481 1210/1923/481 1213/1924/481 +f 1216/1925/482 1215/1926/482 1214/1927/482 +f 1216/1925/482 1214/1927/482 1217/1928/482 +f 1220/1929/483 1219/1930/483 1218/1931/483 +f 1220/1929/483 1218/1931/483 1221/1932/483 +f 1224/1933/484 1223/1934/484 1222/1935/484 +f 1224/1933/484 1222/1935/484 1225/1936/484 +f 1228/1937/485 1227/1938/485 1226/1939/485 +f 1228/1937/485 1226/1939/485 1229/1940/485 +f 1232/1941/486 1231/1942/486 1230/1943/486 +f 1232/1941/486 1230/1943/486 1233/1944/486 +f 1236/1945/487 1235/1946/487 1234/1947/487 +f 1236/1945/487 1234/1947/487 1237/1948/487 +f 1240/1949/488 1239/1950/488 1238/1951/488 +f 1240/1949/488 1238/1951/488 1241/1952/488 +f 1244/1953/489 1243/1954/489 1242/1955/489 +f 1244/1953/489 1242/1955/489 1245/1956/489 +f 1248/1957/490 1247/1958/490 1246/1959/490 +f 1248/1957/490 1246/1959/490 1249/1960/490 +f 1249/1961/491 1246/1962/491 1242/1963/491 +f 1249/1961/491 1242/1963/491 1243/1964/491 +f 1248/1965/492 1244/1966/492 1245/1967/492 +f 1248/1965/492 1245/1967/492 1247/1968/492 +f 1252/1969/493 1251/1970/493 1250/1971/493 +f 1252/1969/493 1250/1971/493 1253/1972/493 +f 1255/1973/494 1254/1974/494 1250/1975/494 +f 1255/1973/494 1250/1975/494 1251/1976/494 +f 1258/1977/495 1257/1978/495 1256/1979/495 +f 1258/1977/495 1256/1979/495 1259/1980/495 +f 1260/1981/496 1259/1982/496 1256/1983/496 +f 1260/1981/496 1256/1983/496 1261/1984/496 +f 1264/1985/497 1263/1986/497 1262/1987/497 +f 1264/1985/497 1262/1987/497 1265/1988/497 +f 1267/1989/498 1266/1990/498 1260/1991/498 +f 1267/1989/498 1260/1991/498 1268/1992/498 +f 1263/1993/499 1270/1994/499 1269/1995/499 +f 1263/1993/499 1269/1995/499 1262/1996/499 +f 1264/1997/500 1265/1998/500 1271/1999/500 +f 1264/1997/500 1271/1999/500 1272/2000/500 +f 1272/2001/501 1271/2002/501 1269/2003/501 +f 1272/2001/501 1269/2003/501 1270/2004/501 +f 1275/2005/502 1274/2006/502 1273/2007/502 +f 1275/2005/502 1273/2007/502 1276/2008/502 +f 1279/2009/503 1278/2010/503 1277/2011/503 +f 1279/2009/503 1277/2011/503 1280/2012/503 +f 1283/2013/504 1282/2014/504 1281/2015/504 +f 1283/2013/504 1281/2015/504 1284/2016/504 +f 1284/2017/505 1281/2018/505 1277/2019/505 +f 1284/2017/505 1277/2019/505 1278/2020/505 +f 1287/2021/506 1286/2022/506 1285/2023/506 +f 1287/2021/506 1285/2023/506 1288/2024/506 +f 1289/2025/507 1288/2026/507 1285/2027/507 +f 1289/2025/507 1285/2027/507 1290/2028/507 +f 1293/2029/508 1292/2030/508 1291/2031/508 +f 1293/2029/508 1291/2031/508 1294/2032/508 +f 1296/2033/509 1295/2034/509 1289/2035/509 +f 1296/2033/509 1289/2035/509 1297/2036/509 +f 1292/2037/510 1299/2038/510 1298/2039/510 +f 1292/2037/510 1298/2039/510 1291/2040/510 +f 1293/2041/511 1294/2042/511 1300/2043/511 +f 1293/2041/511 1300/2043/511 1301/2044/511 +f 1301/2045/512 1300/2046/512 1298/2047/512 +f 1301/2045/512 1298/2047/512 1299/2048/512 +f 1283/2049/513 1279/2050/513 1280/2051/513 +f 1283/2049/513 1280/2051/513 1282/2052/513 +f 1304/2053/514 1303/2054/514 1302/2055/514 +f 1304/2053/514 1302/2055/514 1305/2056/514 +f 1308/2057/515 1307/2058/515 1306/2059/515 +f 1308/2057/515 1306/2059/515 1309/2060/515 +f 1311/2061/516 1310/2062/516 1307/2063/516 +f 1311/2061/516 1307/2063/516 1308/2064/516 +f 1312/2065/517 1309/2066/517 1306/2067/517 +f 1312/2065/517 1306/2067/517 1313/2068/517 +f 1316/2069/518 1315/2070/518 1314/2071/518 +f 1316/2069/518 1314/2071/518 1317/2072/518 +f 1311/2073/519 1312/2074/519 1313/2075/519 +f 1311/2073/519 1313/2075/519 1310/2076/519 +f 1315/2077/520 1319/2078/520 1318/2079/520 +f 1315/2077/520 1318/2079/520 1314/2080/520 +f 1316/2081/521 1317/2082/521 1320/2083/521 +f 1316/2081/521 1320/2083/521 1321/2084/521 +f 1321/2085/522 1320/2086/522 1318/2087/522 +f 1321/2085/522 1318/2087/522 1319/2088/522 +f 1265/2089/523 1262/2090/523 1244/2091/523 +f 1265/2089/523 1244/2091/523 1248/2092/523 +f 1317/2093/524 1314/2094/524 1279/2095/524 +f 1317/2093/524 1279/2095/524 1283/2096/524 +f 1265/2097/525 1248/2098/525 1249/2099/525 +f 1265/2097/525 1249/2099/525 1271/2100/525 +f 1271/2101/526 1249/2102/526 1243/2103/526 +f 1271/2101/526 1243/2103/526 1269/2104/526 +f 1245/2105/527 1242/2106/527 1322/2107/527 +f 1245/2105/527 1322/2107/527 1239/2108/527 +f 1262/2109/528 1269/2110/528 1243/2111/528 +f 1262/2109/528 1243/2111/528 1244/2112/528 +f 1247/2113/529 1245/2114/529 1239/2115/529 +f 1247/2113/529 1239/2115/529 1240/2116/529 +f 1247/2117/530 1240/2118/530 1323/2119/530 +f 1247/2117/530 1323/2119/530 1246/2120/530 +f 1246/2121/531 1323/2122/531 1322/2123/531 +f 1246/2121/531 1322/2123/531 1242/2124/531 +f 1294/2125/532 1291/2126/532 1252/2127/532 +f 1294/2125/532 1252/2127/532 1324/2128/532 +f 1326/2129/533 1325/2130/533 1266/2131/533 +f 1326/2129/533 1266/2131/533 1267/2132/533 +f 1294/2133/534 1324/2134/534 1255/2135/534 +f 1294/2133/534 1255/2135/534 1300/2136/534 +f 1300/2137/535 1255/2138/535 1251/2139/535 +f 1300/2137/535 1251/2139/535 1298/2140/535 +f 1324/2141/536 1327/2142/536 1254/2143/536 +f 1324/2141/536 1254/2143/536 1255/2144/536 +f 1268/2145/537 1328/2146/537 1257/2147/537 +f 1268/2145/537 1257/2147/537 1258/2148/537 +f 1274/2149/538 1258/2150/538 1259/2151/538 +f 1274/2149/538 1259/2151/538 1273/2152/538 +f 1267/2153/539 1268/2154/539 1258/2155/539 +f 1267/2153/539 1258/2155/539 1274/2156/539 +f 1261/2157/540 1256/2158/540 1270/2159/540 +f 1261/2157/540 1270/2159/540 1263/2160/540 +f 1266/2161/541 1273/2162/541 1259/2163/541 +f 1266/2161/541 1259/2163/541 1260/2164/541 +f 1268/2165/542 1260/2166/542 1261/2167/542 +f 1268/2165/542 1261/2167/542 1328/2168/542 +f 1328/2169/543 1261/2170/543 1263/2171/543 +f 1328/2169/543 1263/2171/543 1264/2172/543 +f 1328/2173/544 1264/2174/544 1272/2175/544 +f 1328/2173/544 1272/2175/544 1257/2176/544 +f 1257/2177/545 1272/2178/545 1270/2179/545 +f 1257/2177/545 1270/2179/545 1256/2180/545 +f 1253/2181/546 1250/2182/546 1276/2183/546 +f 1253/2181/546 1276/2183/546 1325/2184/546 +f 1291/2185/547 1298/2186/547 1251/2187/547 +f 1291/2185/547 1251/2187/547 1252/2188/547 +f 1324/2189/548 1252/2190/548 1253/2191/548 +f 1324/2189/548 1253/2191/548 1327/2192/548 +f 1327/2193/549 1253/2194/549 1325/2195/549 +f 1327/2193/549 1325/2195/549 1326/2196/549 +f 1327/2197/550 1326/2198/550 1275/2199/550 +f 1327/2197/550 1275/2199/550 1254/2200/550 +f 1254/2201/551 1275/2202/551 1276/2203/551 +f 1254/2201/551 1276/2203/551 1250/2204/551 +f 1325/2205/552 1276/2206/552 1273/2207/552 +f 1325/2205/552 1273/2207/552 1266/2208/552 +f 1326/2209/553 1267/2210/553 1274/2211/553 +f 1326/2209/553 1274/2211/553 1275/2212/553 +f 1330/2213/554 1329/2214/554 1295/2215/554 +f 1330/2213/554 1295/2215/554 1296/2216/554 +f 1317/2217/555 1283/2218/555 1284/2219/555 +f 1317/2217/555 1284/2219/555 1320/2220/555 +f 1320/2221/556 1284/2222/556 1278/2223/556 +f 1320/2221/556 1278/2223/556 1318/2224/556 +f 1297/2225/557 1331/2226/557 1286/2227/557 +f 1297/2225/557 1286/2227/557 1287/2228/557 +f 1303/2229/558 1287/2230/558 1288/2231/558 +f 1303/2229/558 1288/2231/558 1302/2232/558 +f 1296/2233/559 1297/2234/559 1287/2235/559 +f 1296/2233/559 1287/2235/559 1303/2236/559 +f 1290/2237/560 1285/2238/560 1299/2239/560 +f 1290/2237/560 1299/2239/560 1292/2240/560 +f 1295/2241/561 1302/2242/561 1288/2243/561 +f 1295/2241/561 1288/2243/561 1289/2244/561 +f 1297/2245/562 1289/2246/562 1290/2247/562 +f 1297/2245/562 1290/2247/562 1331/2248/562 +f 1331/2249/563 1290/2250/563 1292/2251/563 +f 1331/2249/563 1292/2251/563 1293/2252/563 +f 1331/2253/564 1293/2254/564 1301/2255/564 +f 1331/2253/564 1301/2255/564 1286/2256/564 +f 1286/2257/565 1301/2258/565 1299/2259/565 +f 1286/2257/565 1299/2259/565 1285/2260/565 +f 1280/2261/566 1277/2262/566 1305/2263/566 +f 1280/2261/566 1305/2263/566 1329/2264/566 +f 1314/2265/567 1318/2266/567 1278/2267/567 +f 1314/2265/567 1278/2267/567 1279/2268/567 +f 1282/2269/568 1280/2270/568 1329/2271/568 +f 1282/2269/568 1329/2271/568 1330/2272/568 +f 1282/2273/569 1330/2274/569 1304/2275/569 +f 1282/2273/569 1304/2275/569 1281/2276/569 +f 1281/2277/570 1304/2278/570 1305/2279/570 +f 1281/2277/570 1305/2279/570 1277/2280/570 +f 1329/2281/571 1305/2282/571 1302/2283/571 +f 1329/2281/571 1302/2283/571 1295/2284/571 +f 1330/2285/572 1296/2286/572 1303/2287/572 +f 1330/2285/572 1303/2287/572 1304/2288/572 +f 1332/2289/573 1308/2290/573 1309/2291/573 +f 1332/2289/573 1309/2291/573 1333/2292/573 +f 1334/2293/574 1311/2294/574 1308/2295/574 +f 1334/2293/574 1308/2295/574 1332/2296/574 +f 1334/2297/575 1335/2298/575 1312/2299/575 +f 1334/2297/575 1312/2299/575 1311/2300/575 +f 1313/2301/576 1306/2302/576 1319/2303/576 +f 1313/2301/576 1319/2303/576 1315/2304/576 +f 1335/2305/577 1333/2306/577 1309/2307/577 +f 1335/2305/577 1309/2307/577 1312/2308/577 +f 1310/2309/578 1313/2310/578 1315/2311/578 +f 1310/2309/578 1315/2311/578 1316/2312/578 +f 1310/2313/579 1316/2314/579 1321/2315/579 +f 1310/2313/579 1321/2315/579 1307/2316/579 +f 1307/2317/580 1321/2318/580 1319/2319/580 +f 1307/2317/580 1319/2319/580 1306/2320/580 +f 1337/2321/581 1336/2322/581 1335/2323/581 +f 1337/2321/581 1335/2323/581 1334/2324/581 +f 1336/2325/582 1338/2326/582 1333/2327/582 +f 1336/2325/582 1333/2327/582 1335/2328/582 +f 1337/2329/583 1334/2330/583 1332/2331/583 +f 1337/2329/583 1332/2331/583 1339/2332/583 +f 1339/2333/584 1332/2334/584 1333/2335/584 +f 1339/2333/584 1333/2335/584 1338/2336/584 +f 1340/2337/585 1241/2338/585 1238/2339/585 +f 1340/2337/585 1238/2339/585 1341/2340/585 +f 1341/2341/586 1238/2342/586 1239/2343/586 +f 1341/2341/586 1239/2343/586 1322/2344/586 +f 1240/2345/587 1241/2346/587 1340/2347/587 +f 1240/2345/587 1340/2347/587 1323/2348/587 +f 1323/2349/588 1340/2350/588 1341/2351/588 +f 1323/2349/588 1341/2351/588 1322/2352/588 +f 1344/2353/589 1343/2354/589 1342/2355/589 +f 1344/2353/589 1342/2355/589 1345/2356/589 +f 1346/2357/590 1345/2358/590 1342/2359/590 +f 1346/2357/590 1342/2359/590 1347/2360/590 +f 1350/2361/591 1349/2362/591 1348/2363/591 +f 1350/2361/591 1348/2363/591 1351/2364/591 +f 1349/2365/592 1353/2366/592 1352/2367/592 +f 1349/2365/592 1352/2367/592 1348/2368/592 +f 1350/2369/593 1351/2370/593 1354/2371/593 +f 1350/2369/593 1354/2371/593 1355/2372/593 +f 1355/2373/594 1354/2374/594 1352/2375/594 +f 1355/2373/594 1352/2375/594 1353/2376/594 +f 1357/2377/595 1356/2378/595 1343/2379/595 +f 1357/2377/595 1343/2379/595 1344/2380/595 +f 1358/2381/596 1344/2382/596 1345/2383/596 +f 1358/2381/596 1345/2383/596 1359/2384/596 +f 1360/2385/597 1357/2386/597 1344/2387/597 +f 1360/2385/597 1344/2387/597 1358/2388/597 +f 1360/2389/598 1361/2390/598 1346/2391/598 +f 1360/2389/598 1346/2391/598 1357/2392/598 +f 1347/2393/599 1342/2394/599 1353/2395/599 +f 1347/2393/599 1353/2395/599 1349/2396/599 +f 1361/2397/600 1359/2398/600 1345/2399/600 +f 1361/2397/600 1345/2399/600 1346/2400/600 +f 1357/2401/601 1346/2402/601 1347/2403/601 +f 1357/2401/601 1347/2403/601 1356/2404/601 +f 1356/2405/602 1347/2406/602 1349/2407/602 +f 1356/2405/602 1349/2407/602 1350/2408/602 +f 1356/2409/603 1350/2410/603 1355/2411/603 +f 1356/2409/603 1355/2411/603 1343/2412/603 +f 1353/2413/604 1342/2414/604 1343/2415/604 +f 1353/2413/604 1343/2415/604 1355/2416/604 +f 1363/2417/605 1362/2418/605 1361/2419/605 +f 1363/2417/605 1361/2419/605 1360/2420/605 +f 1362/2421/606 1364/2422/606 1359/2423/606 +f 1362/2421/606 1359/2423/606 1361/2424/606 +f 1363/2425/607 1360/2426/607 1358/2427/607 +f 1363/2425/607 1358/2427/607 1365/2428/607 +f 1365/2429/608 1358/2430/608 1359/2431/608 +f 1365/2429/608 1359/2431/608 1364/2432/608 +f 1348/2433/609 1352/2434/609 1354/2435/609 +f 1348/2433/609 1354/2435/609 1351/2436/609 +f 1369/2437/610 1368/2438/610 1367/2439/610 +f 1369/2437/610 1367/2439/610 1370/2440/610 +f 1373/2441/611 1372/2442/611 1371/2443/611 +f 1373/2441/611 1371/2443/611 1374/2444/611 +f 1377/2445/612 1376/2446/612 1375/2447/612 +f 1377/2445/612 1375/2447/612 1378/2448/612 +f 1381/2449/613 1380/2450/613 1379/2451/613 +f 1381/2449/613 1379/2451/613 1382/2452/613 +f 1385/2453/614 1384/2454/614 1383/2455/614 +f 1385/2453/614 1383/2455/614 1386/2456/614 +f 1389/2457/615 1388/2458/615 1387/2459/615 +f 1389/2457/615 1387/2459/615 1390/2460/615 +f 1393/2461/616 1392/2462/616 1391/2463/616 +f 1393/2461/616 1391/2463/616 1394/2464/616 +f 1397/2465/617 1396/2466/617 1395/2467/617 +f 1397/2465/617 1395/2467/617 1398/2468/617 +f 1401/2469/618 1400/2470/618 1399/2471/618 +f 1401/2469/618 1399/2471/618 1402/2472/618 +f 1405/2473/619 1404/2474/619 1403/2475/619 +f 1405/2473/619 1403/2475/619 1406/2476/619 +f 1409/2477/620 1408/2478/620 1407/2479/620 +f 1409/2477/620 1407/2479/620 1410/2480/620 +f 1413/2481/621 1412/2482/621 1411/2483/621 +f 1413/2481/621 1411/2483/621 1414/2484/621 +f 1417/2485/622 1416/2486/622 1415/2487/622 +f 1417/2485/622 1415/2487/622 1418/2488/622 +f 1421/2489/623 1420/2490/623 1419/2491/623 +f 1421/2489/623 1419/2491/623 1422/2492/623 +f 1425/2493/624 1424/2494/624 1423/2495/624 +f 1425/2493/624 1423/2495/624 1426/2496/624 +f 1429/2497/625 1428/2498/625 1427/2499/625 +f 1429/2497/625 1427/2499/625 1430/2500/625 +f 1433/2501/626 1432/2502/626 1431/2503/626 +f 1433/2501/626 1431/2503/626 1434/2504/626 +f 1437/2505/627 1436/2506/627 1435/2507/627 +f 1437/2505/627 1435/2507/627 1438/2508/627 +f 1441/2509/628 1440/2510/628 1439/2511/628 +f 1441/2509/628 1439/2511/628 1442/2512/628 +f 1445/2513/629 1444/2514/629 1443/2515/629 +f 1445/2513/629 1443/2515/629 1446/2516/629 +f 1449/2517/630 1448/2518/630 1447/2519/630 +f 1449/2517/630 1447/2519/630 1450/2520/630 +f 1453/2521/631 1452/2522/631 1451/2523/631 +f 1453/2521/631 1451/2523/631 1454/2524/631 +f 1457/2525/632 1456/2526/632 1455/2527/632 +f 1457/2525/632 1455/2527/632 1458/2528/632 +f 1461/2529/633 1460/2530/633 1459/2531/633 +f 1461/2529/633 1459/2531/633 1462/2532/633 +f 1465/2533/634 1464/2534/634 1463/2535/634 +f 1465/2533/634 1463/2535/634 1466/2536/634 +f 1469/2537/635 1468/2538/635 1467/2539/635 +f 1469/2537/635 1467/2539/635 1470/2540/635 +f 1473/2541/636 1472/2542/636 1471/2543/636 +f 1473/2541/636 1471/2543/636 1474/2544/636 +f 1477/2545/637 1476/2546/637 1475/2547/637 +f 1477/2545/637 1475/2547/637 1478/2548/637 +f 1481/2549/638 1480/2550/638 1479/2551/638 +f 1481/2549/638 1479/2551/638 1482/2552/638 +f 1485/2553/639 1484/2554/639 1483/2555/639 +f 1485/2553/639 1483/2555/639 1486/2556/639 +f 1489/2557/640 1488/2558/640 1487/2559/640 +f 1489/2557/640 1487/2559/640 1490/2560/640 +f 1493/2561/641 1492/2562/641 1491/2563/641 +f 1493/2561/641 1491/2563/641 1494/2564/641 +f 1497/2565/642 1496/2566/642 1495/2567/642 +f 1497/2565/642 1495/2567/642 1498/2568/642 +f 1501/2569/643 1500/2570/643 1499/2571/643 +f 1501/2569/643 1499/2571/643 1502/2572/643 +f 1505/2573/644 1504/2574/644 1503/2575/644 +f 1505/2573/644 1503/2575/644 1506/2576/644 +f 1509/2577/645 1508/2578/645 1507/2579/645 +f 1509/2577/645 1507/2579/645 1510/2580/645 +f 1513/2581/646 1512/2582/646 1511/2583/646 +f 1513/2581/646 1511/2583/646 1514/2584/646 +f 1517/2585/647 1516/2586/647 1515/2587/647 +f 1517/2585/647 1515/2587/647 1518/2588/647 +f 1521/2589/648 1520/2590/648 1519/2591/648 +f 1521/2589/648 1519/2591/648 1522/2592/648 +f 1525/2593/649 1524/2594/649 1523/2595/649 +f 1525/2593/649 1523/2595/649 1526/2596/649 +f 1529/2597/650 1528/2598/650 1527/2599/650 +f 1529/2597/650 1527/2599/650 1530/2600/650 +f 1533/2601/651 1532/2602/651 1531/2603/651 +f 1533/2601/651 1531/2603/651 1534/2604/651 +f 1537/2605/652 1536/2606/652 1535/2607/652 +f 1537/2605/652 1535/2607/652 1538/2608/652 +f 1541/2609/653 1540/2610/653 1539/2611/653 +f 1541/2609/653 1539/2611/653 1542/2612/653 +f 1545/2613/654 1544/2614/654 1543/2615/654 +f 1545/2613/654 1543/2615/654 1546/2616/654 +f 1549/2617/655 1548/2618/655 1547/2619/655 +f 1549/2617/655 1547/2619/655 1550/2620/655 +f 1553/2621/656 1552/2622/656 1551/2623/656 +f 1553/2621/656 1551/2623/656 1554/2624/656 +f 1557/2625/657 1556/2626/657 1555/2627/657 +f 1557/2625/657 1555/2627/657 1558/2628/657 +f 1561/2629/658 1560/2630/658 1559/2631/658 +f 1561/2629/658 1559/2631/658 1562/2632/658 +f 1565/2633/659 1564/2634/659 1563/2635/659 +f 1565/2633/659 1563/2635/659 1566/2636/659 +f 1569/2637/660 1568/2638/660 1567/2639/660 +f 1569/2637/660 1567/2639/660 1570/2640/660 +f 1573/2641/661 1572/2642/661 1571/2643/661 +f 1573/2641/661 1571/2643/661 1574/2644/661 +f 1577/2645/662 1576/2646/662 1575/2647/662 +f 1577/2645/662 1575/2647/662 1578/2648/662 +f 1581/2649/663 1580/2650/663 1579/2651/663 +f 1581/2649/663 1579/2651/663 1582/2652/663 +f 1585/2653/664 1584/2654/664 1583/2655/664 +f 1585/2653/664 1583/2655/664 1586/2656/664 +f 1589/2657/665 1588/2658/665 1587/2659/665 +f 1589/2657/665 1587/2659/665 1590/2660/665 +f 1593/2661/666 1592/2662/666 1591/2663/666 +f 1593/2661/666 1591/2663/666 1594/2664/666 +f 1597/2665/667 1596/2666/667 1595/2667/667 +f 1597/2665/667 1595/2667/667 1598/2668/667 +f 1601/2669/668 1600/2670/668 1599/2671/668 +f 1601/2669/668 1599/2671/668 1602/2672/668 +f 1605/2673/669 1604/2674/669 1603/2675/669 +f 1605/2673/669 1603/2675/669 1606/2676/669 +f 1609/2677/670 1608/2678/670 1607/2679/670 +f 1609/2677/670 1607/2679/670 1610/2680/670 +f 1613/2681/671 1612/2682/671 1611/2683/671 +f 1613/2681/671 1611/2683/671 1614/2684/671 +f 1617/2685/672 1616/2686/672 1615/2687/672 +f 1617/2685/672 1615/2687/672 1618/2688/672 +f 1621/2689/673 1620/2690/673 1619/2691/673 +f 1621/2689/673 1619/2691/673 1622/2692/673 +f 1625/2693/674 1624/2694/674 1623/2695/674 +f 1625/2693/674 1623/2695/674 1626/2696/674 +f 1629/2697/675 1628/2698/675 1627/2699/675 +f 1629/2697/675 1627/2699/675 1630/2700/675 +f 1633/2701/676 1632/2702/676 1631/2703/676 +f 1633/2701/676 1631/2703/676 1634/2704/676 +f 1637/2705/677 1636/2706/677 1635/2707/677 +f 1637/2705/677 1635/2707/677 1638/2708/677 +f 1641/2709/678 1640/2710/678 1639/2711/678 +f 1641/2709/678 1639/2711/678 1642/2712/678 +f 1645/2713/679 1644/2714/679 1643/2715/679 +f 1645/2713/679 1643/2715/679 1646/2716/679 +f 1/2717/680 1648/2718/680 1647/2719/680 +f 1/2717/680 1647/2719/680 1649/2720/680 +f 1652/2721/681 1651/2722/681 1650/2723/681 +f 1652/2721/681 1650/2723/681 1653/2724/681 +f 1656/2725/682 1655/2726/682 1654/2727/682 +f 1656/2725/682 1654/2727/682 1657/2728/682 +f 1660/2729/683 1659/2730/683 1658/2731/683 +f 1660/2729/683 1658/2731/683 1661/2732/683 +f 1664/2733/684 1663/2734/684 1662/2735/684 +f 1664/2733/684 1662/2735/684 1665/2736/684 +f 1668/2737/685 1667/2738/685 1666/2739/685 +f 1668/2737/685 1666/2739/685 1669/2740/685 +f 1672/2741/686 1671/2742/686 1670/2743/686 +f 1672/2741/686 1670/2743/686 1673/2744/686 +f 1676/2745/687 1675/2746/687 1674/2747/687 +f 1676/2745/687 1674/2747/687 1677/2748/687 +f 1680/2749/688 1679/2750/688 1678/2751/688 +f 1680/2749/688 1678/2751/688 1681/2752/688 +f 1684/2753/689 1683/2754/689 1682/2755/689 +f 1684/2753/689 1682/2755/689 1685/2756/689 +f 1687/2757/690 1686/2758/690 1366/2759/690 +f 1687/2757/690 1366/2759/690 1688/2760/690 +f 1691/2761/691 1690/2762/691 1689/2763/691 +f 1691/2761/691 1689/2763/691 1692/2764/691 +f 1695/2765/692 1694/2766/692 1693/2767/692 +f 1695/2765/692 1693/2767/692 1696/2768/692 +f 1699/2769/693 1698/2770/693 1697/2771/693 +f 1699/2769/693 1697/2771/693 1700/2772/693 +f 1703/2773/694 1702/2774/694 1701/2775/694 +f 1703/2773/694 1701/2775/694 1704/2776/694 +f 1707/2777/695 1706/2778/695 1705/2779/695 +f 1707/2777/695 1705/2779/695 1708/2780/695 +f 1711/2781/696 1710/2782/696 1709/2783/696 +f 1711/2781/696 1709/2783/696 1712/2784/696 +f 1715/2785/697 1714/2786/697 1713/2787/697 +f 1715/2785/697 1713/2787/697 1716/2788/697 +f 1719/2789/698 1718/2790/698 1717/2791/698 +f 1719/2789/698 1717/2791/698 1720/2792/698 +f 1723/2793/699 1722/2794/699 1721/2795/699 +f 1723/2793/699 1721/2795/699 1724/2796/699 +f 1727/2797/700 1726/2798/700 1725/2799/700 +f 1727/2797/700 1725/2799/700 1728/2800/700 +f 1731/2801/701 1730/2802/701 1729/2803/701 +f 1731/2801/701 1729/2803/701 1732/2804/701 +f 1735/2805/702 1734/2806/702 1733/2807/702 +f 1735/2805/702 1733/2807/702 1736/2808/702 +f 1739/2809/703 1738/2810/703 1737/2811/703 +f 1739/2809/703 1737/2811/703 1740/2812/703 +f 1743/2813/704 1742/2814/704 1741/2815/704 +f 1743/2813/704 1741/2815/704 1744/2816/704 +f 1747/2817/705 1746/2818/705 1745/2819/705 +f 1747/2817/705 1745/2819/705 1748/2820/705 +f 1751/2821/706 1750/2822/706 1749/2823/706 +f 1751/2821/706 1749/2823/706 1752/2824/706 +f 1755/2825/707 1754/2826/707 1753/2827/707 +f 1755/2825/707 1753/2827/707 1756/2828/707 +f 1759/2829/708 1758/2830/708 1757/2831/708 +f 1759/2829/708 1757/2831/708 1760/2832/708 +f 1763/2833/709 1762/2834/709 1761/2835/709 +f 1763/2833/709 1761/2835/709 1764/2836/709 +f 1767/2837/710 1766/2838/710 1765/2839/710 +f 1767/2837/710 1765/2839/710 1768/2840/710 +f 1771/2841/711 1770/2842/711 1769/2843/711 +f 1771/2841/711 1769/2843/711 1772/2844/711 +f 1775/2845/712 1774/2846/712 1773/2847/712 +f 1775/2845/712 1773/2847/712 1776/2848/712 +f 1779/2849/713 1778/2850/713 1777/2851/713 +f 1779/2849/713 1777/2851/713 1780/2852/713 +f 1783/2853/714 1782/2854/714 1781/2855/714 +f 1783/2853/714 1781/2855/714 1784/2856/714 +f 1787/2857/715 1786/2858/715 1785/2859/715 +f 1787/2857/715 1785/2859/715 1788/2860/715 +f 1791/2861/716 1790/2862/716 1789/2863/716 +f 1791/2861/716 1789/2863/716 1792/2864/716 +f 1795/2865/717 1794/2866/717 1793/2867/717 +f 1795/2865/717 1793/2867/717 1796/2868/717 +f 1799/2869/718 1798/2870/718 1797/2871/718 +f 1799/2869/718 1797/2871/718 1800/2872/718 +f 1803/2873/719 1802/2874/719 1801/2875/719 +f 1803/2873/719 1801/2875/719 1804/2876/719 +f 1807/2877/720 1806/2878/720 1805/2879/720 +f 1807/2877/720 1805/2879/720 1808/2880/720 +f 1811/2881/721 1810/2882/721 1809/2883/721 +f 1811/2881/721 1809/2883/721 1812/2884/721 +f 1815/2885/722 1814/2886/722 1813/2887/722 +f 1815/2885/722 1813/2887/722 1816/2888/722 +f 1819/2889/723 1818/2890/723 1817/2891/723 +f 1819/2889/723 1817/2891/723 1820/2892/723 +f 1823/2893/724 1822/2894/724 1821/2895/724 +f 1823/2893/724 1821/2895/724 1824/2896/724 +f 1827/2897/725 1826/2898/725 1825/2899/725 +f 1827/2897/725 1825/2899/725 1828/2900/725 +f 1831/2901/726 1830/2902/726 1829/2903/726 +f 1831/2901/726 1829/2903/726 1832/2904/726 +f 1835/2905/727 1834/2906/727 1833/2907/727 +f 1835/2905/727 1833/2907/727 1836/2908/727 +f 1839/2909/728 1838/2910/728 1837/2911/728 +f 1839/2909/728 1837/2911/728 1840/2912/728 +f 1843/2913/729 1842/2914/729 1841/2915/729 +f 1843/2913/729 1841/2915/729 1844/2916/729 +f 1847/2917/730 1846/2918/730 1845/2919/730 +f 1847/2917/730 1845/2919/730 1848/2920/730 +f 1851/2921/731 1850/2922/731 1849/2923/731 +f 1851/2921/731 1849/2923/731 1852/2924/731 +f 1855/2925/732 1854/2926/732 1853/2927/732 +f 1855/2925/732 1853/2927/732 1856/2928/732 +f 1859/2929/733 1858/2930/733 1857/2931/733 +f 1859/2929/733 1857/2931/733 1860/2932/733 +f 1863/2933/734 1862/2934/734 1861/2935/734 +f 1863/2933/734 1861/2935/734 1864/2936/734 +f 1867/2937/735 1866/2938/735 1865/2939/735 +f 1867/2937/735 1865/2939/735 1868/2940/735 +f 1871/2941/736 1870/2942/736 1869/2943/736 +f 1871/2941/736 1869/2943/736 1872/2944/736 +f 1875/2945/737 1874/2946/737 1873/2947/737 +f 1875/2945/737 1873/2947/737 1876/2948/737 +f 1879/2949/738 1878/2950/738 1877/2951/738 +f 1879/2949/738 1877/2951/738 1880/2952/738 +f 1883/2953/739 1882/2954/739 1881/2955/739 +f 1883/2953/739 1881/2955/739 1884/2956/739 +f 1887/2957/740 1886/2958/740 1885/2959/740 +f 1887/2957/740 1885/2959/740 1888/2960/740 +f 1891/2961/741 1890/2962/741 1889/2963/741 +f 1891/2961/741 1889/2963/741 1892/2964/741 +f 1895/2965/742 1894/2966/742 1893/2967/742 +f 1895/2965/742 1893/2967/742 1896/2968/742 +f 1899/2969/743 1898/2970/743 1897/2971/743 +f 1899/2969/743 1897/2971/743 1900/2972/743 +f 1903/2973/744 1902/2974/744 1901/2975/744 +f 1903/2973/744 1901/2975/744 1904/2976/744 +f 1907/2977/745 1906/2978/745 1905/2979/745 +f 1907/2977/745 1905/2979/745 1908/2980/745 +f 1911/2981/746 1910/2982/746 1909/2983/746 +f 1911/2981/746 1909/2983/746 1912/2984/746 +f 1915/2985/747 1914/2986/747 1913/2987/747 +f 1915/2985/747 1913/2987/747 1916/2988/747 +f 1919/2989/748 1918/2990/748 1917/2991/748 +f 1919/2989/748 1917/2991/748 1920/2992/748 +f 1923/2993/749 1922/2994/749 1921/2995/749 +f 1923/2993/749 1921/2995/749 1924/2996/749 +f 1927/2997/750 1926/2998/750 1925/2999/750 +f 1927/2997/750 1925/2999/750 1928/3000/750 +f 1931/3001/751 1930/3002/751 1929/3003/751 +f 1931/3001/751 1929/3003/751 1932/3004/751 +f 1935/3005/752 1934/3006/752 1933/3007/752 +f 1935/3005/752 1933/3007/752 1936/3008/752 +f 1936/3009/753 1933/3010/753 1929/3011/753 +f 1936/3009/753 1929/3011/753 1930/3012/753 +f 1935/3013/754 1931/3014/754 1932/3015/754 +f 1935/3013/754 1932/3015/754 1934/3016/754 +f 1939/3017/755 1938/3018/755 1937/3019/755 +f 1939/3017/755 1937/3019/755 1940/3020/755 +f 1941/3021/756 1940/3022/756 1937/3023/756 +f 1941/3021/756 1937/3023/756 1942/3024/756 +f 1945/3025/757 1944/3026/757 1943/3027/757 +f 1945/3025/757 1943/3027/757 1946/3028/757 +f 1948/3029/758 1947/3030/758 1941/3031/758 +f 1948/3029/758 1941/3031/758 1949/3032/758 +f 1944/3033/759 1951/3034/759 1950/3035/759 +f 1944/3033/759 1950/3035/759 1943/3036/759 +f 1945/3037/760 1946/3038/760 1952/3039/760 +f 1945/3037/760 1952/3039/760 1953/3040/760 +f 1953/3041/761 1952/3042/761 1950/3043/761 +f 1953/3041/761 1950/3043/761 1951/3044/761 +f 1956/3045/762 1955/3046/762 1954/3047/762 +f 1956/3045/762 1954/3047/762 1957/3048/762 +f 1946/3049/763 1943/3050/763 1931/3051/763 +f 1946/3049/763 1931/3051/763 1935/3052/763 +f 1946/3053/764 1935/3054/764 1936/3055/764 +f 1946/3053/764 1936/3055/764 1952/3056/764 +f 1952/3057/765 1936/3058/765 1930/3059/765 +f 1952/3057/765 1930/3059/765 1950/3060/765 +f 1932/3061/766 1929/3062/766 1958/3063/766 +f 1932/3061/766 1958/3063/766 1926/3064/766 +f 1943/3065/767 1950/3066/767 1930/3067/767 +f 1943/3065/767 1930/3067/767 1931/3068/767 +f 1934/3069/768 1932/3070/768 1926/3071/768 +f 1934/3069/768 1926/3071/768 1927/3072/768 +f 1934/3073/769 1927/3074/769 1959/3075/769 +f 1934/3073/769 1959/3075/769 1933/3076/769 +f 1933/3077/770 1959/3078/770 1958/3079/770 +f 1933/3077/770 1958/3079/770 1929/3080/770 +f 1961/3081/771 1960/3082/771 1947/3083/771 +f 1961/3081/771 1947/3083/771 1948/3084/771 +f 1949/3085/772 1962/3086/772 1938/3087/772 +f 1949/3085/772 1938/3087/772 1939/3088/772 +f 1955/3089/773 1939/3090/773 1940/3091/773 +f 1955/3089/773 1940/3091/773 1954/3092/773 +f 1948/3093/774 1949/3094/774 1939/3095/774 +f 1948/3093/774 1939/3095/774 1955/3096/774 +f 1942/3097/775 1937/3098/775 1951/3099/775 +f 1942/3097/775 1951/3099/775 1944/3100/775 +f 1947/3101/776 1954/3102/776 1940/3103/776 +f 1947/3101/776 1940/3103/776 1941/3104/776 +f 1949/3105/777 1941/3106/777 1942/3107/777 +f 1949/3105/777 1942/3107/777 1962/3108/777 +f 1962/3109/778 1942/3110/778 1944/3111/778 +f 1962/3109/778 1944/3111/778 1945/3112/778 +f 1962/3113/779 1945/3114/779 1953/3115/779 +f 1962/3113/779 1953/3115/779 1938/3116/779 +f 1938/3117/780 1953/3118/780 1951/3119/780 +f 1938/3117/780 1951/3119/780 1937/3120/780 +f 1960/3121/781 1957/3122/781 1954/3123/781 +f 1960/3121/781 1954/3123/781 1947/3124/781 +f 1961/3125/782 1948/3126/782 1955/3127/782 +f 1961/3125/782 1955/3127/782 1956/3128/782 +f 1963/3129/783 1928/3130/783 1925/3131/783 +f 1963/3129/783 1925/3131/783 1964/3132/783 +f 1964/3133/784 1925/3134/784 1926/3135/784 +f 1964/3133/784 1926/3135/784 1958/3136/784 +f 1927/3137/785 1928/3138/785 1963/3139/785 +f 1927/3137/785 1963/3139/785 1959/3140/785 +f 1959/3141/786 1963/3142/786 1964/3143/786 +f 1959/3141/786 1964/3143/786 1958/3144/786 +f 1967/3145/787 1966/3146/787 1965/3147/787 +f 1967/3145/787 1965/3147/787 1968/3148/787 +f 1969/3149/788 1968/3150/788 1965/3151/788 +f 1969/3149/788 1965/3151/788 1970/3152/788 +f 1973/3153/789 1972/3154/789 1971/3155/789 +f 1973/3153/789 1971/3155/789 1974/3156/789 +f 1972/3157/790 1976/3158/790 1975/3159/790 +f 1972/3157/790 1975/3159/790 1971/3160/790 +f 1973/3161/791 1974/3162/791 1977/3163/791 +f 1973/3161/791 1977/3163/791 1978/3164/791 +f 1978/3165/792 1977/3166/792 1975/3167/792 +f 1978/3165/792 1975/3167/792 1976/3168/792 +f 1980/3169/793 1979/3170/793 1966/3171/793 +f 1980/3169/793 1966/3171/793 1967/3172/793 +f 1981/3173/794 1967/3174/794 1968/3175/794 +f 1981/3173/794 1968/3175/794 1982/3176/794 +f 1983/3177/795 1980/3178/795 1967/3179/795 +f 1983/3177/795 1967/3179/795 1981/3180/795 +f 1983/3181/796 1984/3182/796 1969/3183/796 +f 1983/3181/796 1969/3183/796 1980/3184/796 +f 1970/3185/797 1965/3186/797 1976/3187/797 +f 1970/3185/797 1976/3187/797 1972/3188/797 +f 1984/3189/798 1982/3190/798 1968/3191/798 +f 1984/3189/798 1968/3191/798 1969/3192/798 +f 1980/3193/799 1969/3194/799 1970/3195/799 +f 1980/3193/799 1970/3195/799 1979/3196/799 +f 1979/3197/800 1970/3198/800 1972/3199/800 +f 1979/3197/800 1972/3199/800 1973/3200/800 +f 1979/3201/801 1973/3202/801 1978/3203/801 +f 1979/3201/801 1978/3203/801 1966/3204/801 +f 1976/3205/802 1965/3206/802 1966/3207/802 +f 1976/3205/802 1966/3207/802 1978/3208/802 +f 1986/3209/803 1985/3210/803 1984/3211/803 +f 1986/3209/803 1984/3211/803 1983/3212/803 +f 1985/3213/804 1987/3214/804 1982/3215/804 +f 1985/3213/804 1982/3215/804 1984/3216/804 +f 1986/3217/805 1983/3218/805 1981/3219/805 +f 1986/3217/805 1981/3219/805 1988/3220/805 +f 1988/3221/806 1981/3222/806 1982/3223/806 +f 1988/3221/806 1982/3223/806 1987/3224/806 +f 1971/3225/807 1975/3226/807 1977/3227/807 +f 1971/3225/807 1977/3227/807 1974/3228/807 +f 1992/3229/808 1990/3230/808 1989/3231/808 +f 1992/3229/808 1989/3231/808 1991/3232/808 +f 1995/3233/809 1993/3234/809 1994/3235/809 +f 1995/3233/809 1994/3235/809 1996/3236/809 +f 1989/3237/810 1990/3238/810 1994/3239/810 +f 1989/3237/810 1994/3239/810 1993/3240/810 +f 1991/3241/811 1989/3242/811 1993/3243/811 +f 1991/3241/811 1993/3243/811 1995/3244/811 +f 1996/3245/812 1994/3246/812 1990/3247/812 +f 1996/3245/812 1990/3247/812 1992/3248/812 +f 2000/3249/813 1998/3250/813 1997/3251/813 +f 2000/3249/813 1997/3251/813 1999/3252/813 +f 2003/3253/814 2001/3254/814 2002/3255/814 +f 2003/3253/814 2002/3255/814 2004/3256/814 +f 1997/3257/815 1998/3258/815 2002/3259/815 +f 1997/3257/815 2002/3259/815 2001/3260/815 +f 1999/3261/816 1997/3262/816 2001/3263/816 +f 1999/3261/816 2001/3263/816 2003/3264/816 +f 2004/3265/817 2002/3266/817 1998/3267/817 +f 2004/3265/817 1998/3267/817 2000/3268/817 usemtl flagpole -f 2008/3269/818 2006/3270/818 2005/3271/818 2007/3272/818 -f 2011/3273/819 2009/3274/819 2010/3275/819 2012/3276/819 -f 2006/3277/820 2010/3278/820 2005/3279/820 2009/3280/820 -f 2007/3281/821 2011/3282/821 2008/3283/821 2012/3284/821 -f 2005/3285/822 2009/3286/822 2007/3287/822 2011/3288/822 -f 2010/3289/823 2006/3290/823 2012/3291/823 2008/3292/823 +f 2008/3269/818 2006/3270/818 2005/3271/818 +f 2008/3269/818 2005/3271/818 2007/3272/818 +f 2011/3273/819 2009/3274/819 2010/3275/819 +f 2011/3273/819 2010/3275/819 2012/3276/819 +f 2006/3277/820 2010/3278/820 2005/3279/820 +f 2006/3277/820 2005/3279/820 2009/3280/820 +f 2007/3281/821 2011/3282/821 2008/3283/821 +f 2007/3281/821 2008/3283/821 2012/3284/821 +f 2005/3285/822 2009/3286/822 2007/3287/822 +f 2005/3285/822 2007/3287/822 2011/3288/822 +f 2010/3289/823 2006/3290/823 2012/3291/823 +f 2010/3289/823 2012/3291/823 2008/3292/823 usemtl flagpole_mod -f 2016/3293/824 2014/3294/824 2013/3295/824 2015/3296/824 -f 2019/3297/825 2017/3298/825 2018/3299/825 2020/3300/825 -f 2013/3301/826 2014/3302/826 2018/3303/826 2017/3304/826 -f 2016/3305/827 2015/3306/827 2019/3307/827 2020/3308/827 -f 2015/3309/828 2013/3310/828 2017/3311/828 2019/3312/828 -f 2020/3313/829 2018/3314/829 2014/3315/829 2016/3316/829 -f 2024/3317/830 2022/3318/830 2021/3319/830 2023/3320/830 -f 2027/3321/831 2025/3322/831 2026/3323/831 2028/3324/831 -f 2021/3325/832 2022/3326/832 2026/3327/832 2025/3328/832 -f 2023/3329/833 2021/3330/833 2025/3331/833 2027/3332/833 -f 2028/3333/834 2026/3334/834 2022/3335/834 2024/3336/834 -f 2032/3337/835 2030/3338/835 2029/3339/835 2031/3340/835 -f 2035/3341/836 2033/3342/836 2034/3343/836 2036/3344/836 -f 2029/3345/837 2030/3346/837 2034/3347/837 2033/3348/837 -f 2031/3349/838 2029/3350/838 2033/3351/838 2035/3352/838 -f 2036/3353/839 2034/3354/839 2030/3355/839 2032/3356/839 \ No newline at end of file +f 2016/3293/824 2014/3294/824 2013/3295/824 +f 2016/3293/824 2013/3295/824 2015/3296/824 +f 2019/3297/825 2017/3298/825 2018/3299/825 +f 2019/3297/825 2018/3299/825 2020/3300/825 +f 2013/3301/826 2014/3302/826 2018/3303/826 +f 2013/3301/826 2018/3303/826 2017/3304/826 +f 2016/3305/827 2015/3306/827 2019/3307/827 +f 2016/3305/827 2019/3307/827 2020/3308/827 +f 2015/3309/828 2013/3310/828 2017/3311/828 +f 2015/3309/828 2017/3311/828 2019/3312/828 +f 2020/3313/829 2018/3314/829 2014/3315/829 +f 2020/3313/829 2014/3315/829 2016/3316/829 +f 2024/3317/830 2022/3318/830 2021/3319/830 +f 2024/3317/830 2021/3319/830 2023/3320/830 +f 2027/3321/831 2025/3322/831 2026/3323/831 +f 2027/3321/831 2026/3323/831 2028/3324/831 +f 2021/3325/832 2022/3326/832 2026/3327/832 +f 2021/3325/832 2026/3327/832 2025/3328/832 +f 2023/3329/833 2021/3330/833 2025/3331/833 +f 2023/3329/833 2025/3331/833 2027/3332/833 +f 2028/3333/834 2026/3334/834 2022/3335/834 +f 2028/3333/834 2022/3335/834 2024/3336/834 +f 2032/3337/835 2030/3338/835 2029/3339/835 +f 2032/3337/835 2029/3339/835 2031/3340/835 +f 2035/3341/836 2033/3342/836 2034/3343/836 +f 2035/3341/836 2034/3343/836 2036/3344/836 +f 2029/3345/837 2030/3346/837 2034/3347/837 +f 2029/3345/837 2034/3347/837 2033/3348/837 +f 2031/3349/838 2029/3350/838 2033/3351/838 +f 2031/3349/838 2033/3351/838 2035/3352/838 +f 2036/3353/839 2034/3354/839 2030/3355/839 +f 2036/3353/839 2030/3355/839 2032/3356/839 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj.amt new file mode 100644 index 000000000..8a8df72a4 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_capture_defiance.obj.amt @@ -0,0 +1,6 @@ +{ + "origins": { + "upgrade_capture_defiance": [8, -48, 24] + }, + "hierarchy": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj index 7499699b7..cbb9944c8 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj @@ -1,8 +1,9 @@ # Made by Pabilo8 with Blockbench -# Exported with IIToolkit Plugin on 12/05/2026 +# Exported with IIToolkit Plugin on 16/08/2026 mtllib flagpole.mtl o upgrade_distress_signal +v 0.0419 4.75 2.1875 v 0.1875 5.6875 1 v 0.8125 5.6875 1 v 0.1875 5.0625 1 @@ -130,6 +131,125 @@ v 0.5625 5.875 2.0625 v 0.5625 5.875 1 v 0.5625 5.8125 2.0625 v 0.5625 5.8125 1 +v -0.1456 4.8125 1.4375 +v -0.1456 4.8125 1.0625 +v -0.1456 4.4375 1.4375 +v -0.1456 4.4375 1.0625 +v -0.2081 4.8125 1.4375 +v -0.2081 4.8125 1.0625 +v -0.2081 4.4375 1.4375 +v -0.2081 4.4375 1.0625 +v -0.0831 4.875 2 +v -0.0831 4.875 1 +v -0.0831 4.375 2 +v -0.0831 4.375 1 +v -0.1456 4.875 2 +v -0.1456 4.875 1 +v -0.1456 4.375 2 +v -0.1456 4.375 1 +v 0.4169 4.875 1.125 +v 0.4169 4.875 1.0625 +v 0.4169 4.375 1.125 +v 0.4169 4.375 1.0625 +v -0.0831 4.875 1.125 +v -0.0831 4.875 1.0625 +v -0.0831 4.375 1.125 +v -0.0831 4.375 1.0625 +v 0.3544 4.8125 1.4375 +v 0.3544 4.8125 1.125 +v 0.3544 4.4375 1.4375 +v 0.3544 4.4375 1.125 +v -0.0206 4.8125 1.4375 +v -0.0206 4.8125 1.125 +v -0.0206 4.4375 1.4375 +v -0.0206 4.4375 1.125 +v 0.4169 4.875 1.5625 +v 0.4169 4.875 1.4375 +v 0.4169 4.375 1.5625 +v 0.4169 4.375 1.4375 +v -0.0831 4.875 1.5625 +v -0.0831 4.875 1.4375 +v -0.0831 4.375 1.5625 +v -0.0831 4.375 1.4375 +v 0.4169 4.875 1.9375 +v 0.4169 4.875 1.875 +v 0.4169 4.375 1.9375 +v 0.4169 4.375 1.875 +v -0.0831 4.875 1.9375 +v -0.0831 4.875 1.875 +v -0.0831 4.375 1.9375 +v -0.0831 4.375 1.875 +v 0.3544 4.8125 1.875 +v 0.3544 4.8125 1.5625 +v 0.3544 4.4375 1.875 +v 0.3544 4.4375 1.5625 +v -0.0206 4.8125 1.875 +v -0.0206 4.8125 1.5625 +v -0.0206 4.4375 1.875 +v -0.0206 4.4375 1.5625 +v 0.2919 4.5 1.9375 +v 0.0419 4.75 1.9375 +v 0.0419 4.75 2.0625 +v 0.0419 4.5 2.0625 +v 0.0419 4.5 1.9375 +v 0.2919 4.75 2.0625 +v 0.2919 4.5 2.0625 +v 0.2919 4.75 1.9375 +v 0.0732 4.7188 2.125 +v 0.0732 4.5313 2.125 +v 0.0732 4.7188 2.0625 +v 0.0732 4.5313 2.0625 +v 0.2607 4.7188 2.125 +v 0.2607 4.5313 2.125 +v 0.2607 4.7188 2.0625 +v 0.2607 4.5313 2.0625 +v 0.0419 4.5 2.1875 +v 0.0419 4.75 2.125 +v 0.0419 4.5 2.125 +v 0.2919 4.75 2.1875 +v 0.2919 4.5 2.1875 +v 0.2919 4.75 2.125 +v 0.2919 4.5 2.125 +v 0.0732 4.7188 2.25 +v 0.0732 4.5313 2.25 +v 0.0732 4.7188 2.1875 +v 0.0732 4.5313 2.1875 +v 0.2607 4.7188 2.25 +v 0.2607 4.5313 2.25 +v 0.2607 4.7188 2.1875 +v 0.2607 4.5313 2.1875 +v -0.3331 4.7188 1.0938 +v -0.3331 4.5313 1.0938 +v -0.2706 4.7188 1.0938 +v -0.2706 4.5313 1.0938 +v -0.3331 4.7188 1.2813 +v -0.3331 4.5313 1.2813 +v -0.2706 4.7188 1.2813 +v -0.2706 4.5313 1.2813 +v -0.1456 4.5 1.3125 +v -0.1456 4.75 1.0625 +v -0.2706 4.75 1.0625 +v -0.2706 4.5 1.0625 +v -0.1456 4.5 1.0625 +v -0.2706 4.75 1.3125 +v -0.2706 4.5 1.3125 +v -0.1456 4.75 1.3125 +v -0.3956 4.75 1.0625 +v -0.3956 4.5 1.0625 +v -0.3331 4.75 1.0625 +v -0.3331 4.5 1.0625 +v -0.3956 4.75 1.3125 +v -0.3956 4.5 1.3125 +v -0.3331 4.75 1.3125 +v -0.3331 4.5 1.3125 +v -0.4581 4.7188 1.0938 +v -0.4581 4.5313 1.0938 +v -0.3956 4.7188 1.0938 +v -0.3956 4.5313 1.0938 +v -0.4581 4.7188 1.2813 +v -0.4581 4.5313 1.2813 +v -0.3956 4.7188 1.2813 +v -0.3956 4.5313 1.2813 vt 0.625 0.375 vt 0.625 1 vt 0 1 @@ -494,6 +614,298 @@ vt 0.5 0.1875 vt 0.5 0.2188 vt 0.4688 0.2188 vt 0.4688 0.1875 +vt 0.5469 0.3906 +vt 0.5469 0.4844 +vt 0.4531 0.4844 +vt 0.4531 0.3906 +vt 0.4688 0.3906 +vt 0.4688 0.4844 +vt 0.4531 0.4844 +vt 0.4531 0.3906 +vt 0.5469 0.4844 +vt 0.5469 0.3906 +vt 0.5313 0.3906 +vt 0.5313 0.4844 +vt 0.5469 0.3906 +vt 0.5469 0.4844 +vt 0.5313 0.4844 +vt 0.5313 0.3906 +vt 0.4688 0.3906 +vt 0.4688 0.4844 +vt 0.4531 0.4844 +vt 0.4531 0.3906 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.6719 0.375 +vt 0.6719 0.625 +vt 0.6563 0.625 +vt 0.6563 0.375 +vt 0.6719 0.625 +vt 0.6719 0.375 +vt 0.6563 0.375 +vt 0.6563 0.625 +vt 0.5469 0.6094 +vt 0.6719 0.6094 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.5469 0.6094 +vt 0.6719 0.6094 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.6563 0.375 +vt 0.6563 0.25 +vt 0.6719 0.3594 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.3594 +vt 0.6719 0.25 +vt 0.6719 0.2656 +vt 0.5469 0.2656 +vt 0.5469 0.25 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.25 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.5469 0.3594 +vt 0.5469 0.3906 +vt 0.4219 0.3906 +vt 0.4219 0.3594 +vt 0.5469 0.3906 +vt 0.5469 0.3594 +vt 0.4219 0.3594 +vt 0.4219 0.3906 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.4219 0.375 +vt 0.4219 0.25 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.4219 0.375 +vt 0.4219 0.25 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.6563 0.375 +vt 0.6563 0.25 +vt 0.6719 0.3594 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.3594 +vt 0.6719 0.25 +vt 0.6719 0.2656 +vt 0.5469 0.2656 +vt 0.5469 0.25 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.25 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 +vt 0.3281 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3281 0.3281 +vt 0.2813 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.2813 0.3281 +vt 0.3281 0.2656 +vt 0.3281 0.3281 +vt 0.2656 0.3281 +vt 0.2656 0.2656 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3438 +vt 0.2656 0.3438 +vt 0.2656 0.3281 +vt 0.3281 0.375 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.375 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3594 0.4063 +vt 0.3594 0.4531 +vt 0.3125 0.4531 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3281 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3281 0.3281 +vt 0.2813 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.2813 0.3281 +vt 0.3281 0.2656 +vt 0.3281 0.3281 +vt 0.2656 0.3281 +vt 0.2656 0.2656 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3438 +vt 0.2656 0.3438 +vt 0.2656 0.3281 +vt 0.3281 0.375 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.375 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3594 0.4063 +vt 0.3594 0.4531 +vt 0.3125 0.4531 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 vn 0 0 -1 vn 0 0 1 vn 0 0.95 0.32 @@ -585,97 +997,408 @@ vn 0 1 0 vn 0 -1 0 vn 0 0 1 vn 0 0 -1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 0 -1 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 usemtl alarm_siren2 -f 3/1/1 1/2/1 2/3/1 4/4/1 -f 6/5/2 5/6/2 7/7/2 8/8/2 -f 2/9/3 1/10/3 5/11/3 6/12/3 -f 7/13/4 3/14/4 4/15/4 8/16/4 -f 5/17/5 1/18/5 3/19/5 7/20/5 -f 4/21/6 2/22/6 6/23/6 8/24/6 -f 11/25/7 9/26/7 10/27/7 12/28/7 -f 10/29/8 9/30/8 13/31/8 14/32/8 -f 15/33/9 11/34/9 12/35/9 16/36/9 -f 13/37/10 9/38/10 11/39/10 15/40/10 -f 12/41/11 10/42/11 14/43/11 16/44/11 -f 17/45/12 18/46/12 20/47/12 19/48/12 -f 21/49/13 18/50/13 17/51/13 1/52/13 -f 3/53/14 19/54/14 20/55/14 22/56/14 -f 1/57/15 17/58/15 19/59/15 3/60/15 -f 18/61/16 21/62/16 22/63/16 20/64/16 -f 26/65/17 24/66/17 23/67/17 25/68/17 -f 23/69/18 24/70/18 4/71/18 27/72/18 -f 26/73/19 25/74/19 28/75/19 2/76/19 -f 25/77/20 23/78/20 27/79/20 28/80/20 -f 2/81/21 4/82/21 24/83/21 26/84/21 -f 30/85/22 18/86/22 25/87/22 29/88/22 -f 25/89/23 18/90/23 21/91/23 28/92/23 -f 30/93/24 29/94/24 31/95/24 32/96/24 -f 33/97/25 34/98/25 23/99/25 20/100/25 -f 36/101/26 34/102/26 33/103/26 35/104/26 -f 22/105/27 20/106/27 23/107/27 27/108/27 -f 38/109/28 37/110/28 39/111/28 40/112/28 -f 43/113/29 41/114/29 42/115/29 44/116/29 -f 41/117/30 37/118/30 38/119/30 42/120/30 -f 40/121/31 39/122/31 43/123/31 44/124/31 -f 39/125/32 37/126/32 41/127/32 43/128/32 -f 42/129/33 38/130/33 40/131/33 44/132/33 -f 46/133/34 45/134/34 47/135/34 48/136/34 -f 49/137/35 45/138/35 46/139/35 50/140/35 -f 48/141/36 47/142/36 51/143/36 52/144/36 -f 47/145/37 45/146/37 49/147/37 51/148/37 -f 50/149/38 46/150/38 48/151/38 52/152/38 -f 56/153/39 54/154/39 53/155/39 55/156/39 -f 53/157/40 54/158/40 57/159/40 37/160/40 -f 56/161/41 55/162/41 39/163/41 58/164/41 -f 55/165/42 53/166/42 37/167/42 39/168/42 -f 58/169/43 57/170/43 54/171/43 56/172/43 -f 59/173/44 60/174/44 62/175/44 61/176/44 -f 40/177/45 60/178/45 59/179/45 63/180/45 -f 64/181/46 61/182/46 62/183/46 38/184/46 -f 63/185/47 59/186/47 61/187/47 64/188/47 -f 60/189/48 40/190/48 38/191/48 62/192/48 -f 61/193/49 54/194/49 66/195/49 65/196/49 -f 57/197/50 54/198/50 61/199/50 64/200/50 -f 67/201/51 65/202/51 66/203/51 68/204/51 -f 59/205/52 70/206/52 69/207/52 56/208/52 -f 69/209/53 70/210/53 72/211/53 71/212/53 -f 59/213/54 56/214/54 58/215/54 63/216/54 -f 74/217/55 73/218/55 75/219/55 76/220/55 -f 79/221/56 77/222/56 78/223/56 80/224/56 -f 77/225/57 73/226/57 74/227/57 78/228/57 -f 75/229/58 73/230/58 77/231/58 79/232/58 -f 78/233/59 74/234/59 76/235/59 80/236/59 +f 4/1/1 2/2/1 3/3/1 +f 4/1/1 3/3/1 5/4/1 +f 7/5/2 6/6/2 8/7/2 +f 7/5/2 8/7/2 9/8/2 +f 3/9/3 2/10/3 6/11/3 +f 3/9/3 6/11/3 7/12/3 +f 8/13/4 4/14/4 5/15/4 +f 8/13/4 5/15/4 9/16/4 +f 6/17/5 2/18/5 4/19/5 +f 6/17/5 4/19/5 8/20/5 +f 5/21/6 3/22/6 7/23/6 +f 5/21/6 7/23/6 9/24/6 +f 12/25/7 10/26/7 11/27/7 +f 12/25/7 11/27/7 13/28/7 +f 11/29/8 10/30/8 14/31/8 +f 11/29/8 14/31/8 15/32/8 +f 16/33/9 12/34/9 13/35/9 +f 16/33/9 13/35/9 17/36/9 +f 14/37/10 10/38/10 12/39/10 +f 14/37/10 12/39/10 16/40/10 +f 13/41/11 11/42/11 15/43/11 +f 13/41/11 15/43/11 17/44/11 +f 18/45/12 19/46/12 21/47/12 +f 18/45/12 21/47/12 20/48/12 +f 22/49/13 19/50/13 18/51/13 +f 22/49/13 18/51/13 2/52/13 +f 4/53/14 20/54/14 21/55/14 +f 4/53/14 21/55/14 23/56/14 +f 2/57/15 18/58/15 20/59/15 +f 2/57/15 20/59/15 4/60/15 +f 19/61/16 22/62/16 23/63/16 +f 19/61/16 23/63/16 21/64/16 +f 27/65/17 25/66/17 24/67/17 +f 27/65/17 24/67/17 26/68/17 +f 24/69/18 25/70/18 5/71/18 +f 24/69/18 5/71/18 28/72/18 +f 27/73/19 26/74/19 29/75/19 +f 27/73/19 29/75/19 3/76/19 +f 26/77/20 24/78/20 28/79/20 +f 26/77/20 28/79/20 29/80/20 +f 3/81/21 5/82/21 25/83/21 +f 3/81/21 25/83/21 27/84/21 +f 31/85/22 19/86/22 26/87/22 +f 31/85/22 26/87/22 30/88/22 +f 26/89/23 19/90/23 22/91/23 +f 26/89/23 22/91/23 29/92/23 +f 31/93/24 30/94/24 32/95/24 +f 31/93/24 32/95/24 33/96/24 +f 34/97/25 35/98/25 24/99/25 +f 34/97/25 24/99/25 21/100/25 +f 37/101/26 35/102/26 34/103/26 +f 37/101/26 34/103/26 36/104/26 +f 23/105/27 21/106/27 24/107/27 +f 23/105/27 24/107/27 28/108/27 +f 39/109/28 38/110/28 40/111/28 +f 39/109/28 40/111/28 41/112/28 +f 44/113/29 42/114/29 43/115/29 +f 44/113/29 43/115/29 45/116/29 +f 42/117/30 38/118/30 39/119/30 +f 42/117/30 39/119/30 43/120/30 +f 41/121/31 40/122/31 44/123/31 +f 41/121/31 44/123/31 45/124/31 +f 40/125/32 38/126/32 42/127/32 +f 40/125/32 42/127/32 44/128/32 +f 43/129/33 39/130/33 41/131/33 +f 43/129/33 41/131/33 45/132/33 +f 47/133/34 46/134/34 48/135/34 +f 47/133/34 48/135/34 49/136/34 +f 50/137/35 46/138/35 47/139/35 +f 50/137/35 47/139/35 51/140/35 +f 49/141/36 48/142/36 52/143/36 +f 49/141/36 52/143/36 53/144/36 +f 48/145/37 46/146/37 50/147/37 +f 48/145/37 50/147/37 52/148/37 +f 51/149/38 47/150/38 49/151/38 +f 51/149/38 49/151/38 53/152/38 +f 57/153/39 55/154/39 54/155/39 +f 57/153/39 54/155/39 56/156/39 +f 54/157/40 55/158/40 58/159/40 +f 54/157/40 58/159/40 38/160/40 +f 57/161/41 56/162/41 40/163/41 +f 57/161/41 40/163/41 59/164/41 +f 56/165/42 54/166/42 38/167/42 +f 56/165/42 38/167/42 40/168/42 +f 59/169/43 58/170/43 55/171/43 +f 59/169/43 55/171/43 57/172/43 +f 60/173/44 61/174/44 63/175/44 +f 60/173/44 63/175/44 62/176/44 +f 41/177/45 61/178/45 60/179/45 +f 41/177/45 60/179/45 64/180/45 +f 65/181/46 62/182/46 63/183/46 +f 65/181/46 63/183/46 39/184/46 +f 64/185/47 60/186/47 62/187/47 +f 64/185/47 62/187/47 65/188/47 +f 61/189/48 41/190/48 39/191/48 +f 61/189/48 39/191/48 63/192/48 +f 62/193/49 55/194/49 67/195/49 +f 62/193/49 67/195/49 66/196/49 +f 58/197/50 55/198/50 62/199/50 +f 58/197/50 62/199/50 65/200/50 +f 68/201/51 66/202/51 67/203/51 +f 68/201/51 67/203/51 69/204/51 +f 60/205/52 71/206/52 70/207/52 +f 60/205/52 70/207/52 57/208/52 +f 70/209/53 71/210/53 73/211/53 +f 70/209/53 73/211/53 72/212/53 +f 60/213/54 57/214/54 59/215/54 +f 60/213/54 59/215/54 64/216/54 +f 75/217/55 74/218/55 76/219/55 +f 75/217/55 76/219/55 77/220/55 +f 80/221/56 78/222/56 79/223/56 +f 80/221/56 79/223/56 81/224/56 +f 78/225/57 74/226/57 75/227/57 +f 78/225/57 75/227/57 79/228/57 +f 76/229/58 74/230/58 78/231/58 +f 76/229/58 78/231/58 80/232/58 +f 79/233/59 75/234/59 77/235/59 +f 79/233/59 77/235/59 81/236/59 usemtl alarm_siren_pole2 -f 75/237/60 84/238/60 83/239/60 76/240/60 -f 76/241/61 83/242/61 82/243/61 80/244/61 -f 80/245/62 82/246/62 81/247/62 79/248/62 -f 79/249/63 81/250/63 84/251/63 75/252/63 +f 76/237/60 85/238/60 84/239/60 +f 76/237/60 84/239/60 77/240/60 +f 77/241/61 84/242/61 83/243/61 +f 77/241/61 83/243/61 81/244/61 +f 81/245/62 83/246/62 82/247/62 +f 81/245/62 82/247/62 80/248/62 +f 80/249/63 82/250/63 85/251/63 +f 80/249/63 85/251/63 76/252/63 usemtl flagpole_mod -f 88/253/64 86/254/64 85/255/64 87/256/64 -f 91/257/65 89/258/65 90/259/65 92/260/65 -f 85/261/66 86/262/66 90/263/66 89/264/66 -f 87/265/67 85/266/67 89/267/67 91/268/67 -f 92/269/68 90/270/68 86/271/68 88/272/68 -f 96/273/69 94/274/69 93/275/69 95/276/69 -f 77/277/70 97/278/70 98/279/70 99/280/70 -f 95/281/71 93/282/71 97/283/71 77/284/71 -f 99/285/72 98/286/72 94/287/72 96/288/72 -f 101/289/73 100/290/73 102/291/73 103/292/73 -f 107/293/74 105/294/74 104/295/74 106/296/74 -f 110/297/75 108/298/75 109/299/75 111/300/75 -f 104/301/76 105/302/76 109/303/76 108/304/76 -f 107/305/77 106/306/77 110/307/77 111/308/77 -f 106/309/78 104/310/78 108/311/78 110/312/78 -f 111/313/79 109/314/79 105/315/79 107/316/79 -f 115/317/80 113/318/80 112/319/80 114/320/80 -f 118/321/81 116/322/81 117/323/81 119/324/81 -f 112/325/82 113/326/82 117/327/82 116/328/82 -f 115/329/83 114/330/83 118/331/83 119/332/83 -f 114/333/84 112/334/84 116/335/84 118/336/84 -f 119/337/85 117/338/85 113/339/85 115/340/85 -f 123/341/86 121/342/86 120/343/86 122/344/86 -f 126/345/87 124/346/87 125/347/87 127/348/87 -f 120/349/88 121/350/88 125/351/88 124/352/88 -f 123/353/89 122/354/89 126/355/89 127/356/89 -f 122/357/90 120/358/90 124/359/90 126/360/90 -f 127/361/91 125/362/91 121/363/91 123/364/91 \ No newline at end of file +f 89/253/64 87/254/64 86/255/64 +f 89/253/64 86/255/64 88/256/64 +f 92/257/65 90/258/65 91/259/65 +f 92/257/65 91/259/65 93/260/65 +f 86/261/66 87/262/66 91/263/66 +f 86/261/66 91/263/66 90/264/66 +f 88/265/67 86/266/67 90/267/67 +f 88/265/67 90/267/67 92/268/67 +f 93/269/68 91/270/68 87/271/68 +f 93/269/68 87/271/68 89/272/68 +f 97/273/69 95/274/69 94/275/69 +f 97/273/69 94/275/69 96/276/69 +f 78/277/70 98/278/70 99/279/70 +f 78/277/70 99/279/70 100/280/70 +f 96/281/71 94/282/71 98/283/71 +f 96/281/71 98/283/71 78/284/71 +f 100/285/72 99/286/72 95/287/72 +f 100/285/72 95/287/72 97/288/72 +f 102/289/73 101/290/73 103/291/73 +f 102/289/73 103/291/73 104/292/73 +f 108/293/74 106/294/74 105/295/74 +f 108/293/74 105/295/74 107/296/74 +f 111/297/75 109/298/75 110/299/75 +f 111/297/75 110/299/75 112/300/75 +f 105/301/76 106/302/76 110/303/76 +f 105/301/76 110/303/76 109/304/76 +f 108/305/77 107/306/77 111/307/77 +f 108/305/77 111/307/77 112/308/77 +f 107/309/78 105/310/78 109/311/78 +f 107/309/78 109/311/78 111/312/78 +f 112/313/79 110/314/79 106/315/79 +f 112/313/79 106/315/79 108/316/79 +f 116/317/80 114/318/80 113/319/80 +f 116/317/80 113/319/80 115/320/80 +f 119/321/81 117/322/81 118/323/81 +f 119/321/81 118/323/81 120/324/81 +f 113/325/82 114/326/82 118/327/82 +f 113/325/82 118/327/82 117/328/82 +f 116/329/83 115/330/83 119/331/83 +f 116/329/83 119/331/83 120/332/83 +f 115/333/84 113/334/84 117/335/84 +f 115/333/84 117/335/84 119/336/84 +f 120/337/85 118/338/85 114/339/85 +f 120/337/85 114/339/85 116/340/85 +f 124/341/86 122/342/86 121/343/86 +f 124/341/86 121/343/86 123/344/86 +f 127/345/87 125/346/87 126/347/87 +f 127/345/87 126/347/87 128/348/87 +f 121/349/88 122/350/88 126/351/88 +f 121/349/88 126/351/88 125/352/88 +f 124/353/89 123/354/89 127/355/89 +f 124/353/89 127/355/89 128/356/89 +f 123/357/90 121/358/90 125/359/90 +f 123/357/90 125/359/90 127/360/90 +f 128/361/91 126/362/91 122/363/91 +f 128/361/91 122/363/91 124/364/91 +usemtl flagpole +f 135/365/92 133/366/92 134/367/92 +f 135/365/92 134/367/92 136/368/92 +f 129/369/93 130/370/93 134/371/93 +f 129/369/93 134/371/93 133/372/93 +f 132/373/94 131/374/94 135/375/94 +f 132/373/94 135/375/94 136/376/94 +f 131/377/95 129/378/95 133/379/95 +f 131/377/95 133/379/95 135/380/95 +f 136/381/96 134/382/96 130/383/96 +f 136/381/96 130/383/96 132/384/96 +f 140/385/97 138/386/97 137/387/97 +f 140/385/97 137/387/97 139/388/97 +f 143/389/98 141/390/98 142/391/98 +f 143/389/98 142/391/98 144/392/98 +f 137/393/99 138/394/99 142/395/99 +f 137/393/99 142/395/99 141/396/99 +f 140/397/100 139/398/100 143/399/100 +f 140/397/100 143/399/100 144/400/100 +f 139/401/101 137/402/101 141/403/101 +f 139/401/101 141/403/101 143/404/101 +f 144/405/102 142/406/102 138/407/102 +f 144/405/102 138/407/102 140/408/102 +f 148/409/103 146/410/103 145/411/103 +f 148/409/103 145/411/103 147/412/103 +f 145/413/104 146/414/104 150/415/104 +f 145/413/104 150/415/104 149/416/104 +f 148/417/105 147/418/105 151/419/105 +f 148/417/105 151/419/105 152/420/105 +f 147/421/106 145/422/106 149/423/106 +f 147/421/106 149/423/106 151/424/106 +f 152/425/107 150/426/107 146/427/107 +f 152/425/107 146/427/107 148/428/107 +f 156/429/108 154/430/108 153/431/108 +f 156/429/108 153/431/108 155/432/108 +f 159/433/109 157/434/109 158/435/109 +f 159/433/109 158/435/109 160/436/109 +f 153/437/110 154/438/110 158/439/110 +f 153/437/110 158/439/110 157/440/110 +f 156/441/111 155/442/111 159/443/111 +f 156/441/111 159/443/111 160/444/111 +f 161/445/112 162/446/112 166/447/112 +f 161/445/112 166/447/112 165/448/112 +f 164/449/113 163/450/113 167/451/113 +f 164/449/113 167/451/113 168/452/113 +f 163/453/114 161/454/114 165/455/114 +f 163/453/114 165/455/114 167/456/114 +f 168/457/115 166/458/115 162/459/115 +f 168/457/115 162/459/115 164/460/115 +f 172/461/116 170/462/116 169/463/116 +f 172/461/116 169/463/116 171/464/116 +f 169/465/117 170/466/117 174/467/117 +f 169/465/117 174/467/117 173/468/117 +f 172/469/118 171/470/118 175/471/118 +f 172/469/118 175/471/118 176/472/118 +f 171/473/119 169/474/119 173/475/119 +f 171/473/119 173/475/119 175/476/119 +f 176/477/120 174/478/120 170/479/120 +f 176/477/120 170/479/120 172/480/120 +f 180/481/121 178/482/121 177/483/121 +f 180/481/121 177/483/121 179/484/121 +f 183/485/122 181/486/122 182/487/122 +f 183/485/122 182/487/122 184/488/122 +f 177/489/123 178/490/123 182/491/123 +f 177/489/123 182/491/123 181/492/123 +f 180/493/124 179/494/124 183/495/124 +f 180/493/124 183/495/124 184/496/124 +f 189/497/125 188/498/125 187/499/125 +f 189/497/125 187/499/125 186/500/125 +f 192/501/126 190/502/126 191/503/126 +f 192/501/126 191/503/126 185/504/126 +f 187/505/127 188/506/127 191/507/127 +f 187/505/127 191/507/127 190/508/127 +f 186/509/128 187/510/128 190/511/128 +f 186/509/128 190/511/128 192/512/128 +f 185/513/129 191/514/129 188/515/129 +f 185/513/129 188/515/129 189/516/129 +f 196/517/130 194/518/130 193/519/130 +f 196/517/130 193/519/130 195/520/130 +f 199/521/131 197/522/131 198/523/131 +f 199/521/131 198/523/131 200/524/131 +f 195/525/132 193/526/132 197/527/132 +f 195/525/132 197/527/132 199/528/132 +f 200/529/133 198/530/133 194/531/133 +f 200/529/133 194/531/133 196/532/133 +f 203/533/134 201/534/134 1/535/134 +f 203/533/134 1/535/134 202/536/134 +f 206/537/135 204/538/135 205/539/135 +f 206/537/135 205/539/135 207/540/135 +f 1/541/136 201/542/136 205/543/136 +f 1/541/136 205/543/136 204/544/136 +f 203/545/137 202/546/137 206/547/137 +f 203/545/137 206/547/137 207/548/137 +f 202/549/138 1/550/138 204/551/138 +f 202/549/138 204/551/138 206/552/138 +f 207/553/139 205/554/139 201/555/139 +f 207/553/139 201/555/139 203/556/139 +f 211/557/140 209/558/140 208/559/140 +f 211/557/140 208/559/140 210/560/140 +f 214/561/141 212/562/141 213/563/141 +f 214/561/141 213/563/141 215/564/141 +f 208/565/142 209/566/142 213/567/142 +f 208/565/142 213/567/142 212/568/142 +f 210/569/143 208/570/143 212/571/143 +f 210/569/143 212/571/143 214/572/143 +f 215/573/144 213/574/144 209/575/144 +f 215/573/144 209/575/144 211/576/144 +f 219/577/145 217/578/145 216/579/145 +f 219/577/145 216/579/145 218/580/145 +f 222/581/146 220/582/146 221/583/146 +f 222/581/146 221/583/146 223/584/146 +f 218/585/147 216/586/147 220/587/147 +f 218/585/147 220/587/147 222/588/147 +f 223/589/148 221/590/148 217/591/148 +f 223/589/148 217/591/148 219/592/148 +f 228/593/149 227/594/149 226/595/149 +f 228/593/149 226/595/149 225/596/149 +f 231/597/150 229/598/150 230/599/150 +f 231/597/150 230/599/150 224/600/150 +f 226/601/151 227/602/151 230/603/151 +f 226/601/151 230/603/151 229/604/151 +f 225/605/152 226/606/152 229/607/152 +f 225/605/152 229/607/152 231/608/152 +f 224/609/153 230/610/153 227/611/153 +f 224/609/153 227/611/153 228/612/153 +f 235/613/154 233/614/154 232/615/154 +f 235/613/154 232/615/154 234/616/154 +f 238/617/155 236/618/155 237/619/155 +f 238/617/155 237/619/155 239/620/155 +f 232/621/156 233/622/156 237/623/156 +f 232/621/156 237/623/156 236/624/156 +f 235/625/157 234/626/157 238/627/157 +f 235/625/157 238/627/157 239/628/157 +f 234/629/158 232/630/158 236/631/158 +f 234/629/158 236/631/158 238/632/158 +f 239/633/159 237/634/159 233/635/159 +f 239/633/159 233/635/159 235/636/159 +f 243/637/160 241/638/160 240/639/160 +f 243/637/160 240/639/160 242/640/160 +f 246/641/161 244/642/161 245/643/161 +f 246/641/161 245/643/161 247/644/161 +f 240/645/162 241/646/162 245/647/162 +f 240/645/162 245/647/162 244/648/162 +f 242/649/163 240/650/163 244/651/163 +f 242/649/163 244/651/163 246/652/163 +f 247/653/164 245/654/164 241/655/164 +f 247/653/164 241/655/164 243/656/164 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj.amt new file mode 100644 index 000000000..d4bfb6b23 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_distress_signal.obj.amt @@ -0,0 +1,18 @@ +{ + "origins": { + "upgrade_distress_signal": [8, -48, 24], + "taser_locks_wire": [-1.8, 67.5, 28] + }, + "hierarchy": { + "distress_signal_wire": "upgrade_distress_signal" + }, + "properties": { + "distress_signal_wire": { + "start": [3.5, 72.9, 31.6], + "end": [1.2, 131, 3.3], + "wire_type": "copper", + "diameter": 1.0625, + "slack": 1.02 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj index 9f697bce3..4b72b4b38 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj @@ -1,5 +1,5 @@ # Made by Pabilo8 with Blockbench -# Exported with IIToolkit Plugin on 12/05/2026 +# Exported with IIToolkit Plugin on 16/08/2026 mtllib flagpole.mtl o upgrade_taser_locks @@ -2143,22 +2143,22 @@ v -0.7031 0.9375 2.5453 v -0.7031 0.8438 2.6391 v -0.8906 0.8438 2.6234 v -0.8906 0.9375 2.5297 -v -0.4063 0.2369 0.3734 +v -0.4062 0.2369 0.3734 v -0.69 -0.0469 0.4047 v -0.69 -0.0469 0.4672 -v -0.4063 0.2369 0.4359 +v -0.4062 0.2369 0.4359 v -0.8906 0.9219 0.2953 v -0.69 0.9219 0.3109 v -0.69 0.9219 0.3734 v -0.8906 0.9219 0.3578 -v -0.4688 0.2628 0.4359 +v -0.4687 0.2628 0.4359 v -0.7159 0.0156 0.4672 -v -0.4688 0.2628 0.3734 +v -0.4687 0.2628 0.3734 v -0.7159 0.0156 0.4047 -v -0.4063 0.6381 0.3422 -v -0.4688 0.6122 0.3422 -v -0.4688 0.6122 0.4047 -v -0.4063 0.6381 0.4047 +v -0.4062 0.6381 0.3422 +v -0.4687 0.6122 0.3422 +v -0.4687 0.6122 0.4047 +v -0.4062 0.6381 0.4047 v -0.8906 0.8594 0.2953 v -0.7159 0.8594 0.3109 v -0.8906 0.8594 0.3578 @@ -2227,14 +2227,14 @@ v -0.7031 0.9375 0.2953 v -0.7031 0.8438 0.3891 v -0.8906 0.8438 0.3734 v -0.8906 0.9375 0.2797 -v -0.4688 0.6122 0.0922 -v -0.4688 0.2628 0.1234 -v -0.4063 0.2369 0.1234 -v -0.4063 0.6381 0.0922 -v -0.4688 0.6122 0.1547 -v -0.4063 0.6381 0.1547 -v -0.4063 0.2369 0.1859 -v -0.4688 0.2628 0.1859 +v -0.4687 0.6122 0.0922 +v -0.4687 0.2628 0.1234 +v -0.4062 0.2369 0.1234 +v -0.4062 0.6381 0.0922 +v -0.4687 0.6122 0.1547 +v -0.4062 0.6381 0.1547 +v -0.4062 0.2369 0.1859 +v -0.4687 0.2628 0.1859 v -1.0913 0.9219 0.0297 v -1.0913 0.9219 0.0922 v -1.0654 0.8594 0.0297 @@ -2498,19 +2498,19 @@ v -0.8906 0.9219 0.5453 v -0.69 0.9219 0.5609 v -0.69 0.9219 0.6234 v -0.8906 0.9219 0.6078 -v -0.4688 0.6122 0.5922 -v -0.4688 0.2628 0.6234 -v -0.4063 0.2369 0.6234 -v -0.4063 0.6381 0.5922 -v -0.4688 0.6122 0.6547 -v -0.4063 0.6381 0.6547 -v -0.4063 0.2369 0.6859 -v -0.4688 0.2628 0.6859 -v -0.4688 0.6122 0.8422 -v -0.4688 0.2628 0.8734 -v -0.4063 0.2369 0.8734 -v -0.4063 0.6381 0.8422 -v -0.4688 0.6122 0.9047 +v -0.4687 0.6122 0.5922 +v -0.4687 0.2628 0.6234 +v -0.4062 0.2369 0.6234 +v -0.4062 0.6381 0.5922 +v -0.4687 0.6122 0.6547 +v -0.4062 0.6381 0.6547 +v -0.4062 0.2369 0.6859 +v -0.4687 0.2628 0.6859 +v -0.4687 0.6122 0.8422 +v -0.4687 0.2628 0.8734 +v -0.4062 0.2369 0.8734 +v -0.4062 0.6381 0.8422 +v -0.4687 0.6122 0.9047 v -0.4687 0.2628 0.9359 v -1.3125 0.2628 0.7172 v -1.3125 0.2628 0.7797 @@ -2583,7 +2583,7 @@ v -0.7159 0.8594 0.6234 v -0.4062 0.2369 0.9359 v -0.69 0.9219 0.8109 v -0.69 0.9219 0.8734 -v -0.4063 0.6381 0.9047 +v -0.4062 0.6381 0.9047 v -1.375 0.2369 0.7797 v -0.69 0.9219 1.0609 v -0.69 0.9219 1.1234 @@ -3936,38 +3936,38 @@ v -0.8906 0.9219 2.5453 v -0.8906 0.9219 2.6078 v -0.8906 0.8594 2.5453 v -0.8906 0.8594 2.6078 -v -0.9844 0.5 2.9516 -v -0.9844 0.5 1.9516 -v -0.9844 0.375 2.9516 -v -0.9844 0.375 1.9516 -v -0.8594 0.5 2.9516 -v -0.8594 0.5 1.9516 -v -0.8594 0.375 2.9516 -v -0.8594 0.375 1.9516 -v -0.9844 0.5 0.9516 -v -0.9844 0.375 0.9516 -v -0.8594 0.5 0.9516 -v -0.8594 0.375 0.9516 -v -0.9844 0.5 -0.0484 -v -0.9844 0.375 -0.0484 -v -0.8594 0.5 -0.0484 -v -0.8594 0.375 -0.0484 -v 1.9844 0.5 2.9516 -v 1.9844 0.5 1.9516 -v 1.9844 0.375 2.9516 -v 1.9844 0.375 1.9516 -v 1.8594 0.5 2.9516 -v 1.8594 0.5 1.9516 -v 1.8594 0.375 2.9516 -v 1.8594 0.375 1.9516 -v 1.9844 0.5 0.9516 -v 1.9844 0.375 0.9516 -v 1.8594 0.5 0.9516 -v 1.8594 0.375 0.9516 -v 1.9844 0.5 -0.0484 -v 1.9844 0.375 -0.0484 -v 1.8594 0.5 -0.0484 -v 1.8594 0.375 -0.0484 +v -0.9844 0.4345 2.9529 +v -0.9844 0.4781 1.9538 +v -0.9844 0.3096 2.9474 +v -0.9844 0.3533 1.9484 +v -0.8594 0.4345 2.9529 +v -0.8594 0.4781 1.9538 +v -0.8594 0.3096 2.9474 +v -0.8594 0.3533 1.9484 +v -0.9844 0.5218 0.9548 +v -0.9844 0.3969 0.9493 +v -0.8594 0.5218 0.9548 +v -0.8594 0.3969 0.9493 +v -0.9844 0.5654 -0.0443 +v -0.9844 0.4405 -0.0497 +v -0.8594 0.5654 -0.0443 +v -0.8594 0.4405 -0.0497 +v 1.9844 0.5392 2.9494 +v 1.9844 0.5131 1.9498 +v 1.9844 0.4143 2.9527 +v 1.9844 0.3881 1.953 +v 1.8594 0.5392 2.9494 +v 1.8594 0.5131 1.9498 +v 1.8594 0.4143 2.9527 +v 1.8594 0.3881 1.953 +v 1.9844 0.4869 0.9501 +v 1.9844 0.3619 0.9534 +v 1.8594 0.4869 0.9501 +v 1.8594 0.3619 0.9534 +v 1.9844 0.4607 -0.0496 +v 1.9844 0.3358 -0.0463 +v 1.8594 0.4607 -0.0496 +v 1.8594 0.3358 -0.0463 v 1.6476 -0.0265 2.6391 v 1.4266 0.1944 2.6078 v 1.4929 0.2607 2.7016 @@ -5071,22 +5071,22 @@ v 1.8906 0.9375 0.5297 v 1.8906 0.8438 0.6234 v 2.0781 0.8438 0.6078 v 2.0781 0.9375 0.5141 -v 1.4062 0.2369 2.3734 +v 1.4063 0.2369 2.3734 v 1.69 -0.0469 2.4047 v 1.69 -0.0469 2.4672 -v 1.4062 0.2369 2.4359 +v 1.4063 0.2369 2.4359 v 1.8906 0.9219 2.2953 v 1.69 0.9219 2.3109 v 1.69 0.9219 2.3734 v 1.8906 0.9219 2.3578 -v 1.4687 0.2628 2.4359 +v 1.4688 0.2628 2.4359 v 1.7159 0.0156 2.4672 -v 1.4687 0.2628 2.3734 +v 1.4688 0.2628 2.3734 v 1.7159 0.0156 2.4047 -v 1.4062 0.6381 2.3422 -v 1.4687 0.6122 2.3422 -v 1.4687 0.6122 2.4047 -v 1.4062 0.6381 2.4047 +v 1.4063 0.6381 2.3422 +v 1.4688 0.6122 2.3422 +v 1.4688 0.6122 2.4047 +v 1.4063 0.6381 2.4047 v 1.8906 0.8594 2.2953 v 1.7159 0.8594 2.3109 v 1.8906 0.8594 2.3578 @@ -5158,12 +5158,12 @@ v 1.8906 0.9219 1.5453 v 1.69 0.9219 1.5609 v 1.69 0.9219 1.6234 v 1.8906 0.9219 1.6078 -v 1.4687 0.6122 1.5922 -v 1.4687 0.2628 1.6234 -v 1.4062 0.2369 1.6234 -v 1.4062 0.6381 1.5922 -v 1.4687 0.6122 1.6547 -v 1.4062 0.6381 1.6547 +v 1.4688 0.6122 1.5922 +v 1.4688 0.2628 1.6234 +v 1.4063 0.2369 1.6234 +v 1.4063 0.6381 1.5922 +v 1.4688 0.6122 1.6547 +v 1.4063 0.6381 1.6547 v 1.4063 0.2369 1.6859 v 1.4688 0.2628 1.6859 v 1.4688 0.6122 1.8422 @@ -5171,7 +5171,7 @@ v 1.4688 0.2628 1.8734 v 1.4063 0.2369 1.8734 v 1.4063 0.6381 1.8422 v 1.4688 0.6122 1.9047 -v 1.4687 0.2628 1.9359 +v 1.4688 0.2628 1.9359 v 2.3125 0.2628 1.7172 v 2.3125 0.2628 1.7797 v 2.3125 0.6122 1.8109 @@ -5193,14 +5193,14 @@ v 2.0654 0.8594 1.7797 v 2.0654 0.8594 1.8422 v 1.7159 0.8594 1.8734 v 1.7159 0.8594 1.8109 -v 1.4687 0.6122 2.0922 -v 1.4687 0.2628 2.1234 -v 1.4062 0.2369 2.1234 -v 1.4062 0.6381 2.0922 -v 1.4687 0.6122 2.1547 -v 1.4062 0.6381 2.1547 -v 1.4062 0.2369 2.1859 -v 1.4687 0.2628 2.1859 +v 1.4688 0.6122 2.0922 +v 1.4688 0.2628 2.1234 +v 1.4063 0.2369 2.1234 +v 1.4063 0.6381 2.0922 +v 1.4688 0.6122 2.1547 +v 1.4063 0.6381 2.1547 +v 1.4063 0.2369 2.1859 +v 1.4688 0.2628 2.1859 v 2.3125 0.2628 1.9672 v 2.3125 0.2628 2.0297 v 2.3125 0.6122 2.0609 @@ -5240,7 +5240,7 @@ v 1.7159 0.0156 2.2172 v 2.0654 0.0156 2.2484 v 1.7159 0.8594 1.5609 v 1.7159 0.8594 1.6234 -v 1.4062 0.2369 1.9359 +v 1.4063 0.2369 1.9359 v 1.69 0.9219 1.8109 v 1.69 0.9219 1.8734 v 1.4063 0.6381 1.9047 @@ -5844,14 +5844,14 @@ v 1.8906 0.9219 2.5453 v 1.69 0.9219 2.5609 v 1.69 0.9219 2.6234 v 1.8906 0.9219 2.6078 -v 1.4687 0.6122 2.5922 -v 1.4687 0.2628 2.6234 -v 1.4062 0.2369 2.6234 -v 1.4062 0.6381 2.5922 -v 1.4687 0.6122 2.6547 -v 1.4062 0.6381 2.6547 -v 1.4062 0.2369 2.6859 -v 1.4687 0.2628 2.6859 +v 1.4688 0.6122 2.5922 +v 1.4688 0.2628 2.6234 +v 1.4063 0.2369 2.6234 +v 1.4063 0.6381 2.5922 +v 1.4688 0.6122 2.6547 +v 1.4063 0.6381 2.6547 +v 1.4063 0.2369 2.6859 +v 1.4688 0.2628 2.6859 v 2.3125 0.2628 2.7172 v 2.3125 0.2628 2.7797 v 2.3125 0.6122 2.8109 @@ -7931,6 +7931,134 @@ v 1.0625 0.4375 1.625 v 1.0625 0.4375 1 v 1.0625 0.3125 1.625 v 1.0625 0.3125 1 +v 1.7692 -0.6875 1.7834 +v 1.5625 -0.6875 1.0625 +v 1.7692 -1 1.7834 +v 1.5625 -1 1.0625 +v 1.4088 -0.6875 1.8868 +v 1.202 -0.6875 1.1659 +v 1.4088 -1 1.8868 +v 1.202 -1 1.1659 +v 1.1747 -0.6875 1.8056 +v 1.292 -0.6875 1.0649 +v 1.1747 -1 1.8056 +v 1.292 -1 1.0649 +v 0.8043 -0.6875 1.747 +v 0.9216 -0.6875 1.0062 +v 0.8043 -1 1.747 +v 0.9216 -1 1.0062 +v -0.0831 4.875 2 +v -0.0831 4.875 1 +v -0.0831 4.375 2 +v -0.0831 4.375 1 +v -0.1456 4.875 2 +v -0.1456 4.875 1 +v -0.1456 4.375 2 +v -0.1456 4.375 1 +v 0.4169 4.875 1.125 +v 0.4169 4.875 1.0625 +v 0.4169 4.375 1.125 +v 0.4169 4.375 1.0625 +v -0.0831 4.875 1.125 +v -0.0831 4.875 1.0625 +v -0.0831 4.375 1.125 +v -0.0831 4.375 1.0625 +v 0.3544 4.8125 1.4375 +v 0.3544 4.8125 1.125 +v 0.3544 4.4375 1.4375 +v 0.3544 4.4375 1.125 +v -0.0206 4.8125 1.4375 +v -0.0206 4.8125 1.125 +v -0.0206 4.4375 1.4375 +v -0.0206 4.4375 1.125 +v 0.4169 4.875 1.5625 +v 0.4169 4.875 1.4375 +v 0.4169 4.375 1.5625 +v 0.4169 4.375 1.4375 +v -0.0831 4.875 1.5625 +v -0.0831 4.875 1.4375 +v -0.0831 4.375 1.5625 +v -0.0831 4.375 1.4375 +v 0.4169 4.875 1.9375 +v 0.4169 4.875 1.875 +v 0.4169 4.375 1.9375 +v 0.4169 4.375 1.875 +v -0.0831 4.875 1.9375 +v -0.0831 4.875 1.875 +v -0.0831 4.375 1.9375 +v -0.0831 4.375 1.875 +v 0.3544 4.8125 1.875 +v 0.3544 4.8125 1.5625 +v 0.3544 4.4375 1.875 +v 0.3544 4.4375 1.5625 +v -0.0206 4.8125 1.875 +v -0.0206 4.8125 1.5625 +v -0.0206 4.4375 1.875 +v -0.0206 4.4375 1.5625 +v 0.2919 4.5 1.9375 +v 0.0419 4.75 1.9375 +v 0.0419 4.75 2.0625 +v 0.0419 4.5 2.0625 +v 0.0419 4.5 1.9375 +v 0.2919 4.75 2.0625 +v 0.2919 4.5 2.0625 +v 0.2919 4.75 1.9375 +v 0.0732 4.7188 2.125 +v 0.0732 4.5313 2.125 +v 0.0732 4.7188 2.0625 +v 0.0732 4.5313 2.0625 +v 0.2607 4.7188 2.125 +v 0.2607 4.5313 2.125 +v 0.2607 4.7188 2.0625 +v 0.2607 4.5313 2.0625 +v 0.0419 4.75 2.1875 +v 0.0419 4.5 2.1875 +v 0.0419 4.75 2.125 +v 0.0419 4.5 2.125 +v 0.2919 4.75 2.1875 +v 0.2919 4.5 2.1875 +v 0.2919 4.75 2.125 +v 0.2919 4.5 2.125 +v 0.0732 4.7188 2.25 +v 0.0732 4.5313 2.25 +v 0.0732 4.7188 2.1875 +v 0.0732 4.5313 2.1875 +v 0.2607 4.7188 2.25 +v 0.2607 4.5313 2.25 +v 0.2607 4.7188 2.1875 +v 0.2607 4.5313 2.1875 +v -0.3331 4.7188 1.0938 +v -0.3331 4.5313 1.0938 +v -0.2706 4.7188 1.0938 +v -0.2706 4.5313 1.0938 +v -0.3331 4.7188 1.2813 +v -0.3331 4.5313 1.2813 +v -0.2706 4.7188 1.2813 +v -0.2706 4.5313 1.2813 +v -0.1456 4.5 1.3125 +v -0.1456 4.75 1.0625 +v -0.2706 4.75 1.0625 +v -0.2706 4.5 1.0625 +v -0.1456 4.5 1.0625 +v -0.2706 4.75 1.3125 +v -0.2706 4.5 1.3125 +v -0.1456 4.75 1.3125 +v -0.3956 4.75 1.0625 +v -0.3956 4.5 1.0625 +v -0.3331 4.75 1.0625 +v -0.3331 4.5 1.0625 +v -0.3956 4.75 1.3125 +v -0.3956 4.5 1.3125 +v -0.3331 4.75 1.3125 +v -0.3331 4.5 1.3125 +v -0.4581 4.7188 1.0938 +v -0.4581 4.5313 1.0938 +v -0.3956 4.7188 1.0938 +v -0.3956 4.5313 1.0938 +v -0.4581 4.7188 1.2813 +v -0.4581 4.5313 1.2813 +v -0.3956 4.7188 1.2813 +v -0.3956 4.5313 1.2813 vt 0.125 1 vt 0.1875 1 vt 0.1875 0.0625 @@ -20763,6 +20891,326 @@ vt 0.5313 0.5625 vt 0.5313 0.625 vt 0.2188 0.625 vt 0.2188 0.5625 +vt 0.9063 0.8125 +vt 0.9844 0.8125 +vt 0.9844 1 +vt 0.9063 1 +vt 0.9063 0.8125 +vt 0.9844 0.8125 +vt 0.9844 1 +vt 0.9063 1 +vt 0.9063 0.8125 +vt 0.9063 1 +vt 0.8125 1 +vt 0.8125 0.8125 +vt 0.9063 0.8125 +vt 0.9063 1 +vt 0.8125 1 +vt 0.8125 0.8125 +vt 0.9063 0.7344 +vt 0.9063 0.8125 +vt 0.8125 0.8125 +vt 0.8125 0.7344 +vt 0.9063 0.7344 +vt 0.9063 0.8125 +vt 0.8125 0.8125 +vt 0.8125 0.7344 +vt 0.9063 0.8125 +vt 0.9844 0.8125 +vt 0.9844 1 +vt 0.9063 1 +vt 0.9063 0.8125 +vt 0.9844 0.8125 +vt 0.9844 1 +vt 0.9063 1 +vt 0.9063 0.8125 +vt 0.9063 1 +vt 0.8125 1 +vt 0.8125 0.8125 +vt 0.9063 0.8125 +vt 0.9063 1 +vt 0.8125 1 +vt 0.8125 0.8125 +vt 0.9063 0.7344 +vt 0.9063 0.8125 +vt 0.8125 0.8125 +vt 0.8125 0.7344 +vt 0.9063 0.7344 +vt 0.9063 0.8125 +vt 0.8125 0.8125 +vt 0.8125 0.7344 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.6719 0.375 +vt 0.6719 0.625 +vt 0.6563 0.625 +vt 0.6563 0.375 +vt 0.6719 0.625 +vt 0.6719 0.375 +vt 0.6563 0.375 +vt 0.6563 0.625 +vt 0.5469 0.6094 +vt 0.6719 0.6094 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.5469 0.6094 +vt 0.6719 0.6094 +vt 0.6719 0.625 +vt 0.5469 0.625 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.6563 0.375 +vt 0.6563 0.25 +vt 0.6719 0.3594 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.3594 +vt 0.6719 0.25 +vt 0.6719 0.2656 +vt 0.5469 0.2656 +vt 0.5469 0.25 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.25 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.5469 0.3594 +vt 0.5469 0.3906 +vt 0.4219 0.3906 +vt 0.4219 0.3594 +vt 0.5469 0.3906 +vt 0.5469 0.3594 +vt 0.4219 0.3594 +vt 0.4219 0.3906 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.4219 0.375 +vt 0.4219 0.25 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.4219 0.375 +vt 0.4219 0.25 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.6563 0.375 +vt 0.6563 0.25 +vt 0.6719 0.3594 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.3594 +vt 0.6719 0.25 +vt 0.6719 0.2656 +vt 0.5469 0.2656 +vt 0.5469 0.25 +vt 0.6719 0.25 +vt 0.6719 0.375 +vt 0.5469 0.375 +vt 0.5469 0.25 +vt 0.5469 0.25 +vt 0.5469 0.375 +vt 0.6719 0.375 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.6719 0.25 +vt 0.75 0.25 +vt 0.75 0.3438 +vt 0.6719 0.3438 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 +vt 0.3281 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3281 0.3281 +vt 0.2813 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.2813 0.3281 +vt 0.3281 0.2656 +vt 0.3281 0.3281 +vt 0.2656 0.3281 +vt 0.2656 0.2656 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3438 +vt 0.2656 0.3438 +vt 0.2656 0.3281 +vt 0.3281 0.375 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.375 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3594 0.4063 +vt 0.3594 0.4531 +vt 0.3125 0.4531 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3438 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3438 0.3281 +vt 0.3281 0.3906 +vt 0.3125 0.3906 +vt 0.3125 0.3281 +vt 0.3281 0.3281 +vt 0.2813 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.2813 0.3281 +vt 0.3281 0.2656 +vt 0.3281 0.3281 +vt 0.2656 0.3281 +vt 0.2656 0.2656 +vt 0.3281 0.3281 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.3281 +vt 0.3281 0.3281 +vt 0.3281 0.3438 +vt 0.2656 0.3438 +vt 0.2656 0.3281 +vt 0.3281 0.375 +vt 0.3281 0.3906 +vt 0.2656 0.3906 +vt 0.2656 0.375 +vt 0.4063 0.3906 +vt 0.4063 0.4063 +vt 0.3594 0.4063 +vt 0.3594 0.3906 +vt 0.3594 0.3906 +vt 0.3594 0.4063 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3594 0.4063 +vt 0.3594 0.4531 +vt 0.3125 0.4531 +vt 0.3125 0.4063 +vt 0.3125 0.3906 +vt 0.3125 0.4063 +vt 0.2656 0.4063 +vt 0.2656 0.3906 +vt 0.4531 0.3906 +vt 0.4531 0.4063 +vt 0.4063 0.4063 +vt 0.4063 0.3906 vn 0 -0.26 0.97 vn 0 0.26 -0.97 vn 0 1 0 @@ -22341,32 +22789,32 @@ vn 0 -1 0 vn 0.92 0.38 0 vn -1 0 0 vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 +vn 0 1 0.04 +vn 0 -1 -0.04 +vn 0 -0.04 1 vn -1 0 0 vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 +vn 0 1 0.04 +vn 0 -1 -0.04 vn -1 0 0 vn 1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 +vn 0 1 0.04 +vn 0 -1 -0.04 +vn 0 -0.04 1 vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 +vn 0 1 -0.03 +vn 0 -1 0.03 +vn 0 0.03 1 vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 +vn 0 1 -0.03 +vn 0 -1 0.03 vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 +vn 0 1 -0.03 +vn 0 -1 0.03 +vn 0 0.03 1 vn 0.55 0.45 -0.71 vn 0.55 -0.45 0.71 vn 0.71 -0.06 -0.71 @@ -23971,3217 +24419,6666 @@ vn 0 1 0 vn 0 -1 0 vn 0 0 1 vn 0 0 -1 +vn 0.96 0 -0.28 +vn -0.96 0 0.28 +vn 0 1 0 +vn 0 -1 0 +vn 0.28 0 0.96 +vn -0.28 0 -0.96 +vn 0.99 0 0.16 +vn -0.99 0 -0.16 +vn 0 1 0 +vn 0 -1 0 +vn -0.16 0 0.99 +vn 0.16 0 -0.99 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 -1 +vn 1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 0 -1 +vn 0 1 0 +vn 0 -1 0 +vn -1 0 0 +vn 1 0 0 +vn 0 0 1 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 1 0 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 0 -1 +vn 0 0 1 +vn -1 0 0 +vn 0 1 0 +vn 0 -1 0 usemtl wooden_chain_fence -f 11/1/1 12/2/1 14/3/1 13/4/1 -f 16/5/2 15/6/2 17/7/2 18/8/2 -f 16/9/3 12/10/3 11/11/3 15/12/3 -f 17/13/4 13/14/4 14/15/4 18/16/4 -f 15/17/5 11/18/5 13/19/5 17/20/5 -f 12/21/6 16/22/6 18/23/6 14/24/6 -f 22/25/7 20/26/7 19/27/7 21/28/7 -f 25/29/8 23/30/8 24/31/8 26/32/8 -f 19/33/9 20/34/9 24/35/9 23/36/9 -f 22/37/10 21/38/10 25/39/10 26/40/10 -f 21/41/11 19/42/11 23/43/11 25/44/11 -f 26/45/12 24/46/12 20/47/12 22/48/12 -f 30/49/13 28/50/13 27/51/13 29/52/13 -f 33/53/14 31/54/14 32/55/14 34/56/14 -f 27/57/15 28/58/15 32/59/15 31/60/15 -f 30/61/16 29/62/16 33/63/16 34/64/16 -f 29/65/17 27/66/17 31/67/17 33/68/17 -f 34/69/18 32/70/18 28/71/18 30/72/18 -f 35/73/19 36/74/19 38/75/19 37/76/19 -f 40/77/20 39/78/20 41/79/20 42/80/20 -f 40/81/21 36/82/21 35/83/21 39/84/21 -f 41/85/22 37/86/22 38/87/22 42/88/22 -f 39/89/23 35/90/23 37/91/23 41/92/23 -f 36/93/24 40/94/24 42/95/24 38/96/24 -f 43/97/25 44/98/25 46/99/25 45/100/25 -f 48/101/26 47/102/26 49/103/26 50/104/26 -f 48/105/27 44/106/27 43/107/27 47/108/27 -f 49/109/28 45/110/28 46/111/28 50/112/28 -f 47/113/29 43/114/29 45/115/29 49/116/29 -f 44/117/30 51/118/30 52/119/30 46/120/30 -f 53/121/31 48/122/31 50/123/31 54/124/31 -f 53/125/32 51/126/32 44/127/32 48/128/32 -f 50/129/33 46/130/33 52/131/33 54/132/33 -f 51/133/34 55/134/34 56/135/34 52/136/34 -f 57/137/35 53/138/35 54/139/35 58/140/35 -f 57/141/36 55/142/36 51/143/36 53/144/36 -f 54/145/37 52/146/37 56/147/37 58/148/37 -f 57/149/38 55/150/38 56/151/38 58/152/38 +f 11/1/1 12/2/1 14/3/1 +f 11/1/1 14/3/1 13/4/1 +f 16/5/2 15/6/2 17/7/2 +f 16/5/2 17/7/2 18/8/2 +f 16/9/3 12/10/3 11/11/3 +f 16/9/3 11/11/3 15/12/3 +f 17/13/4 13/14/4 14/15/4 +f 17/13/4 14/15/4 18/16/4 +f 15/17/5 11/18/5 13/19/5 +f 15/17/5 13/19/5 17/20/5 +f 12/21/6 16/22/6 18/23/6 +f 12/21/6 18/23/6 14/24/6 +f 22/25/7 20/26/7 19/27/7 +f 22/25/7 19/27/7 21/28/7 +f 25/29/8 23/30/8 24/31/8 +f 25/29/8 24/31/8 26/32/8 +f 19/33/9 20/34/9 24/35/9 +f 19/33/9 24/35/9 23/36/9 +f 22/37/10 21/38/10 25/39/10 +f 22/37/10 25/39/10 26/40/10 +f 21/41/11 19/42/11 23/43/11 +f 21/41/11 23/43/11 25/44/11 +f 26/45/12 24/46/12 20/47/12 +f 26/45/12 20/47/12 22/48/12 +f 30/49/13 28/50/13 27/51/13 +f 30/49/13 27/51/13 29/52/13 +f 33/53/14 31/54/14 32/55/14 +f 33/53/14 32/55/14 34/56/14 +f 27/57/15 28/58/15 32/59/15 +f 27/57/15 32/59/15 31/60/15 +f 30/61/16 29/62/16 33/63/16 +f 30/61/16 33/63/16 34/64/16 +f 29/65/17 27/66/17 31/67/17 +f 29/65/17 31/67/17 33/68/17 +f 34/69/18 32/70/18 28/71/18 +f 34/69/18 28/71/18 30/72/18 +f 35/73/19 36/74/19 38/75/19 +f 35/73/19 38/75/19 37/76/19 +f 40/77/20 39/78/20 41/79/20 +f 40/77/20 41/79/20 42/80/20 +f 40/81/21 36/82/21 35/83/21 +f 40/81/21 35/83/21 39/84/21 +f 41/85/22 37/86/22 38/87/22 +f 41/85/22 38/87/22 42/88/22 +f 39/89/23 35/90/23 37/91/23 +f 39/89/23 37/91/23 41/92/23 +f 36/93/24 40/94/24 42/95/24 +f 36/93/24 42/95/24 38/96/24 +f 43/97/25 44/98/25 46/99/25 +f 43/97/25 46/99/25 45/100/25 +f 48/101/26 47/102/26 49/103/26 +f 48/101/26 49/103/26 50/104/26 +f 48/105/27 44/106/27 43/107/27 +f 48/105/27 43/107/27 47/108/27 +f 49/109/28 45/110/28 46/111/28 +f 49/109/28 46/111/28 50/112/28 +f 47/113/29 43/114/29 45/115/29 +f 47/113/29 45/115/29 49/116/29 +f 44/117/30 51/118/30 52/119/30 +f 44/117/30 52/119/30 46/120/30 +f 53/121/31 48/122/31 50/123/31 +f 53/121/31 50/123/31 54/124/31 +f 53/125/32 51/126/32 44/127/32 +f 53/125/32 44/127/32 48/128/32 +f 50/129/33 46/130/33 52/131/33 +f 50/129/33 52/131/33 54/132/33 +f 51/133/34 55/134/34 56/135/34 +f 51/133/34 56/135/34 52/136/34 +f 57/137/35 53/138/35 54/139/35 +f 57/137/35 54/139/35 58/140/35 +f 57/141/36 55/142/36 51/143/36 +f 57/141/36 51/143/36 53/144/36 +f 54/145/37 52/146/37 56/147/37 +f 54/145/37 56/147/37 58/148/37 +f 57/149/38 55/150/38 56/151/38 +f 57/149/38 56/151/38 58/152/38 usemtl metal_decoration2_razor_wire -f 61/153/39 60/154/39 59/155/39 62/156/39 -f 65/157/40 64/158/40 63/159/40 66/160/40 -f 69/161/41 68/162/41 67/163/41 70/164/41 -f 73/165/42 72/166/42 71/167/42 74/168/42 -f 77/169/43 76/170/43 75/171/43 78/172/43 -f 81/173/44 80/174/44 79/175/44 82/176/44 -f 85/177/45 84/178/45 83/179/45 86/180/45 -f 89/181/46 88/182/46 87/183/46 90/184/46 -f 93/185/47 92/186/47 91/187/47 94/188/47 -f 97/189/48 96/190/48 95/191/48 98/192/48 -f 101/193/49 100/194/49 99/195/49 102/196/49 -f 105/197/50 104/198/50 103/199/50 106/200/50 -f 109/201/51 108/202/51 107/203/51 110/204/51 -f 113/205/52 112/206/52 111/207/52 114/208/52 -f 117/209/53 116/210/53 115/211/53 118/212/53 -f 121/213/54 120/214/54 119/215/54 122/216/54 -f 125/217/55 124/218/55 123/219/55 126/220/55 -f 129/221/56 128/222/56 127/223/56 130/224/56 -f 133/225/57 132/226/57 131/227/57 134/228/57 -f 137/229/58 136/230/58 135/231/58 138/232/58 -f 141/233/59 140/234/59 139/235/59 142/236/59 -f 145/237/60 144/238/60 143/239/60 146/240/60 -f 149/241/61 148/242/61 147/243/61 150/244/61 -f 153/245/62 152/246/62 151/247/62 154/248/62 -f 157/249/63 156/250/63 155/251/63 158/252/63 -f 161/253/64 160/254/64 159/255/64 162/256/64 -f 165/257/65 164/258/65 163/259/65 166/260/65 -f 169/261/66 168/262/66 167/263/66 170/264/66 -f 173/265/67 172/266/67 171/267/67 174/268/67 -f 177/269/68 176/270/68 175/271/68 178/272/68 -f 181/273/69 180/274/69 179/275/69 182/276/69 -f 185/277/70 184/278/70 183/279/70 186/280/70 -f 189/281/71 188/282/71 187/283/71 190/284/71 -f 193/285/72 192/286/72 191/287/72 194/288/72 -f 197/289/73 196/290/73 195/291/73 198/292/73 -f 201/293/74 200/294/74 199/295/74 202/296/74 -f 205/297/75 204/298/75 203/299/75 206/300/75 -f 209/301/76 208/302/76 207/303/76 210/304/76 -f 205/305/77 206/306/77 211/307/77 212/308/77 -f 212/309/78 211/310/78 213/311/78 214/312/78 -f 216/313/79 215/314/79 203/315/79 213/316/79 -f 206/317/80 218/318/80 217/319/80 211/320/80 -f 211/321/81 217/322/81 216/323/81 213/324/81 -f 213/325/82 203/326/82 204/327/82 214/328/82 -f 206/329/83 203/330/83 215/331/83 218/332/83 -f 208/333/84 220/334/84 219/335/84 207/336/84 -f 209/337/85 210/338/85 221/339/85 222/340/85 -f 222/341/86 221/342/86 219/343/86 220/344/86 -f 215/345/87 216/346/87 220/347/87 208/348/87 -f 218/349/88 215/350/88 208/351/88 209/352/88 -f 218/353/89 209/354/89 222/355/89 217/356/89 -f 217/357/90 222/358/90 220/359/90 216/360/90 -f 205/361/91 212/362/91 214/363/91 204/364/91 -f 225/365/92 224/366/92 223/367/92 226/368/92 -f 229/369/93 228/370/93 227/371/93 230/372/93 -f 233/373/94 232/374/94 231/375/94 234/376/94 -f 237/377/95 236/378/95 235/379/95 238/380/95 -f 241/381/96 240/382/96 239/383/96 242/384/96 -f 245/385/97 244/386/97 243/387/97 246/388/97 -f 249/389/98 248/390/98 247/391/98 250/392/98 -f 253/393/99 252/394/99 251/395/99 254/396/99 -f 257/397/100 256/398/100 255/399/100 258/400/100 -f 261/401/101 260/402/101 259/403/101 262/404/101 -f 265/405/102 264/406/102 263/407/102 266/408/102 -f 269/409/103 268/410/103 267/411/103 270/412/103 -f 273/413/104 272/414/104 271/415/104 274/416/104 -f 277/417/105 276/418/105 275/419/105 278/420/105 -f 281/421/106 280/422/106 279/423/106 282/424/106 -f 285/425/107 284/426/107 283/427/107 286/428/107 -f 289/429/108 288/430/108 287/431/108 290/432/108 -f 293/433/109 292/434/109 291/435/109 294/436/109 -f 294/437/110 291/438/110 287/439/110 288/440/110 -f 293/441/111 289/442/111 290/443/111 292/444/111 -f 299/445/112 298/446/112 297/447/112 300/448/112 -f 303/449/113 302/450/113 301/451/113 304/452/113 -f 306/453/114 305/454/114 302/455/114 303/456/114 -f 307/457/115 304/458/115 301/459/115 308/460/115 -f 8/461/116 310/462/116 309/463/116 311/464/116 -f 306/465/117 307/466/117 308/467/117 305/468/117 -f 310/469/118 313/470/118 312/471/118 309/472/118 -f 8/473/119 311/474/119 314/475/119 315/476/119 -f 315/477/120 314/478/120 312/479/120 313/480/120 -f 311/481/121 309/482/121 289/483/121 293/484/121 -f 317/485/122 316/486/122 295/487/122 296/488/122 -f 311/489/123 293/490/123 294/491/123 314/492/123 -f 314/493/124 294/494/124 288/495/124 312/496/124 -f 290/497/125 287/498/125 300/499/125 316/500/125 -f 309/501/126 312/502/126 288/503/126 289/504/126 -f 292/505/127 290/506/127 316/507/127 317/508/127 -f 292/509/128 317/510/128 299/511/128 291/512/128 -f 291/513/129 299/514/129 300/515/129 287/516/129 -f 316/517/130 300/518/130 297/519/130 295/520/130 -f 317/521/131 296/522/131 298/523/131 299/524/131 -f 318/525/132 303/526/132 304/527/132 319/528/132 -f 320/529/133 306/530/133 303/531/133 318/532/133 -f 320/533/134 321/534/134 307/535/134 306/536/134 -f 308/537/135 301/538/135 313/539/135 310/540/135 -f 321/541/136 319/542/136 304/543/136 307/544/136 -f 305/545/137 308/546/137 310/547/137 8/548/137 -f 305/549/138 8/550/138 315/551/138 302/552/138 -f 302/553/139 315/554/139 313/555/139 301/556/139 -f 323/557/140 322/558/140 321/559/140 320/560/140 -f 322/561/141 324/562/141 319/563/141 321/564/141 -f 323/565/142 320/566/142 318/567/142 325/568/142 -f 325/569/143 318/570/143 319/571/143 324/572/143 -f 329/573/144 328/574/144 327/575/144 330/576/144 -f 333/577/145 332/578/145 331/579/145 334/580/145 -f 337/581/146 336/582/146 335/583/146 338/584/146 -f 341/585/147 340/586/147 339/587/147 342/588/147 -f 345/589/148 344/590/148 343/591/148 346/592/148 -f 349/593/149 348/594/149 347/595/149 350/596/149 -f 353/597/150 352/598/150 351/599/150 354/600/150 -f 357/601/151 356/602/151 355/603/151 358/604/151 -f 361/605/152 360/606/152 359/607/152 362/608/152 -f 365/609/153 364/610/153 363/611/153 366/612/153 -f 369/613/154 368/614/154 367/615/154 370/616/154 -f 373/617/155 372/618/155 371/619/155 374/620/155 -f 377/621/156 376/622/156 375/623/156 378/624/156 -f 381/625/157 380/626/157 379/627/157 382/628/157 -f 385/629/158 384/630/158 383/631/158 386/632/158 -f 389/633/159 388/634/159 387/635/159 390/636/159 -f 393/637/160 392/638/160 391/639/160 394/640/160 -f 397/641/161 396/642/161 395/643/161 398/644/161 -f 401/645/162 400/646/162 399/647/162 402/648/162 -f 405/649/163 404/650/163 403/651/163 406/652/163 -f 408/653/164 407/654/164 326/655/164 409/656/164 -f 412/657/165 411/658/165 410/659/165 413/660/165 -f 416/661/166 415/662/166 414/663/166 417/664/166 -f 420/665/167 419/666/167 418/667/167 421/668/167 -f 424/669/168 423/670/168 422/671/168 425/672/168 -f 428/673/169 427/674/169 426/675/169 429/676/169 -f 432/677/170 431/678/170 430/679/170 433/680/170 -f 436/681/171 435/682/171 434/683/171 437/684/171 -f 440/685/172 439/686/172 438/687/172 441/688/172 -f 444/689/173 443/690/173 442/691/173 445/692/173 -f 448/693/174 447/694/174 446/695/174 449/696/174 -f 452/697/175 451/698/175 450/699/175 453/700/175 -f 456/701/176 455/702/176 454/703/176 457/704/176 -f 460/705/177 459/706/177 458/707/177 461/708/177 -f 464/709/178 463/710/178 462/711/178 465/712/178 -f 468/713/179 467/714/179 466/715/179 469/716/179 -f 472/717/180 471/718/180 470/719/180 473/720/180 -f 476/721/181 475/722/181 474/723/181 477/724/181 -f 472/725/182 473/726/182 478/727/182 479/728/182 -f 479/729/183 478/730/183 480/731/183 481/732/183 -f 483/733/184 482/734/184 470/735/184 480/736/184 -f 473/737/185 485/738/185 484/739/185 478/740/185 -f 478/741/186 484/742/186 483/743/186 480/744/186 -f 480/745/187 470/746/187 471/747/187 481/748/187 -f 473/749/188 470/750/188 482/751/188 485/752/188 -f 475/753/189 487/754/189 486/755/189 474/756/189 -f 476/757/190 477/758/190 488/759/190 489/760/190 -f 489/761/191 488/762/191 486/763/191 487/764/191 -f 482/765/192 483/766/192 487/767/192 475/768/192 -f 485/769/193 482/770/193 475/771/193 476/772/193 -f 485/773/194 476/774/194 489/775/194 484/776/194 -f 484/777/195 489/778/195 487/779/195 483/780/195 -f 472/781/196 479/782/196 481/783/196 471/784/196 -f 492/785/197 491/786/197 490/787/197 493/788/197 -f 496/789/198 495/790/198 494/791/198 497/792/198 -f 500/793/199 499/794/199 498/795/199 501/796/199 -f 504/797/200 503/798/200 502/799/200 505/800/200 -f 508/801/201 507/802/201 506/803/201 509/804/201 -f 512/805/202 511/806/202 510/807/202 513/808/202 -f 516/809/203 515/810/203 514/811/203 517/812/203 -f 520/813/204 519/814/204 518/815/204 521/816/204 -f 524/817/205 523/818/205 522/819/205 525/820/205 -f 528/821/206 527/822/206 526/823/206 529/824/206 -f 532/825/207 531/826/207 530/827/207 533/828/207 -f 536/829/208 535/830/208 534/831/208 537/832/208 -f 540/833/209 539/834/209 538/835/209 541/836/209 -f 544/837/210 543/838/210 542/839/210 545/840/210 -f 548/841/211 547/842/211 546/843/211 549/844/211 -f 552/845/212 551/846/212 550/847/212 553/848/212 -f 556/849/213 555/850/213 554/851/213 557/852/213 -f 560/853/214 559/854/214 558/855/214 561/856/214 -f 564/857/215 563/858/215 562/859/215 565/860/215 -f 565/861/216 562/862/216 558/863/216 559/864/216 -f 564/865/217 560/866/217 561/867/217 563/868/217 -f 568/869/218 567/870/218 566/871/218 569/872/218 -f 571/873/219 570/874/219 566/875/219 567/876/219 -f 574/877/220 573/878/220 572/879/220 575/880/220 -f 576/881/221 575/882/221 572/883/221 577/884/221 -f 580/885/222 579/886/222 578/887/222 581/888/222 -f 583/889/223 582/890/223 576/891/223 584/892/223 -f 579/893/224 586/894/224 585/895/224 578/896/224 -f 580/897/225 581/898/225 587/899/225 588/900/225 -f 588/901/226 587/902/226 585/903/226 586/904/226 -f 591/905/227 590/906/227 589/907/227 592/908/227 -f 595/909/228 594/910/228 593/911/228 596/912/228 -f 599/913/229 598/914/229 597/915/229 600/916/229 -f 600/917/230 597/918/230 593/919/230 594/920/230 -f 603/921/231 602/922/231 601/923/231 604/924/231 -f 605/925/232 604/926/232 601/927/232 606/928/232 -f 609/929/233 608/930/233 607/931/233 610/932/233 -f 612/933/234 611/934/234 605/935/234 613/936/234 -f 608/937/235 615/938/235 614/939/235 607/940/235 -f 609/941/236 610/942/236 616/943/236 617/944/236 -f 617/945/237 616/946/237 614/947/237 615/948/237 -f 599/949/238 595/950/238 596/951/238 598/952/238 -f 620/953/239 619/954/239 618/955/239 621/956/239 -f 624/957/240 623/958/240 622/959/240 625/960/240 -f 627/961/241 626/962/241 623/963/241 624/964/241 -f 628/965/242 625/966/242 622/967/242 629/968/242 -f 632/969/243 631/970/243 630/971/243 633/972/243 -f 627/973/244 628/974/244 629/975/244 626/976/244 -f 631/977/245 635/978/245 634/979/245 630/980/245 -f 632/981/246 633/982/246 636/983/246 637/984/246 -f 637/985/247 636/986/247 634/987/247 635/988/247 -f 581/989/248 578/990/248 560/991/248 564/992/248 -f 633/993/249 630/994/249 595/995/249 599/996/249 -f 581/997/250 564/998/250 565/999/250 587/1000/250 -f 587/1001/251 565/1002/251 559/1003/251 585/1004/251 -f 561/1005/252 558/1006/252 638/1007/252 555/1008/252 -f 578/1009/253 585/1010/253 559/1011/253 560/1012/253 -f 563/1013/254 561/1014/254 555/1015/254 556/1016/254 -f 563/1017/255 556/1018/255 639/1019/255 562/1020/255 -f 562/1021/256 639/1022/256 638/1023/256 558/1024/256 -f 610/1025/257 607/1026/257 568/1027/257 640/1028/257 -f 642/1029/258 641/1030/258 582/1031/258 583/1032/258 -f 610/1033/259 640/1034/259 571/1035/259 616/1036/259 -f 616/1037/260 571/1038/260 567/1039/260 614/1040/260 -f 640/1041/261 643/1042/261 570/1043/261 571/1044/261 -f 584/1045/262 644/1046/262 573/1047/262 574/1048/262 -f 590/1049/263 574/1050/263 575/1051/263 589/1052/263 -f 583/1053/264 584/1054/264 574/1055/264 590/1056/264 -f 577/1057/265 572/1058/265 586/1059/265 579/1060/265 -f 582/1061/266 589/1062/266 575/1063/266 576/1064/266 -f 584/1065/267 576/1066/267 577/1067/267 644/1068/267 -f 644/1069/268 577/1070/268 579/1071/268 580/1072/268 -f 644/1073/269 580/1074/269 588/1075/269 573/1076/269 -f 573/1077/270 588/1078/270 586/1079/270 572/1080/270 -f 569/1081/271 566/1082/271 592/1083/271 641/1084/271 -f 607/1085/272 614/1086/272 567/1087/272 568/1088/272 -f 640/1089/273 568/1090/273 569/1091/273 643/1092/273 -f 643/1093/274 569/1094/274 641/1095/274 642/1096/274 -f 643/1097/275 642/1098/275 591/1099/275 570/1100/275 -f 570/1101/276 591/1102/276 592/1103/276 566/1104/276 -f 641/1105/277 592/1106/277 589/1107/277 582/1108/277 -f 642/1109/278 583/1110/278 590/1111/278 591/1112/278 -f 646/1113/279 645/1114/279 611/1115/279 612/1116/279 -f 633/1117/280 599/1118/280 600/1119/280 636/1120/280 -f 636/1121/281 600/1122/281 594/1123/281 634/1124/281 -f 613/1125/282 647/1126/282 602/1127/282 603/1128/282 -f 619/1129/283 603/1130/283 604/1131/283 618/1132/283 -f 612/1133/284 613/1134/284 603/1135/284 619/1136/284 -f 606/1137/285 601/1138/285 615/1139/285 608/1140/285 -f 611/1141/286 618/1142/286 604/1143/286 605/1144/286 -f 613/1145/287 605/1146/287 606/1147/287 647/1148/287 -f 647/1149/288 606/1150/288 608/1151/288 609/1152/288 -f 647/1153/289 609/1154/289 617/1155/289 602/1156/289 -f 602/1157/290 617/1158/290 615/1159/290 601/1160/290 -f 596/1161/291 593/1162/291 621/1163/291 645/1164/291 -f 630/1165/292 634/1166/292 594/1167/292 595/1168/292 -f 598/1169/293 596/1170/293 645/1171/293 646/1172/293 -f 598/1173/294 646/1174/294 620/1175/294 597/1176/294 -f 597/1177/295 620/1178/295 621/1179/295 593/1180/295 -f 645/1181/296 621/1182/296 618/1183/296 611/1184/296 -f 646/1185/297 612/1186/297 619/1187/297 620/1188/297 -f 648/1189/298 624/1190/298 625/1191/298 649/1192/298 -f 650/1193/299 627/1194/299 624/1195/299 648/1196/299 -f 650/1197/300 651/1198/300 628/1199/300 627/1200/300 -f 629/1201/301 622/1202/301 635/1203/301 631/1204/301 -f 651/1205/302 649/1206/302 625/1207/302 628/1208/302 -f 626/1209/303 629/1210/303 631/1211/303 632/1212/303 -f 626/1213/304 632/1214/304 637/1215/304 623/1216/304 -f 623/1217/305 637/1218/305 635/1219/305 622/1220/305 -f 653/1221/306 652/1222/306 651/1223/306 650/1224/306 -f 652/1225/307 654/1226/307 649/1227/307 651/1228/307 -f 653/1229/308 650/1230/308 648/1231/308 655/1232/308 -f 655/1233/309 648/1234/309 649/1235/309 654/1236/309 -f 656/1237/310 557/1238/310 554/1239/310 657/1240/310 -f 657/1241/311 554/1242/311 555/1243/311 638/1244/311 -f 556/1245/312 557/1246/312 656/1247/312 639/1248/312 -f 639/1249/313 656/1250/313 657/1251/313 638/1252/313 -f 660/1253/314 659/1254/314 658/1255/314 661/1256/314 -f 662/1257/315 661/1258/315 658/1259/315 663/1260/315 -f 666/1261/316 665/1262/316 664/1263/316 667/1264/316 -f 665/1265/317 669/1266/317 668/1267/317 664/1268/317 -f 666/1269/318 667/1270/318 670/1271/318 671/1272/318 -f 671/1273/319 670/1274/319 668/1275/319 669/1276/319 -f 673/1277/320 672/1278/320 659/1279/320 660/1280/320 -f 674/1281/321 660/1282/321 661/1283/321 675/1284/321 -f 676/1285/322 673/1286/322 660/1287/322 674/1288/322 -f 676/1289/323 677/1290/323 662/1291/323 673/1292/323 -f 663/1293/324 658/1294/324 669/1295/324 665/1296/324 -f 677/1297/325 675/1298/325 661/1299/325 662/1300/325 -f 673/1301/326 662/1302/326 663/1303/326 672/1304/326 -f 672/1305/327 663/1306/327 665/1307/327 666/1308/327 -f 672/1309/328 666/1310/328 671/1311/328 659/1312/328 -f 669/1313/329 658/1314/329 659/1315/329 671/1316/329 -f 679/1317/330 678/1318/330 677/1319/330 676/1320/330 -f 678/1321/331 680/1322/331 675/1323/331 677/1324/331 -f 679/1325/332 676/1326/332 674/1327/332 681/1328/332 -f 681/1329/333 674/1330/333 675/1331/333 680/1332/333 -f 664/1333/334 668/1334/334 670/1335/334 667/1336/334 -f 685/1337/335 684/1338/335 683/1339/335 686/1340/335 -f 689/1341/336 688/1342/336 687/1343/336 690/1344/336 -f 693/1345/337 692/1346/337 691/1347/337 694/1348/337 -f 697/1349/338 696/1350/338 695/1351/338 698/1352/338 -f 701/1353/339 700/1354/339 699/1355/339 702/1356/339 -f 705/1357/340 704/1358/340 703/1359/340 706/1360/340 -f 709/1361/341 708/1362/341 707/1363/341 710/1364/341 -f 713/1365/342 712/1366/342 711/1367/342 714/1368/342 -f 717/1369/343 716/1370/343 715/1371/343 718/1372/343 -f 721/1373/344 720/1374/344 719/1375/344 722/1376/344 -f 725/1377/345 724/1378/345 723/1379/345 726/1380/345 -f 729/1381/346 728/1382/346 727/1383/346 730/1384/346 -f 733/1385/347 732/1386/347 731/1387/347 734/1388/347 -f 737/1389/348 736/1390/348 735/1391/348 738/1392/348 -f 741/1393/349 740/1394/349 739/1395/349 742/1396/349 -f 745/1397/350 744/1398/350 743/1399/350 746/1400/350 -f 749/1401/351 748/1402/351 747/1403/351 750/1404/351 -f 753/1405/352 752/1406/352 751/1407/352 754/1408/352 -f 757/1409/353 756/1410/353 755/1411/353 758/1412/353 -f 761/1413/354 760/1414/354 759/1415/354 762/1416/354 -f 765/1417/355 764/1418/355 763/1419/355 766/1420/355 -f 769/1421/356 768/1422/356 767/1423/356 770/1424/356 -f 773/1425/357 772/1426/357 771/1427/357 774/1428/357 -f 777/1429/358 776/1430/358 775/1431/358 778/1432/358 -f 781/1433/359 780/1434/359 779/1435/359 782/1436/359 -f 785/1437/360 784/1438/360 783/1439/360 786/1440/360 -f 789/1441/361 788/1442/361 787/1443/361 790/1444/361 -f 793/1445/362 792/1446/362 791/1447/362 794/1448/362 -f 797/1449/363 796/1450/363 795/1451/363 798/1452/363 -f 801/1453/364 800/1454/364 799/1455/364 802/1456/364 -f 805/1457/365 804/1458/365 803/1459/365 806/1460/365 -f 809/1461/366 808/1462/366 807/1463/366 810/1464/366 -f 813/1465/367 812/1466/367 811/1467/367 814/1468/367 -f 817/1469/368 816/1470/368 815/1471/368 818/1472/368 -f 821/1473/369 820/1474/369 819/1475/369 822/1476/369 -f 825/1477/370 824/1478/370 823/1479/370 6/1480/370 -f 828/1481/371 827/1482/371 826/1483/371 829/1484/371 -f 832/1485/372 831/1486/372 830/1487/372 833/1488/372 -f 836/1489/373 835/1490/373 834/1491/373 837/1492/373 -f 840/1493/374 839/1494/374 838/1495/374 841/1496/374 -f 844/1497/375 843/1498/375 842/1499/375 845/1500/375 -f 848/1501/376 847/1502/376 846/1503/376 849/1504/376 -f 852/1505/377 851/1506/377 850/1507/377 853/1508/377 -f 856/1509/378 855/1510/378 854/1511/378 857/1512/378 -f 860/1513/379 859/1514/379 858/1515/379 861/1516/379 -f 864/1517/380 863/1518/380 862/1519/380 865/1520/380 -f 868/1521/381 867/1522/381 866/1523/381 869/1524/381 -f 872/1525/382 871/1526/382 870/1527/382 873/1528/382 -f 876/1529/383 875/1530/383 874/1531/383 877/1532/383 -f 880/1533/384 879/1534/384 878/1535/384 881/1536/384 -f 884/1537/385 883/1538/385 882/1539/385 885/1540/385 -f 888/1541/386 887/1542/386 886/1543/386 889/1544/386 -f 892/1545/387 891/1546/387 890/1547/387 893/1548/387 -f 896/1549/388 895/1550/388 894/1551/388 897/1552/388 -f 900/1553/389 899/1554/389 898/1555/389 901/1556/389 -f 904/1557/390 903/1558/390 902/1559/390 905/1560/390 -f 908/1561/391 907/1562/391 906/1563/391 909/1564/391 -f 912/1565/392 911/1566/392 910/1567/392 913/1568/392 -f 916/1569/393 915/1570/393 914/1571/393 917/1572/393 -f 920/1573/394 919/1574/394 918/1575/394 921/1576/394 -f 924/1577/395 923/1578/395 922/1579/395 925/1580/395 -f 928/1581/396 927/1582/396 926/1583/396 929/1584/396 -f 932/1585/397 931/1586/397 930/1587/397 933/1588/397 -f 936/1589/398 935/1590/398 934/1591/398 937/1592/398 -f 940/1593/399 939/1594/399 938/1595/399 941/1596/399 -f 944/1597/400 943/1598/400 942/1599/400 945/1600/400 -f 948/1601/401 947/1602/401 946/1603/401 949/1604/401 -f 952/1605/402 951/1606/402 950/1607/402 953/1608/402 -f 956/1609/403 955/1610/403 954/1611/403 957/1612/403 -f 960/1613/404 959/1614/404 958/1615/404 961/1616/404 -f 964/1617/405 963/1618/405 962/1619/405 965/1620/405 -f 968/1621/406 967/1622/406 966/1623/406 969/1624/406 -f 972/1625/407 971/1626/407 970/1627/407 973/1628/407 -f 976/1629/408 975/1630/408 974/1631/408 977/1632/408 -f 980/1633/409 979/1634/409 978/1635/409 981/1636/409 -f 984/1637/410 983/1638/410 982/1639/410 985/1640/410 -f 988/1641/411 987/1642/411 986/1643/411 989/1644/411 -f 992/1645/412 991/1646/412 990/1647/412 993/1648/412 -f 996/1649/413 995/1650/413 994/1651/413 997/1652/413 -f 1000/1653/414 999/1654/414 998/1655/414 1001/1656/414 -f 1003/1657/415 1002/1658/415 682/1659/415 1004/1660/415 -f 1007/1661/416 1006/1662/416 1005/1663/416 1008/1664/416 -f 1011/1665/417 1010/1666/417 1009/1667/417 1012/1668/417 -f 1015/1669/418 1014/1670/418 1013/1671/418 1016/1672/418 -f 1019/1673/419 1018/1674/419 1017/1675/419 1020/1676/419 -f 1023/1677/420 1022/1678/420 1021/1679/420 1024/1680/420 -f 1027/1681/421 1026/1682/421 1025/1683/421 1028/1684/421 -f 1031/1685/422 1030/1686/422 1029/1687/422 1032/1688/422 -f 1035/1689/423 1034/1690/423 1033/1691/423 1036/1692/423 -f 1039/1693/424 1038/1694/424 1037/1695/424 1040/1696/424 -f 1043/1697/425 1042/1698/425 1041/1699/425 1044/1700/425 -f 1047/1701/426 1046/1702/426 1045/1703/426 1048/1704/426 -f 1051/1705/427 1050/1706/427 1049/1707/427 1052/1708/427 -f 1055/1709/428 1054/1710/428 1053/1711/428 1056/1712/428 -f 1059/1713/429 1058/1714/429 1057/1715/429 1060/1716/429 -f 1063/1717/430 1062/1718/430 1061/1719/430 1064/1720/430 -f 1067/1721/431 1066/1722/431 1065/1723/431 1068/1724/431 -f 1071/1725/432 1070/1726/432 1069/1727/432 1072/1728/432 -f 1075/1729/433 1074/1730/433 1073/1731/433 1076/1732/433 -f 1079/1733/434 1078/1734/434 1077/1735/434 1080/1736/434 -f 1083/1737/435 1082/1738/435 1081/1739/435 1084/1740/435 -f 1087/1741/436 1086/1742/436 1085/1743/436 1088/1744/436 -f 1091/1745/437 1090/1746/437 1089/1747/437 1092/1748/437 -f 1095/1749/438 1094/1750/438 1093/1751/438 1096/1752/438 -f 1099/1753/439 1098/1754/439 1097/1755/439 1100/1756/439 -f 1103/1757/440 1102/1758/440 1101/1759/440 1104/1760/440 -f 1107/1761/441 1106/1762/441 1105/1763/441 1108/1764/441 -f 1111/1765/442 1110/1766/442 1109/1767/442 1112/1768/442 -f 1115/1769/443 1114/1770/443 1113/1771/443 1116/1772/443 -f 1119/1773/444 1118/1774/444 1117/1775/444 1120/1776/444 -f 1123/1777/445 1122/1778/445 1121/1779/445 1124/1780/445 -f 1127/1781/446 1126/1782/446 1125/1783/446 1128/1784/446 -f 1131/1785/447 1130/1786/447 1129/1787/447 1132/1788/447 -f 1135/1789/448 1134/1790/448 1133/1791/448 1136/1792/448 -f 1139/1793/449 1138/1794/449 1137/1795/449 1140/1796/449 -f 1143/1797/450 1142/1798/450 1141/1799/450 1144/1800/450 -f 1147/1801/451 1146/1802/451 1145/1803/451 1148/1804/451 -f 1151/1805/452 1150/1806/452 1149/1807/452 1152/1808/452 -f 1155/1809/453 1154/1810/453 1153/1811/453 1156/1812/453 -f 1159/1813/454 1158/1814/454 1157/1815/454 1160/1816/454 -f 1163/1817/455 1162/1818/455 1161/1819/455 1164/1820/455 -f 1167/1821/456 1166/1822/456 1165/1823/456 1168/1824/456 -f 1163/1825/457 1164/1826/457 1169/1827/457 1170/1828/457 -f 1170/1829/458 1169/1830/458 1171/1831/458 1172/1832/458 -f 1174/1833/459 1173/1834/459 1161/1835/459 1171/1836/459 -f 1164/1837/460 1176/1838/460 1175/1839/460 1169/1840/460 -f 1169/1841/461 1175/1842/461 1174/1843/461 1171/1844/461 -f 1171/1845/462 1161/1846/462 1162/1847/462 1172/1848/462 -f 1164/1849/463 1161/1850/463 1173/1851/463 1176/1852/463 -f 1166/1853/464 1178/1854/464 1177/1855/464 1165/1856/464 -f 1167/1857/465 1168/1858/465 1179/1859/465 1180/1860/465 -f 1180/1861/466 1179/1862/466 1177/1863/466 1178/1864/466 -f 1173/1865/467 1174/1866/467 1178/1867/467 1166/1868/467 -f 1176/1869/468 1173/1870/468 1166/1871/468 1167/1872/468 -f 1176/1873/469 1167/1874/469 1180/1875/469 1175/1876/469 -f 1175/1877/470 1180/1878/470 1178/1879/470 1174/1880/470 -f 1163/1881/471 1170/1882/471 1172/1883/471 1162/1884/471 -f 1183/1885/472 1182/1886/472 1181/1887/472 1184/1888/472 -f 1187/1889/473 1186/1890/473 1185/1891/473 1188/1892/473 -f 1191/1893/474 1190/1894/474 1189/1895/474 1192/1896/474 -f 1195/1897/475 1194/1898/475 1193/1899/475 1196/1900/475 -f 1199/1901/476 1198/1902/476 1197/1903/476 1200/1904/476 -f 1203/1905/477 1202/1906/477 1201/1907/477 1204/1908/477 -f 1207/1909/478 1206/1910/478 1205/1911/478 1208/1912/478 -f 1211/1913/479 1210/1914/479 1209/1915/479 1212/1916/479 -f 1215/1917/480 1214/1918/480 1213/1919/480 1216/1920/480 -f 1219/1921/481 1218/1922/481 1217/1923/481 1220/1924/481 -f 1223/1925/482 1222/1926/482 1221/1927/482 1224/1928/482 -f 1227/1929/483 1226/1930/483 1225/1931/483 1228/1932/483 -f 1231/1933/484 1230/1934/484 1229/1935/484 1232/1936/484 -f 1235/1937/485 1234/1938/485 1233/1939/485 1236/1940/485 -f 1239/1941/486 1238/1942/486 1237/1943/486 1240/1944/486 -f 1243/1945/487 1242/1946/487 1241/1947/487 1244/1948/487 -f 1247/1949/488 1246/1950/488 1245/1951/488 1248/1952/488 -f 1251/1953/489 1250/1954/489 1249/1955/489 1252/1956/489 -f 1255/1957/490 1254/1958/490 1253/1959/490 1256/1960/490 -f 1256/1961/491 1253/1962/491 1249/1963/491 1250/1964/491 -f 1255/1965/492 1251/1966/492 1252/1967/492 1254/1968/492 -f 1259/1969/493 1258/1970/493 1257/1971/493 1260/1972/493 -f 1262/1973/494 1261/1974/494 1257/1975/494 1258/1976/494 -f 1265/1977/495 1264/1978/495 1263/1979/495 1266/1980/495 -f 1267/1981/496 1266/1982/496 1263/1983/496 1268/1984/496 -f 1271/1985/497 1270/1986/497 1269/1987/497 1272/1988/497 -f 1274/1989/498 1273/1990/498 1267/1991/498 1275/1992/498 -f 1270/1993/499 1277/1994/499 1276/1995/499 1269/1996/499 -f 1271/1997/500 1272/1998/500 1278/1999/500 1279/2000/500 -f 1279/2001/501 1278/2002/501 1276/2003/501 1277/2004/501 -f 1282/2005/502 1281/2006/502 1280/2007/502 1283/2008/502 -f 1286/2009/503 1285/2010/503 1284/2011/503 1287/2012/503 -f 1290/2013/504 1289/2014/504 1288/2015/504 1291/2016/504 -f 1291/2017/505 1288/2018/505 1284/2019/505 1285/2020/505 -f 1294/2021/506 1293/2022/506 1292/2023/506 1295/2024/506 -f 1296/2025/507 1295/2026/507 1292/2027/507 1297/2028/507 -f 1300/2029/508 1299/2030/508 1298/2031/508 1301/2032/508 -f 1303/2033/509 1302/2034/509 1296/2035/509 1304/2036/509 -f 1299/2037/510 1306/2038/510 1305/2039/510 1298/2040/510 -f 1300/2041/511 1301/2042/511 1307/2043/511 1308/2044/511 -f 1308/2045/512 1307/2046/512 1305/2047/512 1306/2048/512 -f 1290/2049/513 1286/2050/513 1287/2051/513 1289/2052/513 -f 1311/2053/514 1310/2054/514 1309/2055/514 1312/2056/514 -f 1315/2057/515 1314/2058/515 1313/2059/515 1316/2060/515 -f 1318/2061/516 1317/2062/516 1314/2063/516 1315/2064/516 -f 1319/2065/517 1316/2066/517 1313/2067/517 1320/2068/517 -f 1323/2069/518 1322/2070/518 1321/2071/518 1324/2072/518 -f 1318/2073/519 1319/2074/519 1320/2075/519 1317/2076/519 -f 1322/2077/520 1326/2078/520 1325/2079/520 1321/2080/520 -f 1323/2081/521 1324/2082/521 1327/2083/521 1328/2084/521 -f 1328/2085/522 1327/2086/522 1325/2087/522 1326/2088/522 -f 1272/2089/523 1269/2090/523 1251/2091/523 1255/2092/523 -f 1324/2093/524 1321/2094/524 1286/2095/524 1290/2096/524 -f 1272/2097/525 1255/2098/525 1256/2099/525 1278/2100/525 -f 1278/2101/526 1256/2102/526 1250/2103/526 1276/2104/526 -f 1252/2105/527 1249/2106/527 1329/2107/527 1246/2108/527 -f 1269/2109/528 1276/2110/528 1250/2111/528 1251/2112/528 -f 1254/2113/529 1252/2114/529 1246/2115/529 1247/2116/529 -f 1254/2117/530 1247/2118/530 1330/2119/530 1253/2120/530 -f 1253/2121/531 1330/2122/531 1329/2123/531 1249/2124/531 -f 1301/2125/532 1298/2126/532 1259/2127/532 1331/2128/532 -f 1333/2129/533 1332/2130/533 1273/2131/533 1274/2132/533 -f 1301/2133/534 1331/2134/534 1262/2135/534 1307/2136/534 -f 1307/2137/535 1262/2138/535 1258/2139/535 1305/2140/535 -f 1331/2141/536 1334/2142/536 1261/2143/536 1262/2144/536 -f 1275/2145/537 1335/2146/537 1264/2147/537 1265/2148/537 -f 1281/2149/538 1265/2150/538 1266/2151/538 1280/2152/538 -f 1274/2153/539 1275/2154/539 1265/2155/539 1281/2156/539 -f 1268/2157/540 1263/2158/540 1277/2159/540 1270/2160/540 -f 1273/2161/541 1280/2162/541 1266/2163/541 1267/2164/541 -f 1275/2165/542 1267/2166/542 1268/2167/542 1335/2168/542 -f 1335/2169/543 1268/2170/543 1270/2171/543 1271/2172/543 -f 1335/2173/544 1271/2174/544 1279/2175/544 1264/2176/544 -f 1264/2177/545 1279/2178/545 1277/2179/545 1263/2180/545 -f 1260/2181/546 1257/2182/546 1283/2183/546 1332/2184/546 -f 1298/2185/547 1305/2186/547 1258/2187/547 1259/2188/547 -f 1331/2189/548 1259/2190/548 1260/2191/548 1334/2192/548 -f 1334/2193/549 1260/2194/549 1332/2195/549 1333/2196/549 -f 1334/2197/550 1333/2198/550 1282/2199/550 1261/2200/550 -f 1261/2201/551 1282/2202/551 1283/2203/551 1257/2204/551 -f 1332/2205/552 1283/2206/552 1280/2207/552 1273/2208/552 -f 1333/2209/553 1274/2210/553 1281/2211/553 1282/2212/553 -f 1337/2213/554 1336/2214/554 1302/2215/554 1303/2216/554 -f 1324/2217/555 1290/2218/555 1291/2219/555 1327/2220/555 -f 1327/2221/556 1291/2222/556 1285/2223/556 1325/2224/556 -f 1304/2225/557 1338/2226/557 1293/2227/557 1294/2228/557 -f 1310/2229/558 1294/2230/558 1295/2231/558 1309/2232/558 -f 1303/2233/559 1304/2234/559 1294/2235/559 1310/2236/559 -f 1297/2237/560 1292/2238/560 1306/2239/560 1299/2240/560 -f 1302/2241/561 1309/2242/561 1295/2243/561 1296/2244/561 -f 1304/2245/562 1296/2246/562 1297/2247/562 1338/2248/562 -f 1338/2249/563 1297/2250/563 1299/2251/563 1300/2252/563 -f 1338/2253/564 1300/2254/564 1308/2255/564 1293/2256/564 -f 1293/2257/565 1308/2258/565 1306/2259/565 1292/2260/565 -f 1287/2261/566 1284/2262/566 1312/2263/566 1336/2264/566 -f 1321/2265/567 1325/2266/567 1285/2267/567 1286/2268/567 -f 1289/2269/568 1287/2270/568 1336/2271/568 1337/2272/568 -f 1289/2273/569 1337/2274/569 1311/2275/569 1288/2276/569 -f 1288/2277/570 1311/2278/570 1312/2279/570 1284/2280/570 -f 1336/2281/571 1312/2282/571 1309/2283/571 1302/2284/571 -f 1337/2285/572 1303/2286/572 1310/2287/572 1311/2288/572 -f 1339/2289/573 1315/2290/573 1316/2291/573 1340/2292/573 -f 1341/2293/574 1318/2294/574 1315/2295/574 1339/2296/574 -f 1341/2297/575 1342/2298/575 1319/2299/575 1318/2300/575 -f 1320/2301/576 1313/2302/576 1326/2303/576 1322/2304/576 -f 1342/2305/577 1340/2306/577 1316/2307/577 1319/2308/577 -f 1317/2309/578 1320/2310/578 1322/2311/578 1323/2312/578 -f 1317/2313/579 1323/2314/579 1328/2315/579 1314/2316/579 -f 1314/2317/580 1328/2318/580 1326/2319/580 1313/2320/580 -f 1344/2321/581 1343/2322/581 1342/2323/581 1341/2324/581 -f 1343/2325/582 1345/2326/582 1340/2327/582 1342/2328/582 -f 1344/2329/583 1341/2330/583 1339/2331/583 1346/2332/583 -f 1346/2333/584 1339/2334/584 1340/2335/584 1345/2336/584 -f 1347/2337/585 1248/2338/585 1245/2339/585 1348/2340/585 -f 1348/2341/586 1245/2342/586 1246/2343/586 1329/2344/586 -f 1247/2345/587 1248/2346/587 1347/2347/587 1330/2348/587 -f 1330/2349/588 1347/2350/588 1348/2351/588 1329/2352/588 -f 1351/2353/589 1350/2354/589 1349/2355/589 1352/2356/589 -f 1353/2357/590 1352/2358/590 1349/2359/590 1354/2360/590 -f 1357/2361/591 1356/2362/591 1355/2363/591 1358/2364/591 -f 1356/2365/592 1360/2366/592 1359/2367/592 1355/2368/592 -f 1357/2369/593 1358/2370/593 1361/2371/593 1362/2372/593 -f 1362/2373/594 1361/2374/594 1359/2375/594 1360/2376/594 -f 1364/2377/595 1363/2378/595 1350/2379/595 1351/2380/595 -f 1365/2381/596 1351/2382/596 1352/2383/596 1366/2384/596 -f 1367/2385/597 1364/2386/597 1351/2387/597 1365/2388/597 -f 1367/2389/598 1368/2390/598 1353/2391/598 1364/2392/598 -f 1354/2393/599 1349/2394/599 1360/2395/599 1356/2396/599 -f 1368/2397/600 1366/2398/600 1352/2399/600 1353/2400/600 -f 1364/2401/601 1353/2402/601 1354/2403/601 1363/2404/601 -f 1363/2405/602 1354/2406/602 1356/2407/602 1357/2408/602 -f 1363/2409/603 1357/2410/603 1362/2411/603 1350/2412/603 -f 1360/2413/604 1349/2414/604 1350/2415/604 1362/2416/604 -f 1370/2417/605 1369/2418/605 1368/2419/605 1367/2420/605 -f 1369/2421/606 1371/2422/606 1366/2423/606 1368/2424/606 -f 1370/2425/607 1367/2426/607 1365/2427/607 1372/2428/607 -f 1372/2429/608 1365/2430/608 1366/2431/608 1371/2432/608 -f 1355/2433/609 1359/2434/609 1361/2435/609 1358/2436/609 -f 1376/2437/610 1375/2438/610 1374/2439/610 1377/2440/610 -f 1380/2441/611 1379/2442/611 1378/2443/611 1381/2444/611 -f 1384/2445/612 1383/2446/612 1382/2447/612 1385/2448/612 -f 1388/2449/613 1387/2450/613 1386/2451/613 1389/2452/613 -f 1392/2453/614 1391/2454/614 1390/2455/614 1393/2456/614 -f 1396/2457/615 1395/2458/615 1394/2459/615 1397/2460/615 -f 1400/2461/616 1399/2462/616 1398/2463/616 1401/2464/616 -f 1404/2465/617 1403/2466/617 1402/2467/617 1405/2468/617 -f 1408/2469/618 1407/2470/618 1406/2471/618 1409/2472/618 -f 1412/2473/619 1411/2474/619 1410/2475/619 1413/2476/619 -f 1416/2477/620 1415/2478/620 1414/2479/620 1417/2480/620 -f 1420/2481/621 1419/2482/621 1418/2483/621 1421/2484/621 -f 1424/2485/622 1423/2486/622 1422/2487/622 1425/2488/622 -f 1428/2489/623 1427/2490/623 1426/2491/623 1429/2492/623 -f 1432/2493/624 1431/2494/624 1430/2495/624 1433/2496/624 -f 1436/2497/625 1435/2498/625 1434/2499/625 1437/2500/625 -f 1440/2501/626 1439/2502/626 1438/2503/626 1441/2504/626 -f 1444/2505/627 1443/2506/627 1442/2507/627 1445/2508/627 -f 1448/2509/628 1447/2510/628 1446/2511/628 1449/2512/628 -f 1452/2513/629 1451/2514/629 1450/2515/629 1453/2516/629 -f 1456/2517/630 1455/2518/630 1454/2519/630 1457/2520/630 -f 1460/2521/631 1459/2522/631 1458/2523/631 1461/2524/631 -f 1464/2525/632 1463/2526/632 1462/2527/632 1465/2528/632 -f 1468/2529/633 1467/2530/633 1466/2531/633 1469/2532/633 -f 1472/2533/634 1471/2534/634 1470/2535/634 1473/2536/634 -f 1476/2537/635 1475/2538/635 1474/2539/635 1477/2540/635 -f 1480/2541/636 1479/2542/636 1478/2543/636 1481/2544/636 -f 1484/2545/637 1483/2546/637 1482/2547/637 1485/2548/637 -f 1488/2549/638 1487/2550/638 1486/2551/638 1489/2552/638 -f 1492/2553/639 1491/2554/639 1490/2555/639 1493/2556/639 -f 1496/2557/640 1495/2558/640 1494/2559/640 1497/2560/640 -f 1500/2561/641 1499/2562/641 1498/2563/641 1501/2564/641 -f 1504/2565/642 1503/2566/642 1502/2567/642 1505/2568/642 -f 1508/2569/643 1507/2570/643 1506/2571/643 1509/2572/643 -f 1512/2573/644 1511/2574/644 1510/2575/644 1513/2576/644 -f 1516/2577/645 1515/2578/645 1514/2579/645 1517/2580/645 -f 1520/2581/646 1519/2582/646 1518/2583/646 1521/2584/646 -f 1524/2585/647 1523/2586/647 1522/2587/647 1525/2588/647 -f 1528/2589/648 1527/2590/648 1526/2591/648 1529/2592/648 -f 1532/2593/649 1531/2594/649 1530/2595/649 1533/2596/649 -f 1536/2597/650 1535/2598/650 1534/2599/650 1537/2600/650 -f 1540/2601/651 1539/2602/651 1538/2603/651 1541/2604/651 -f 1544/2605/652 1543/2606/652 1542/2607/652 1545/2608/652 -f 1548/2609/653 1547/2610/653 1546/2611/653 1549/2612/653 -f 1552/2613/654 1551/2614/654 1550/2615/654 1553/2616/654 -f 1556/2617/655 1555/2618/655 1554/2619/655 1557/2620/655 -f 1560/2621/656 1559/2622/656 1558/2623/656 1561/2624/656 -f 1564/2625/657 1563/2626/657 1562/2627/657 1565/2628/657 -f 1568/2629/658 1567/2630/658 1566/2631/658 1569/2632/658 -f 1572/2633/659 1571/2634/659 1570/2635/659 1573/2636/659 -f 1576/2637/660 1575/2638/660 1574/2639/660 1577/2640/660 -f 1580/2641/661 1579/2642/661 1578/2643/661 1581/2644/661 -f 1584/2645/662 1583/2646/662 1582/2647/662 1585/2648/662 -f 1588/2649/663 1587/2650/663 1586/2651/663 1589/2652/663 -f 1592/2653/664 1591/2654/664 1590/2655/664 1593/2656/664 -f 1596/2657/665 1595/2658/665 1594/2659/665 1597/2660/665 -f 1600/2661/666 1599/2662/666 1598/2663/666 1601/2664/666 -f 1604/2665/667 1603/2666/667 1602/2667/667 1605/2668/667 -f 1608/2669/668 1607/2670/668 1606/2671/668 1609/2672/668 -f 1612/2673/669 1611/2674/669 1610/2675/669 1613/2676/669 -f 1616/2677/670 1615/2678/670 1614/2679/670 1617/2680/670 -f 1620/2681/671 1619/2682/671 1618/2683/671 1621/2684/671 -f 1624/2685/672 1623/2686/672 1622/2687/672 1625/2688/672 -f 1628/2689/673 1627/2690/673 1626/2691/673 1629/2692/673 -f 1632/2693/674 1631/2694/674 1630/2695/674 1633/2696/674 -f 1636/2697/675 1635/2698/675 1634/2699/675 1637/2700/675 -f 1640/2701/676 1639/2702/676 1638/2703/676 1641/2704/676 -f 1644/2705/677 1643/2706/677 1642/2707/677 1645/2708/677 -f 1648/2709/678 1647/2710/678 1646/2711/678 1649/2712/678 -f 1652/2713/679 1651/2714/679 1650/2715/679 1653/2716/679 -f 1656/2717/680 1655/2718/680 1654/2719/680 1657/2720/680 -f 1660/2721/681 1659/2722/681 1658/2723/681 1661/2724/681 -f 1664/2725/682 1663/2726/682 1662/2727/682 1665/2728/682 -f 1668/2729/683 1667/2730/683 1666/2731/683 1669/2732/683 -f 1672/2733/684 1671/2734/684 1670/2735/684 1673/2736/684 -f 1676/2737/685 1675/2738/685 1674/2739/685 1677/2740/685 -f 1680/2741/686 1679/2742/686 1678/2743/686 1681/2744/686 -f 1684/2745/687 1683/2746/687 1682/2747/687 1685/2748/687 -f 1688/2749/688 1687/2750/688 1686/2751/688 1689/2752/688 -f 1692/2753/689 1691/2754/689 1690/2755/689 1693/2756/689 -f 1695/2757/690 1694/2758/690 1373/2759/690 1696/2760/690 -f 1699/2761/691 1698/2762/691 1697/2763/691 1700/2764/691 -f 1703/2765/692 1702/2766/692 1701/2767/692 1704/2768/692 -f 1707/2769/693 1706/2770/693 1705/2771/693 1708/2772/693 -f 1711/2773/694 1710/2774/694 1709/2775/694 1712/2776/694 -f 1715/2777/695 1714/2778/695 1713/2779/695 1716/2780/695 -f 1719/2781/696 1718/2782/696 1717/2783/696 1720/2784/696 -f 1723/2785/697 1722/2786/697 1721/2787/697 1724/2788/697 -f 1727/2789/698 1726/2790/698 1725/2791/698 1728/2792/698 -f 1731/2793/699 1730/2794/699 1729/2795/699 1732/2796/699 -f 1735/2797/700 1734/2798/700 1733/2799/700 1736/2800/700 -f 1739/2801/701 1738/2802/701 1737/2803/701 1740/2804/701 -f 1743/2805/702 1742/2806/702 1741/2807/702 1744/2808/702 -f 1747/2809/703 1746/2810/703 1745/2811/703 1748/2812/703 -f 1751/2813/704 1750/2814/704 1749/2815/704 1752/2816/704 -f 1755/2817/705 1754/2818/705 1753/2819/705 1756/2820/705 -f 1759/2821/706 1758/2822/706 1757/2823/706 1760/2824/706 -f 1763/2825/707 1762/2826/707 1761/2827/707 1764/2828/707 -f 1767/2829/708 1766/2830/708 1765/2831/708 1768/2832/708 -f 1771/2833/709 1770/2834/709 1769/2835/709 1772/2836/709 -f 1775/2837/710 1774/2838/710 1773/2839/710 1776/2840/710 -f 1779/2841/711 1778/2842/711 1777/2843/711 1780/2844/711 -f 1783/2845/712 1782/2846/712 1781/2847/712 1784/2848/712 -f 1787/2849/713 1786/2850/713 1785/2851/713 1788/2852/713 -f 1791/2853/714 1790/2854/714 1789/2855/714 1792/2856/714 -f 1795/2857/715 1794/2858/715 1793/2859/715 1796/2860/715 -f 1799/2861/716 1798/2862/716 1797/2863/716 1800/2864/716 -f 1803/2865/717 1802/2866/717 1801/2867/717 1804/2868/717 -f 1807/2869/718 1806/2870/718 1805/2871/718 1808/2872/718 -f 1811/2873/719 1810/2874/719 1809/2875/719 1812/2876/719 -f 1815/2877/720 1814/2878/720 1813/2879/720 1816/2880/720 -f 1819/2881/721 1818/2882/721 1817/2883/721 1820/2884/721 -f 1823/2885/722 1822/2886/722 1821/2887/722 1824/2888/722 -f 1827/2889/723 1826/2890/723 1825/2891/723 1828/2892/723 -f 1831/2893/724 1830/2894/724 1829/2895/724 1832/2896/724 -f 1835/2897/725 1834/2898/725 1833/2899/725 1836/2900/725 -f 1839/2901/726 1838/2902/726 1837/2903/726 1840/2904/726 -f 1843/2905/727 1842/2906/727 1841/2907/727 1844/2908/727 -f 1847/2909/728 1846/2910/728 1845/2911/728 1848/2912/728 -f 1851/2913/729 1850/2914/729 1849/2915/729 1852/2916/729 -f 1855/2917/730 1854/2918/730 1853/2919/730 1856/2920/730 -f 1859/2921/731 1858/2922/731 1857/2923/731 1860/2924/731 -f 1863/2925/732 1862/2926/732 1861/2927/732 1864/2928/732 -f 1867/2929/733 1866/2930/733 1865/2931/733 1868/2932/733 -f 1871/2933/734 1870/2934/734 1869/2935/734 1872/2936/734 -f 1875/2937/735 1874/2938/735 1873/2939/735 1876/2940/735 -f 1879/2941/736 1878/2942/736 1877/2943/736 1880/2944/736 -f 1883/2945/737 1882/2946/737 1881/2947/737 1884/2948/737 -f 1887/2949/738 1886/2950/738 1885/2951/738 1888/2952/738 -f 1891/2953/739 1890/2954/739 1889/2955/739 1892/2956/739 -f 1895/2957/740 1894/2958/740 1893/2959/740 1896/2960/740 -f 1899/2961/741 1898/2962/741 1897/2963/741 1900/2964/741 -f 1903/2965/742 1902/2966/742 1901/2967/742 1904/2968/742 -f 1907/2969/743 1906/2970/743 1905/2971/743 1908/2972/743 -f 1911/2973/744 1910/2974/744 1909/2975/744 1912/2976/744 -f 1915/2977/745 1914/2978/745 1913/2979/745 1916/2980/745 -f 1919/2981/746 1918/2982/746 1917/2983/746 1920/2984/746 -f 1923/2985/747 1922/2986/747 1921/2987/747 1924/2988/747 -f 1927/2989/748 1926/2990/748 1925/2991/748 1928/2992/748 -f 1931/2993/749 1930/2994/749 1929/2995/749 1932/2996/749 -f 1935/2997/750 1934/2998/750 1933/2999/750 1936/3000/750 -f 1939/3001/751 1938/3002/751 1937/3003/751 1940/3004/751 -f 1943/3005/752 1942/3006/752 1941/3007/752 1944/3008/752 -f 1944/3009/753 1941/3010/753 1937/3011/753 1938/3012/753 -f 1943/3013/754 1939/3014/754 1940/3015/754 1942/3016/754 -f 1947/3017/755 1946/3018/755 1945/3019/755 1948/3020/755 -f 1949/3021/756 1948/3022/756 1945/3023/756 1950/3024/756 -f 1953/3025/757 1952/3026/757 1951/3027/757 1954/3028/757 -f 1956/3029/758 1955/3030/758 1949/3031/758 1957/3032/758 -f 1952/3033/759 1959/3034/759 1958/3035/759 1951/3036/759 -f 1953/3037/760 1954/3038/760 1960/3039/760 1961/3040/760 -f 1961/3041/761 1960/3042/761 1958/3043/761 1959/3044/761 -f 1964/3045/762 1963/3046/762 1962/3047/762 1965/3048/762 -f 1954/3049/763 1951/3050/763 1939/3051/763 1943/3052/763 -f 1954/3053/764 1943/3054/764 1944/3055/764 1960/3056/764 -f 1960/3057/765 1944/3058/765 1938/3059/765 1958/3060/765 -f 1940/3061/766 1937/3062/766 1966/3063/766 1934/3064/766 -f 1951/3065/767 1958/3066/767 1938/3067/767 1939/3068/767 -f 1942/3069/768 1940/3070/768 1934/3071/768 1935/3072/768 -f 1942/3073/769 1935/3074/769 1967/3075/769 1941/3076/769 -f 1941/3077/770 1967/3078/770 1966/3079/770 1937/3080/770 -f 1969/3081/771 1968/3082/771 1955/3083/771 1956/3084/771 -f 1957/3085/772 1970/3086/772 1946/3087/772 1947/3088/772 -f 1963/3089/773 1947/3090/773 1948/3091/773 1962/3092/773 -f 1956/3093/774 1957/3094/774 1947/3095/774 1963/3096/774 -f 1950/3097/775 1945/3098/775 1959/3099/775 1952/3100/775 -f 1955/3101/776 1962/3102/776 1948/3103/776 1949/3104/776 -f 1957/3105/777 1949/3106/777 1950/3107/777 1970/3108/777 -f 1970/3109/778 1950/3110/778 1952/3111/778 1953/3112/778 -f 1970/3113/779 1953/3114/779 1961/3115/779 1946/3116/779 -f 1946/3117/780 1961/3118/780 1959/3119/780 1945/3120/780 -f 1968/3121/781 1965/3122/781 1962/3123/781 1955/3124/781 -f 1969/3125/782 1956/3126/782 1963/3127/782 1964/3128/782 -f 1971/3129/783 1936/3130/783 1933/3131/783 1972/3132/783 -f 1972/3133/784 1933/3134/784 1934/3135/784 1966/3136/784 -f 1935/3137/785 1936/3138/785 1971/3139/785 1967/3140/785 -f 1967/3141/786 1971/3142/786 1972/3143/786 1966/3144/786 -f 1975/3145/787 1974/3146/787 1973/3147/787 1976/3148/787 -f 1977/3149/788 1976/3150/788 1973/3151/788 1978/3152/788 -f 1981/3153/789 1980/3154/789 1979/3155/789 1982/3156/789 -f 1980/3157/790 1984/3158/790 1983/3159/790 1979/3160/790 -f 1981/3161/791 1982/3162/791 1985/3163/791 1986/3164/791 -f 1986/3165/792 1985/3166/792 1983/3167/792 1984/3168/792 -f 1988/3169/793 1987/3170/793 1974/3171/793 1975/3172/793 -f 1989/3173/794 1975/3174/794 1976/3175/794 1990/3176/794 -f 1991/3177/795 1988/3178/795 1975/3179/795 1989/3180/795 -f 1991/3181/796 1992/3182/796 1977/3183/796 1988/3184/796 -f 1978/3185/797 1973/3186/797 1984/3187/797 1980/3188/797 -f 1992/3189/798 1990/3190/798 1976/3191/798 1977/3192/798 -f 1988/3193/799 1977/3194/799 1978/3195/799 1987/3196/799 -f 1987/3197/800 1978/3198/800 1980/3199/800 1981/3200/800 -f 1987/3201/801 1981/3202/801 1986/3203/801 1974/3204/801 -f 1984/3205/802 1973/3206/802 1974/3207/802 1986/3208/802 -f 1994/3209/803 1993/3210/803 1992/3211/803 1991/3212/803 -f 1993/3213/804 1995/3214/804 1990/3215/804 1992/3216/804 -f 1994/3217/805 1991/3218/805 1989/3219/805 1996/3220/805 -f 1996/3221/806 1989/3222/806 1990/3223/806 1995/3224/806 -f 1979/3225/807 1983/3226/807 1985/3227/807 1982/3228/807 -f 1999/3229/808 1998/3230/808 1997/3231/808 2000/3232/808 -f 2003/3233/809 2002/3234/809 2001/3235/809 2004/3236/809 -f 2007/3237/810 2006/3238/810 2005/3239/810 2008/3240/810 -f 2011/3241/811 2010/3242/811 2009/3243/811 2012/3244/811 -f 2015/3245/812 2014/3246/812 2013/3247/812 2016/3248/812 -f 2019/3249/813 2018/3250/813 2017/3251/813 2020/3252/813 -f 2023/3253/814 2022/3254/814 2021/3255/814 2024/3256/814 -f 2027/3257/815 2026/3258/815 2025/3259/815 2028/3260/815 -f 2031/3261/816 2030/3262/816 2029/3263/816 2032/3264/816 -f 2035/3265/817 2034/3266/817 2033/3267/817 2036/3268/817 -f 2039/3269/818 2038/3270/818 2037/3271/818 2040/3272/818 -f 2043/3273/819 2042/3274/819 2041/3275/819 2044/3276/819 -f 2047/3277/820 2046/3278/820 2045/3279/820 2048/3280/820 -f 2051/3281/821 2050/3282/821 2049/3283/821 2052/3284/821 -f 2055/3285/822 2054/3286/822 2053/3287/822 2056/3288/822 -f 2059/3289/823 2058/3290/823 2057/3291/823 2060/3292/823 -f 2063/3293/824 2062/3294/824 2061/3295/824 2064/3296/824 -f 2067/3297/825 2066/3298/825 2065/3299/825 2068/3300/825 -f 2071/3301/826 2070/3302/826 2069/3303/826 2072/3304/826 -f 2075/3305/827 2074/3306/827 2073/3307/827 2076/3308/827 -f 2079/3309/828 2078/3310/828 2077/3311/828 2080/3312/828 -f 2083/3313/829 2082/3314/829 2081/3315/829 2084/3316/829 -f 2087/3317/830 2086/3318/830 2085/3319/830 2088/3320/830 -f 2091/3321/831 2090/3322/831 2089/3323/831 2092/3324/831 -f 2095/3325/832 2094/3326/832 2093/3327/832 2096/3328/832 -f 2099/3329/833 2098/3330/833 2097/3331/833 2100/3332/833 -f 2103/3333/834 2102/3334/834 2101/3335/834 2104/3336/834 -f 2107/3337/835 2106/3338/835 2105/3339/835 2108/3340/835 -f 2111/3341/836 2110/3342/836 2109/3343/836 2112/3344/836 -f 2115/3345/837 2114/3346/837 2113/3347/837 2116/3348/837 -f 2119/3349/838 2118/3350/838 2117/3351/838 2120/3352/838 -f 2123/3353/839 2122/3354/839 2121/3355/839 2124/3356/839 -f 2127/3357/840 2126/3358/840 2125/3359/840 2128/3360/840 -f 2131/3361/841 2130/3362/841 2129/3363/841 2132/3364/841 -f 2135/3365/842 2134/3366/842 2133/3367/842 2136/3368/842 -f 2139/3369/843 2138/3370/843 2137/3371/843 2140/3372/843 -f 2143/3373/844 2142/3374/844 2141/3375/844 2144/3376/844 -f 2147/3377/845 2146/3378/845 2145/3379/845 2148/3380/845 -f 2143/3381/846 2144/3382/846 2149/3383/846 2150/3384/846 -f 2150/3385/847 2149/3386/847 2151/3387/847 2152/3388/847 -f 2154/3389/848 2153/3390/848 2141/3391/848 2151/3392/848 -f 2144/3393/849 2156/3394/849 2155/3395/849 2149/3396/849 -f 2149/3397/850 2155/3398/850 2154/3399/850 2151/3400/850 -f 2151/3401/851 2141/3402/851 2142/3403/851 2152/3404/851 -f 2144/3405/852 2141/3406/852 2153/3407/852 2156/3408/852 -f 2146/3409/853 2158/3410/853 2157/3411/853 2145/3412/853 -f 2147/3413/854 2148/3414/854 2159/3415/854 2160/3416/854 -f 2160/3417/855 2159/3418/855 2157/3419/855 2158/3420/855 -f 2153/3421/856 2154/3422/856 2158/3423/856 2146/3424/856 -f 2156/3425/857 2153/3426/857 2146/3427/857 2147/3428/857 -f 2156/3429/858 2147/3430/858 2160/3431/858 2155/3432/858 -f 2155/3433/859 2160/3434/859 2158/3435/859 2154/3436/859 -f 2143/3437/860 2150/3438/860 2152/3439/860 2142/3440/860 -f 2163/3441/861 2162/3442/861 2161/3443/861 2164/3444/861 -f 2167/3445/862 2166/3446/862 2165/3447/862 2168/3448/862 -f 2171/3449/863 2170/3450/863 2169/3451/863 2172/3452/863 -f 2175/3453/864 2174/3454/864 2173/3455/864 2176/3456/864 -f 2179/3457/865 2178/3458/865 2177/3459/865 2180/3460/865 -f 2183/3461/866 2182/3462/866 2181/3463/866 2184/3464/866 -f 2187/3465/867 2186/3466/867 2185/3467/867 2188/3468/867 -f 2191/3469/868 2190/3470/868 2189/3471/868 2192/3472/868 -f 2195/3473/869 2194/3474/869 2193/3475/869 2196/3476/869 -f 2199/3477/870 2198/3478/870 2197/3479/870 2200/3480/870 -f 2203/3481/871 2202/3482/871 2201/3483/871 2204/3484/871 -f 2207/3485/872 2206/3486/872 2205/3487/872 2208/3488/872 -f 2211/3489/873 2210/3490/873 2209/3491/873 2212/3492/873 -f 2215/3493/874 2214/3494/874 2213/3495/874 2216/3496/874 -f 2219/3497/875 2218/3498/875 2217/3499/875 2220/3500/875 -f 2223/3501/876 2222/3502/876 2221/3503/876 2224/3504/876 -f 2227/3505/877 2226/3506/877 2225/3507/877 2228/3508/877 -f 2231/3509/878 2230/3510/878 2229/3511/878 2232/3512/878 -f 2232/3513/879 2229/3514/879 2225/3515/879 2226/3516/879 -f 2231/3517/880 2227/3518/880 2228/3519/880 2230/3520/880 -f 2237/3521/881 2236/3522/881 2235/3523/881 2238/3524/881 -f 2241/3525/882 2240/3526/882 2239/3527/882 2242/3528/882 -f 2244/3529/883 2243/3530/883 2240/3531/883 2241/3532/883 -f 2245/3533/884 2242/3534/884 2239/3535/884 2246/3536/884 -f 2249/3537/885 2248/3538/885 2247/3539/885 2250/3540/885 -f 2244/3541/886 2245/3542/886 2246/3543/886 2243/3544/886 -f 2248/3545/887 2252/3546/887 2251/3547/887 2247/3548/887 -f 2249/3549/888 2250/3550/888 2253/3551/888 2254/3552/888 -f 2254/3553/889 2253/3554/889 2251/3555/889 2252/3556/889 -f 2250/3557/890 2247/3558/890 2227/3559/890 2231/3560/890 -f 2255/3561/891 1/3562/891 2233/3563/891 2234/3564/891 -f 2250/3565/892 2231/3566/892 2232/3567/892 2253/3568/892 -f 2253/3569/893 2232/3570/893 2226/3571/893 2251/3572/893 -f 2228/3573/894 2225/3574/894 2238/3575/894 1/3576/894 -f 2247/3577/895 2251/3578/895 2226/3579/895 2227/3580/895 -f 2230/3581/896 2228/3582/896 1/3583/896 2255/3584/896 -f 2230/3585/897 2255/3586/897 2237/3587/897 2229/3588/897 -f 2229/3589/898 2237/3590/898 2238/3591/898 2225/3592/898 -f 1/3593/899 2238/3594/899 2235/3595/899 2233/3596/899 -f 2255/3597/900 2234/3598/900 2236/3599/900 2237/3600/900 -f 2256/3601/901 2241/3602/901 2242/3603/901 2257/3604/901 -f 2258/3605/902 2244/3606/902 2241/3607/902 2256/3608/902 -f 2258/3609/903 2259/3610/903 2245/3611/903 2244/3612/903 -f 2246/3613/904 2239/3614/904 2252/3615/904 2248/3616/904 -f 2259/3617/905 2257/3618/905 2242/3619/905 2245/3620/905 -f 2243/3621/906 2246/3622/906 2248/3623/906 2249/3624/906 -f 2243/3625/907 2249/3626/907 2254/3627/907 2240/3628/907 -f 2240/3629/908 2254/3630/908 2252/3631/908 2239/3632/908 -f 2261/3633/909 2260/3634/909 2259/3635/909 2258/3636/909 -f 2260/3637/910 2262/3638/910 2257/3639/910 2259/3640/910 -f 2261/3641/911 2258/3642/911 2256/3643/911 2263/3644/911 -f 2263/3645/912 2256/3646/912 2257/3647/912 2262/3648/912 -f 2267/3649/913 2266/3650/913 2265/3651/913 2268/3652/913 -f 2271/3653/914 2270/3654/914 2269/3655/914 2272/3656/914 -f 2275/3657/915 2274/3658/915 2273/3659/915 2276/3660/915 -f 2279/3661/916 2278/3662/916 2277/3663/916 2280/3664/916 -f 2283/3665/917 2282/3666/917 2281/3667/917 2284/3668/917 -f 2287/3669/918 2286/3670/918 2285/3671/918 2288/3672/918 -f 2291/3673/919 2290/3674/919 2289/3675/919 2292/3676/919 -f 2295/3677/920 2294/3678/920 2293/3679/920 2296/3680/920 -f 2299/3681/921 2298/3682/921 2297/3683/921 2300/3684/921 -f 2303/3685/922 2302/3686/922 2301/3687/922 2304/3688/922 -f 2307/3689/923 2306/3690/923 2305/3691/923 2308/3692/923 -f 2311/3693/924 2310/3694/924 2309/3695/924 2312/3696/924 -f 2315/3697/925 2314/3698/925 2313/3699/925 2316/3700/925 -f 2319/3701/926 2318/3702/926 2317/3703/926 2320/3704/926 -f 2323/3705/927 2322/3706/927 2321/3707/927 2324/3708/927 -f 2327/3709/928 2326/3710/928 2325/3711/928 2328/3712/928 -f 2331/3713/929 2330/3714/929 2329/3715/929 2332/3716/929 -f 2335/3717/930 2334/3718/930 2333/3719/930 2336/3720/930 -f 2339/3721/931 2338/3722/931 2337/3723/931 2340/3724/931 -f 2343/3725/932 2342/3726/932 2341/3727/932 2344/3728/932 -f 2346/3729/933 2345/3730/933 2264/3731/933 2347/3732/933 -f 2350/3733/934 2349/3734/934 2348/3735/934 2351/3736/934 -f 2354/3737/935 2353/3738/935 2352/3739/935 2355/3740/935 -f 2358/3741/936 2357/3742/936 2356/3743/936 2359/3744/936 -f 2362/3745/937 2361/3746/937 2360/3747/937 2363/3748/937 -f 2366/3749/938 2365/3750/938 2364/3751/938 2367/3752/938 -f 2370/3753/939 2369/3754/939 2368/3755/939 2371/3756/939 -f 2374/3757/940 2373/3758/940 2372/3759/940 2375/3760/940 -f 2378/3761/941 2377/3762/941 2376/3763/941 2379/3764/941 -f 2382/3765/942 2381/3766/942 2380/3767/942 2383/3768/942 -f 2386/3769/943 2385/3770/943 2384/3771/943 2387/3772/943 -f 2390/3773/944 2389/3774/944 2388/3775/944 2391/3776/944 -f 2394/3777/945 2393/3778/945 2392/3779/945 2395/3780/945 -f 2398/3781/946 2397/3782/946 2396/3783/946 2399/3784/946 -f 2402/3785/947 2401/3786/947 2400/3787/947 2403/3788/947 -f 2406/3789/948 2405/3790/948 2404/3791/948 2407/3792/948 -f 2410/3793/949 2409/3794/949 2408/3795/949 2411/3796/949 -f 2414/3797/950 2413/3798/950 2412/3799/950 2415/3800/950 -f 2410/3801/951 2411/3802/951 2416/3803/951 2417/3804/951 -f 2417/3805/952 2416/3806/952 2418/3807/952 2419/3808/952 -f 2421/3809/953 2420/3810/953 2408/3811/953 2418/3812/953 -f 2411/3813/954 2423/3814/954 2422/3815/954 2416/3816/954 -f 2416/3817/955 2422/3818/955 2421/3819/955 2418/3820/955 -f 2418/3821/956 2408/3822/956 2409/3823/956 2419/3824/956 -f 2411/3825/957 2408/3826/957 2420/3827/957 2423/3828/957 -f 2413/3829/958 2425/3830/958 2424/3831/958 2412/3832/958 -f 2414/3833/959 2415/3834/959 2426/3835/959 2427/3836/959 -f 2427/3837/960 2426/3838/960 2424/3839/960 2425/3840/960 -f 2420/3841/961 2421/3842/961 2425/3843/961 2413/3844/961 -f 2423/3845/962 2420/3846/962 2413/3847/962 2414/3848/962 -f 2423/3849/963 2414/3850/963 2427/3851/963 2422/3852/963 -f 2422/3853/964 2427/3854/964 2425/3855/964 2421/3856/964 -f 2410/3857/965 2417/3858/965 2419/3859/965 2409/3860/965 -f 2430/3861/966 2429/3862/966 2428/3863/966 2431/3864/966 -f 2434/3865/967 2433/3866/967 2432/3867/967 2435/3868/967 -f 2438/3869/968 2437/3870/968 2436/3871/968 2439/3872/968 -f 2442/3873/969 2441/3874/969 2440/3875/969 2443/3876/969 -f 2446/3877/970 2445/3878/970 2444/3879/970 2447/3880/970 -f 2450/3881/971 2449/3882/971 2448/3883/971 2451/3884/971 -f 2454/3885/972 2453/3886/972 2452/3887/972 2455/3888/972 -f 2458/3889/973 2457/3890/973 2456/3891/973 2459/3892/973 -f 2462/3893/974 2461/3894/974 2460/3895/974 2463/3896/974 -f 2466/3897/975 2465/3898/975 2464/3899/975 2467/3900/975 -f 2470/3901/976 2469/3902/976 2468/3903/976 2471/3904/976 -f 2474/3905/977 2473/3906/977 2472/3907/977 2475/3908/977 -f 2478/3909/978 2477/3910/978 2476/3911/978 2479/3912/978 -f 2482/3913/979 2481/3914/979 2480/3915/979 2483/3916/979 -f 2486/3917/980 2485/3918/980 2484/3919/980 2487/3920/980 -f 2490/3921/981 2489/3922/981 2488/3923/981 2491/3924/981 -f 2494/3925/982 2493/3926/982 2492/3927/982 2495/3928/982 -f 2498/3929/983 2497/3930/983 2496/3931/983 2499/3932/983 -f 2502/3933/984 2501/3934/984 2500/3935/984 2503/3936/984 -f 2503/3937/985 2500/3938/985 2496/3939/985 2497/3940/985 -f 2502/3941/986 2498/3942/986 2499/3943/986 2501/3944/986 -f 2506/3945/987 2505/3946/987 2504/3947/987 2507/3948/987 -f 2509/3949/988 2508/3950/988 2504/3951/988 2505/3952/988 -f 2512/3953/989 2511/3954/989 2510/3955/989 2513/3956/989 -f 2514/3957/990 2513/3958/990 2510/3959/990 2515/3960/990 -f 2518/3961/991 2517/3962/991 2516/3963/991 2519/3964/991 -f 2521/3965/992 2520/3966/992 2514/3967/992 2522/3968/992 -f 2517/3969/993 2524/3970/993 2523/3971/993 2516/3972/993 -f 2518/3973/994 2519/3974/994 2525/3975/994 2526/3976/994 -f 2526/3977/995 2525/3978/995 2523/3979/995 2524/3980/995 -f 2529/3981/996 2528/3982/996 2527/3983/996 2530/3984/996 -f 2533/3985/997 2532/3986/997 2531/3987/997 2534/3988/997 -f 2537/3989/998 2536/3990/998 2535/3991/998 2538/3992/998 -f 2538/3993/999 2535/3994/999 2531/3995/999 2532/3996/999 -f 2541/3997/1000 2540/3998/1000 2539/3999/1000 2542/4000/1000 -f 2543/4001/1001 2542/4002/1001 2539/4003/1001 2544/4004/1001 -f 2547/4005/1002 2546/4006/1002 2545/4007/1002 2548/4008/1002 -f 2550/4009/1003 2549/4010/1003 2543/4011/1003 2551/4012/1003 -f 2546/4013/1004 2553/4014/1004 2552/4015/1004 2545/4016/1004 -f 2547/4017/1005 2548/4018/1005 2554/4019/1005 2555/4020/1005 -f 2555/4021/1006 2554/4022/1006 2552/4023/1006 2553/4024/1006 -f 2537/4025/1007 2533/4026/1007 2534/4027/1007 2536/4028/1007 -f 2558/4029/1008 2557/4030/1008 2556/4031/1008 2559/4032/1008 -f 2562/4033/1009 2561/4034/1009 2560/4035/1009 2563/4036/1009 -f 2565/4037/1010 2564/4038/1010 2561/4039/1010 2562/4040/1010 -f 2566/4041/1011 2563/4042/1011 2560/4043/1011 2567/4044/1011 -f 2570/4045/1012 2569/4046/1012 2568/4047/1012 2571/4048/1012 -f 2565/4049/1013 2566/4050/1013 2567/4051/1013 2564/4052/1013 -f 2569/4053/1014 2573/4054/1014 2572/4055/1014 2568/4056/1014 -f 2570/4057/1015 2571/4058/1015 2574/4059/1015 2575/4060/1015 -f 2575/4061/1016 2574/4062/1016 2572/4063/1016 2573/4064/1016 -f 2519/4065/1017 2516/4066/1017 2498/4067/1017 2502/4068/1017 -f 2571/4069/1018 2568/4070/1018 2533/4071/1018 2537/4072/1018 -f 2519/4073/1019 2502/4074/1019 2503/4075/1019 2525/4076/1019 -f 2525/4077/1020 2503/4078/1020 2497/4079/1020 2523/4080/1020 -f 2499/4081/1021 2496/4082/1021 2576/4083/1021 2493/4084/1021 -f 2516/4085/1022 2523/4086/1022 2497/4087/1022 2498/4088/1022 -f 2501/4089/1023 2499/4090/1023 2493/4091/1023 2494/4092/1023 -f 2501/4093/1024 2494/4094/1024 2577/4095/1024 2500/4096/1024 -f 2500/4097/1025 2577/4098/1025 2576/4099/1025 2496/4100/1025 -f 2548/4101/1026 2545/4102/1026 2506/4103/1026 2578/4104/1026 -f 2580/4105/1027 2579/4106/1027 2520/4107/1027 2521/4108/1027 -f 2548/4109/1028 2578/4110/1028 2509/4111/1028 2554/4112/1028 -f 2554/4113/1029 2509/4114/1029 2505/4115/1029 2552/4116/1029 -f 2578/4117/1030 2581/4118/1030 2508/4119/1030 2509/4120/1030 -f 2522/4121/1031 2582/4122/1031 2511/4123/1031 2512/4124/1031 -f 2528/4125/1032 2512/4126/1032 2513/4127/1032 2527/4128/1032 -f 2521/4129/1033 2522/4130/1033 2512/4131/1033 2528/4132/1033 -f 2515/4133/1034 2510/4134/1034 2524/4135/1034 2517/4136/1034 -f 2520/4137/1035 2527/4138/1035 2513/4139/1035 2514/4140/1035 -f 2522/4141/1036 2514/4142/1036 2515/4143/1036 2582/4144/1036 -f 2582/4145/1037 2515/4146/1037 2517/4147/1037 2518/4148/1037 -f 2582/4149/1038 2518/4150/1038 2526/4151/1038 2511/4152/1038 -f 2511/4153/1039 2526/4154/1039 2524/4155/1039 2510/4156/1039 -f 2507/4157/1040 2504/4158/1040 2530/4159/1040 2579/4160/1040 -f 2545/4161/1041 2552/4162/1041 2505/4163/1041 2506/4164/1041 -f 2578/4165/1042 2506/4166/1042 2507/4167/1042 2581/4168/1042 -f 2581/4169/1043 2507/4170/1043 2579/4171/1043 2580/4172/1043 -f 2581/4173/1044 2580/4174/1044 2529/4175/1044 2508/4176/1044 -f 2508/4177/1045 2529/4178/1045 2530/4179/1045 2504/4180/1045 -f 2579/4181/1046 2530/4182/1046 2527/4183/1046 2520/4184/1046 -f 2580/4185/1047 2521/4186/1047 2528/4187/1047 2529/4188/1047 -f 2584/4189/1048 2583/4190/1048 2549/4191/1048 2550/4192/1048 -f 2571/4193/1049 2537/4194/1049 2538/4195/1049 2574/4196/1049 -f 2574/4197/1050 2538/4198/1050 2532/4199/1050 2572/4200/1050 -f 2551/4201/1051 2585/4202/1051 2540/4203/1051 2541/4204/1051 -f 2557/4205/1052 2541/4206/1052 2542/4207/1052 2556/4208/1052 -f 2550/4209/1053 2551/4210/1053 2541/4211/1053 2557/4212/1053 -f 2544/4213/1054 2539/4214/1054 2553/4215/1054 2546/4216/1054 -f 2549/4217/1055 2556/4218/1055 2542/4219/1055 2543/4220/1055 -f 2551/4221/1056 2543/4222/1056 2544/4223/1056 2585/4224/1056 -f 2585/4225/1057 2544/4226/1057 2546/4227/1057 2547/4228/1057 -f 2585/4229/1058 2547/4230/1058 2555/4231/1058 2540/4232/1058 -f 2540/4233/1059 2555/4234/1059 2553/4235/1059 2539/4236/1059 -f 2534/4237/1060 2531/4238/1060 2559/4239/1060 2583/4240/1060 -f 2568/4241/1061 2572/4242/1061 2532/4243/1061 2533/4244/1061 -f 2536/4245/1062 2534/4246/1062 2583/4247/1062 2584/4248/1062 -f 2536/4249/1063 2584/4250/1063 2558/4251/1063 2535/4252/1063 -f 2535/4253/1064 2558/4254/1064 2559/4255/1064 2531/4256/1064 -f 2583/4257/1065 2559/4258/1065 2556/4259/1065 2549/4260/1065 -f 2584/4261/1066 2550/4262/1066 2557/4263/1066 2558/4264/1066 -f 2586/4265/1067 2562/4266/1067 2563/4267/1067 2587/4268/1067 -f 2588/4269/1068 2565/4270/1068 2562/4271/1068 2586/4272/1068 -f 2588/4273/1069 2589/4274/1069 2566/4275/1069 2565/4276/1069 -f 2567/4277/1070 2560/4278/1070 2573/4279/1070 2569/4280/1070 -f 2589/4281/1071 2587/4282/1071 2563/4283/1071 2566/4284/1071 -f 2564/4285/1072 2567/4286/1072 2569/4287/1072 2570/4288/1072 -f 2564/4289/1073 2570/4290/1073 2575/4291/1073 2561/4292/1073 -f 2561/4293/1074 2575/4294/1074 2573/4295/1074 2560/4296/1074 -f 2591/4297/1075 2590/4298/1075 2589/4299/1075 2588/4300/1075 -f 2590/4301/1076 2592/4302/1076 2587/4303/1076 2589/4304/1076 -f 2591/4305/1077 2588/4306/1077 2586/4307/1077 2593/4308/1077 -f 2593/4309/1078 2586/4310/1078 2587/4311/1078 2592/4312/1078 -f 2594/4313/1079 2495/4314/1079 2492/4315/1079 2595/4316/1079 -f 2595/4317/1080 2492/4318/1080 2493/4319/1080 2576/4320/1080 -f 2494/4321/1081 2495/4322/1081 2594/4323/1081 2577/4324/1081 -f 2577/4325/1082 2594/4326/1082 2595/4327/1082 2576/4328/1082 -f 2598/4329/1083 2597/4330/1083 2596/4331/1083 2599/4332/1083 -f 2600/4333/1084 2599/4334/1084 2596/4335/1084 2601/4336/1084 -f 2604/4337/1085 2603/4338/1085 2602/4339/1085 2605/4340/1085 -f 2603/4341/1086 2607/4342/1086 2606/4343/1086 2602/4344/1086 -f 2604/4345/1087 2605/4346/1087 2608/4347/1087 2609/4348/1087 -f 2609/4349/1088 2608/4350/1088 2606/4351/1088 2607/4352/1088 -f 2611/4353/1089 2610/4354/1089 2597/4355/1089 2598/4356/1089 -f 2612/4357/1090 2598/4358/1090 2599/4359/1090 2613/4360/1090 -f 2614/4361/1091 2611/4362/1091 2598/4363/1091 2612/4364/1091 -f 2614/4365/1092 2615/4366/1092 2600/4367/1092 2611/4368/1092 -f 2601/4369/1093 2596/4370/1093 2607/4371/1093 2603/4372/1093 -f 2615/4373/1094 2613/4374/1094 2599/4375/1094 2600/4376/1094 -f 2611/4377/1095 2600/4378/1095 2601/4379/1095 2610/4380/1095 -f 2610/4381/1096 2601/4382/1096 2603/4383/1096 2604/4384/1096 -f 2610/4385/1097 2604/4386/1097 2609/4387/1097 2597/4388/1097 -f 2607/4389/1098 2596/4390/1098 2597/4391/1098 2609/4392/1098 -f 2617/4393/1099 2616/4394/1099 2615/4395/1099 2614/4396/1099 -f 2616/4397/1100 2618/4398/1100 2613/4399/1100 2615/4400/1100 -f 2617/4401/1101 2614/4402/1101 2612/4403/1101 2619/4404/1101 -f 2619/4405/1102 2612/4406/1102 2613/4407/1102 2618/4408/1102 -f 2602/4409/1103 2606/4410/1103 2608/4411/1103 2605/4412/1103 -f 2623/4413/1104 2622/4414/1104 2621/4415/1104 2624/4416/1104 -f 2627/4417/1105 2626/4418/1105 2625/4419/1105 2628/4420/1105 -f 2631/4421/1106 2630/4422/1106 2629/4423/1106 2632/4424/1106 -f 2635/4425/1107 2634/4426/1107 2633/4427/1107 2636/4428/1107 -f 2639/4429/1108 2638/4430/1108 2637/4431/1108 2640/4432/1108 -f 2643/4433/1109 2642/4434/1109 2641/4435/1109 2644/4436/1109 -f 2647/4437/1110 2646/4438/1110 2645/4439/1110 2648/4440/1110 -f 2651/4441/1111 2650/4442/1111 2649/4443/1111 2652/4444/1111 -f 2655/4445/1112 2654/4446/1112 2653/4447/1112 2656/4448/1112 -f 2659/4449/1113 2658/4450/1113 2657/4451/1113 2660/4452/1113 -f 2663/4453/1114 2662/4454/1114 2661/4455/1114 2664/4456/1114 -f 2667/4457/1115 2666/4458/1115 2665/4459/1115 2668/4460/1115 -f 2671/4461/1116 2670/4462/1116 2669/4463/1116 2672/4464/1116 -f 2675/4465/1117 2674/4466/1117 2673/4467/1117 2676/4468/1117 -f 2679/4469/1118 2678/4470/1118 2677/4471/1118 2680/4472/1118 -f 2683/4473/1119 2682/4474/1119 2681/4475/1119 2684/4476/1119 -f 2687/4477/1120 2686/4478/1120 2685/4479/1120 2688/4480/1120 -f 2691/4481/1121 2690/4482/1121 2689/4483/1121 2692/4484/1121 -f 2695/4485/1122 2694/4486/1122 2693/4487/1122 2696/4488/1122 -f 2699/4489/1123 2698/4490/1123 2697/4491/1123 2700/4492/1123 -f 2703/4493/1124 2702/4494/1124 2701/4495/1124 2704/4496/1124 -f 2707/4497/1125 2706/4498/1125 2705/4499/1125 2708/4500/1125 -f 2711/4501/1126 2710/4502/1126 2709/4503/1126 2712/4504/1126 -f 2715/4505/1127 2714/4506/1127 2713/4507/1127 2716/4508/1127 -f 2719/4509/1128 2718/4510/1128 2717/4511/1128 2720/4512/1128 -f 2723/4513/1129 2722/4514/1129 2721/4515/1129 2724/4516/1129 -f 2727/4517/1130 2726/4518/1130 2725/4519/1130 2728/4520/1130 -f 2731/4521/1131 2730/4522/1131 2729/4523/1131 2732/4524/1131 -f 2735/4525/1132 2734/4526/1132 2733/4527/1132 2736/4528/1132 -f 2739/4529/1133 2738/4530/1133 2737/4531/1133 2740/4532/1133 -f 2743/4533/1134 2742/4534/1134 2741/4535/1134 2744/4536/1134 -f 2747/4537/1135 2746/4538/1135 2745/4539/1135 2748/4540/1135 -f 2751/4541/1136 2750/4542/1136 2749/4543/1136 2752/4544/1136 -f 2755/4545/1137 2754/4546/1137 2753/4547/1137 2756/4548/1137 -f 2759/4549/1138 2758/4550/1138 2757/4551/1138 2760/4552/1138 -f 2763/4553/1139 2762/4554/1139 2761/4555/1139 2764/4556/1139 -f 2767/4557/1140 2766/4558/1140 2765/4559/1140 2768/4560/1140 -f 2771/4561/1141 2770/4562/1141 2769/4563/1141 2772/4564/1141 -f 2775/4565/1142 2774/4566/1142 2773/4567/1142 2776/4568/1142 -f 2779/4569/1143 2778/4570/1143 2777/4571/1143 2780/4572/1143 -f 2783/4573/1144 2782/4574/1144 2781/4575/1144 2784/4576/1144 -f 2787/4577/1145 2786/4578/1145 2785/4579/1145 2788/4580/1145 -f 2791/4581/1146 2790/4582/1146 2789/4583/1146 2792/4584/1146 -f 2795/4585/1147 2794/4586/1147 2793/4587/1147 2796/4588/1147 -f 2799/4589/1148 2798/4590/1148 2797/4591/1148 2800/4592/1148 -f 2803/4593/1149 2802/4594/1149 2801/4595/1149 2804/4596/1149 -f 2807/4597/1150 2806/4598/1150 2805/4599/1150 2808/4600/1150 -f 2811/4601/1151 2810/4602/1151 2809/4603/1151 2812/4604/1151 -f 2815/4605/1152 2814/4606/1152 2813/4607/1152 2816/4608/1152 -f 2819/4609/1153 2818/4610/1153 2817/4611/1153 2820/4612/1153 -f 2823/4613/1154 2822/4614/1154 2821/4615/1154 2824/4616/1154 -f 2827/4617/1155 2826/4618/1155 2825/4619/1155 2828/4620/1155 -f 2831/4621/1156 2830/4622/1156 2829/4623/1156 2832/4624/1156 -f 2835/4625/1157 2834/4626/1157 2833/4627/1157 2836/4628/1157 -f 2839/4629/1158 2838/4630/1158 2837/4631/1158 2840/4632/1158 -f 2843/4633/1159 2842/4634/1159 2841/4635/1159 2844/4636/1159 -f 2847/4637/1160 2846/4638/1160 2845/4639/1160 2848/4640/1160 -f 2851/4641/1161 2850/4642/1161 2849/4643/1161 2852/4644/1161 -f 2855/4645/1162 2854/4646/1162 2853/4647/1162 2856/4648/1162 -f 2859/4649/1163 2858/4650/1163 2857/4651/1163 2860/4652/1163 -f 2863/4653/1164 2862/4654/1164 2861/4655/1164 2864/4656/1164 -f 2867/4657/1165 2866/4658/1165 2865/4659/1165 2868/4660/1165 -f 2871/4661/1166 2870/4662/1166 2869/4663/1166 2872/4664/1166 -f 2875/4665/1167 2874/4666/1167 2873/4667/1167 2876/4668/1167 -f 2879/4669/1168 2878/4670/1168 2877/4671/1168 2880/4672/1168 -f 2883/4673/1169 2882/4674/1169 2881/4675/1169 2884/4676/1169 -f 2887/4677/1170 2886/4678/1170 2885/4679/1170 2888/4680/1170 -f 2891/4681/1171 2890/4682/1171 2889/4683/1171 2892/4684/1171 -f 2895/4685/1172 2894/4686/1172 2893/4687/1172 2896/4688/1172 -f 2899/4689/1173 2898/4690/1173 2897/4691/1173 2900/4692/1173 -f 2903/4693/1174 2902/4694/1174 2901/4695/1174 2904/4696/1174 -f 2907/4697/1175 2906/4698/1175 2905/4699/1175 2908/4700/1175 -f 2911/4701/1176 2910/4702/1176 2909/4703/1176 2912/4704/1176 -f 2915/4705/1177 2914/4706/1177 2913/4707/1177 2916/4708/1177 -f 2919/4709/1178 2918/4710/1178 2917/4711/1178 2920/4712/1178 -f 2923/4713/1179 2922/4714/1179 2921/4715/1179 2924/4716/1179 -f 2927/4717/1180 2926/4718/1180 2925/4719/1180 2928/4720/1180 -f 2931/4721/1181 2930/4722/1181 2929/4723/1181 2932/4724/1181 -f 2935/4725/1182 2934/4726/1182 2933/4727/1182 2936/4728/1182 -f 2939/4729/1183 2938/4730/1183 2937/4731/1183 2940/4732/1183 -f 2942/4733/1184 2941/4734/1184 2620/4735/1184 2943/4736/1184 -f 2946/4737/1185 2945/4738/1185 2944/4739/1185 2947/4740/1185 -f 2950/4741/1186 2949/4742/1186 2948/4743/1186 2951/4744/1186 -f 2954/4745/1187 2953/4746/1187 2952/4747/1187 2955/4748/1187 -f 2958/4749/1188 2957/4750/1188 2956/4751/1188 2959/4752/1188 -f 2962/4753/1189 2961/4754/1189 2960/4755/1189 2963/4756/1189 -f 2966/4757/1190 2965/4758/1190 2964/4759/1190 2967/4760/1190 -f 2970/4761/1191 2969/4762/1191 2968/4763/1191 2971/4764/1191 -f 2974/4765/1192 2973/4766/1192 2972/4767/1192 2975/4768/1192 -f 2978/4769/1193 2977/4770/1193 2976/4771/1193 2979/4772/1193 -f 2982/4773/1194 2981/4774/1194 2980/4775/1194 2983/4776/1194 -f 2986/4777/1195 2985/4778/1195 2984/4779/1195 2987/4780/1195 -f 2990/4781/1196 2989/4782/1196 2988/4783/1196 2991/4784/1196 -f 2994/4785/1197 2993/4786/1197 2992/4787/1197 2995/4788/1197 -f 2998/4789/1198 2997/4790/1198 2996/4791/1198 2999/4792/1198 -f 3002/4793/1199 3001/4794/1199 3000/4795/1199 3003/4796/1199 -f 3006/4797/1200 3005/4798/1200 3004/4799/1200 3007/4800/1200 -f 3010/4801/1201 3009/4802/1201 3008/4803/1201 3011/4804/1201 -f 3014/4805/1202 3013/4806/1202 3012/4807/1202 3015/4808/1202 -f 3018/4809/1203 3017/4810/1203 3016/4811/1203 3019/4812/1203 -f 3022/4813/1204 3021/4814/1204 3020/4815/1204 3023/4816/1204 -f 3026/4817/1205 3025/4818/1205 3024/4819/1205 3027/4820/1205 -f 3030/4821/1206 3029/4822/1206 3028/4823/1206 3031/4824/1206 -f 3034/4825/1207 3033/4826/1207 3032/4827/1207 3035/4828/1207 -f 3038/4829/1208 3037/4830/1208 3036/4831/1208 3039/4832/1208 -f 3042/4833/1209 3041/4834/1209 3040/4835/1209 3043/4836/1209 -f 3046/4837/1210 3045/4838/1210 3044/4839/1210 3047/4840/1210 -f 3050/4841/1211 3049/4842/1211 3048/4843/1211 3051/4844/1211 -f 3054/4845/1212 3053/4846/1212 3052/4847/1212 3055/4848/1212 -f 3058/4849/1213 3057/4850/1213 3056/4851/1213 3059/4852/1213 -f 3062/4853/1214 3061/4854/1214 3060/4855/1214 3063/4856/1214 -f 3066/4857/1215 3065/4858/1215 3064/4859/1215 3067/4860/1215 -f 3070/4861/1216 3069/4862/1216 3068/4863/1216 3071/4864/1216 -f 3074/4865/1217 3073/4866/1217 3072/4867/1217 3075/4868/1217 -f 3078/4869/1218 3077/4870/1218 3076/4871/1218 3079/4872/1218 -f 3082/4873/1219 3081/4874/1219 3080/4875/1219 3083/4876/1219 -f 3086/4877/1220 3085/4878/1220 3084/4879/1220 3087/4880/1220 -f 3090/4881/1221 3089/4882/1221 3088/4883/1221 3091/4884/1221 -f 3094/4885/1222 3093/4886/1222 3092/4887/1222 3095/4888/1222 -f 3098/4889/1223 3097/4890/1223 3096/4891/1223 3099/4892/1223 -f 3102/4893/1224 3101/4894/1224 3100/4895/1224 3103/4896/1224 -f 3106/4897/1225 3105/4898/1225 3104/4899/1225 3107/4900/1225 -f 3102/4901/1226 3103/4902/1226 3108/4903/1226 3109/4904/1226 -f 3109/4905/1227 3108/4906/1227 3110/4907/1227 3111/4908/1227 -f 3113/4909/1228 3112/4910/1228 3100/4911/1228 3110/4912/1228 -f 3103/4913/1229 3115/4914/1229 3114/4915/1229 3108/4916/1229 -f 3108/4917/1230 3114/4918/1230 3113/4919/1230 3110/4920/1230 -f 3110/4921/1231 3100/4922/1231 3101/4923/1231 3111/4924/1231 -f 3103/4925/1232 3100/4926/1232 3112/4927/1232 3115/4928/1232 -f 3105/4929/1233 3117/4930/1233 3116/4931/1233 3104/4932/1233 -f 3106/4933/1234 3107/4934/1234 3118/4935/1234 3119/4936/1234 -f 3119/4937/1235 3118/4938/1235 3116/4939/1235 3117/4940/1235 -f 3112/4941/1236 3113/4942/1236 3117/4943/1236 3105/4944/1236 -f 3115/4945/1237 3112/4946/1237 3105/4947/1237 3106/4948/1237 -f 3115/4949/1238 3106/4950/1238 3119/4951/1238 3114/4952/1238 -f 3114/4953/1239 3119/4954/1239 3117/4955/1239 3113/4956/1239 -f 3102/4957/1240 3109/4958/1240 3111/4959/1240 3101/4960/1240 -f 3122/4961/1241 3121/4962/1241 3120/4963/1241 3123/4964/1241 -f 3126/4965/1242 3125/4966/1242 3124/4967/1242 3127/4968/1242 -f 3130/4969/1243 3129/4970/1243 3128/4971/1243 3131/4972/1243 -f 3134/4973/1244 3133/4974/1244 3132/4975/1244 3135/4976/1244 -f 3138/4977/1245 3137/4978/1245 3136/4979/1245 3139/4980/1245 -f 3142/4981/1246 3141/4982/1246 3140/4983/1246 3143/4984/1246 -f 3146/4985/1247 3145/4986/1247 3144/4987/1247 3147/4988/1247 -f 3150/4989/1248 3149/4990/1248 3148/4991/1248 3151/4992/1248 -f 3154/4993/1249 3153/4994/1249 3152/4995/1249 3155/4996/1249 -f 3158/4997/1250 3157/4998/1250 3156/4999/1250 3159/5000/1250 -f 3162/5001/1251 3161/5002/1251 3160/5003/1251 3163/5004/1251 -f 3166/5005/1252 3165/5006/1252 3164/5007/1252 3167/5008/1252 -f 3170/5009/1253 3169/5010/1253 3168/5011/1253 3171/5012/1253 -f 3174/5013/1254 3173/5014/1254 3172/5015/1254 3175/5016/1254 -f 3178/5017/1255 3177/5018/1255 3176/5019/1255 3179/5020/1255 -f 3182/5021/1256 3181/5022/1256 3180/5023/1256 3183/5024/1256 -f 3186/5025/1257 3185/5026/1257 3184/5027/1257 3187/5028/1257 -f 3190/5029/1258 3189/5030/1258 3188/5031/1258 3191/5032/1258 -f 3194/5033/1259 3193/5034/1259 3192/5035/1259 3195/5036/1259 -f 3195/5037/1260 3192/5038/1260 3188/5039/1260 3189/5040/1260 -f 3194/5041/1261 3190/5042/1261 3191/5043/1261 3193/5044/1261 -f 3198/5045/1262 3197/5046/1262 3196/5047/1262 3199/5048/1262 -f 3201/5049/1263 3200/5050/1263 3196/5051/1263 3197/5052/1263 -f 3204/5053/1264 3203/5054/1264 3202/5055/1264 3205/5056/1264 -f 3206/5057/1265 3205/5058/1265 3202/5059/1265 3207/5060/1265 -f 3210/5061/1266 3209/5062/1266 3208/5063/1266 3211/5064/1266 -f 3213/5065/1267 3212/5066/1267 3206/5067/1267 3214/5068/1267 -f 3209/5069/1268 3216/5070/1268 3215/5071/1268 3208/5072/1268 -f 3210/5073/1269 3211/5074/1269 3217/5075/1269 3218/5076/1269 -f 3218/5077/1270 3217/5078/1270 3215/5079/1270 3216/5080/1270 -f 3221/5081/1271 3220/5082/1271 3219/5083/1271 3222/5084/1271 -f 3225/5085/1272 3224/5086/1272 3223/5087/1272 3226/5088/1272 -f 3229/5089/1273 3228/5090/1273 3227/5091/1273 3230/5092/1273 -f 3230/5093/1274 3227/5094/1274 3223/5095/1274 3224/5096/1274 -f 3233/5097/1275 3232/5098/1275 3231/5099/1275 3234/5100/1275 -f 3235/5101/1276 3234/5102/1276 3231/5103/1276 3236/5104/1276 -f 3239/5105/1277 3238/5106/1277 3237/5107/1277 3240/5108/1277 -f 3242/5109/1278 3241/5110/1278 3235/5111/1278 3243/5112/1278 -f 3238/5113/1279 3245/5114/1279 3244/5115/1279 3237/5116/1279 -f 3239/5117/1280 3240/5118/1280 3246/5119/1280 3247/5120/1280 -f 3247/5121/1281 3246/5122/1281 3244/5123/1281 3245/5124/1281 -f 3229/5125/1282 3225/5126/1282 3226/5127/1282 3228/5128/1282 -f 3250/5129/1283 3249/5130/1283 3248/5131/1283 3251/5132/1283 -f 3254/5133/1284 3253/5134/1284 3252/5135/1284 3255/5136/1284 -f 3257/5137/1285 3256/5138/1285 3253/5139/1285 3254/5140/1285 -f 3258/5141/1286 3255/5142/1286 3252/5143/1286 3259/5144/1286 -f 3262/5145/1287 3261/5146/1287 3260/5147/1287 3263/5148/1287 -f 3257/5149/1288 3258/5150/1288 3259/5151/1288 3256/5152/1288 -f 3261/5153/1289 3265/5154/1289 3264/5155/1289 3260/5156/1289 -f 3262/5157/1290 3263/5158/1290 3266/5159/1290 3267/5160/1290 -f 3267/5161/1291 3266/5162/1291 3264/5163/1291 3265/5164/1291 -f 3211/5165/1292 3208/5166/1292 3190/5167/1292 3194/5168/1292 -f 3263/5169/1293 3260/5170/1293 3225/5171/1293 3229/5172/1293 -f 3211/5173/1294 3194/5174/1294 3195/5175/1294 3217/5176/1294 -f 3217/5177/1295 3195/5178/1295 3189/5179/1295 3215/5180/1295 -f 3191/5181/1296 3188/5182/1296 3268/5183/1296 3185/5184/1296 -f 3208/5185/1297 3215/5186/1297 3189/5187/1297 3190/5188/1297 -f 3193/5189/1298 3191/5190/1298 3185/5191/1298 3186/5192/1298 -f 3193/5193/1299 3186/5194/1299 3269/5195/1299 3192/5196/1299 -f 3192/5197/1300 3269/5198/1300 3268/5199/1300 3188/5200/1300 -f 3240/5201/1301 3237/5202/1301 3198/5203/1301 3270/5204/1301 -f 3272/5205/1302 3271/5206/1302 3212/5207/1302 3213/5208/1302 -f 3240/5209/1303 3270/5210/1303 3201/5211/1303 3246/5212/1303 -f 3246/5213/1304 3201/5214/1304 3197/5215/1304 3244/5216/1304 -f 3270/5217/1305 3273/5218/1305 3200/5219/1305 3201/5220/1305 -f 3214/5221/1306 3274/5222/1306 3203/5223/1306 3204/5224/1306 -f 3220/5225/1307 3204/5226/1307 3205/5227/1307 3219/5228/1307 -f 3213/5229/1308 3214/5230/1308 3204/5231/1308 3220/5232/1308 -f 3207/5233/1309 3202/5234/1309 3216/5235/1309 3209/5236/1309 -f 3212/5237/1310 3219/5238/1310 3205/5239/1310 3206/5240/1310 -f 3214/5241/1311 3206/5242/1311 3207/5243/1311 3274/5244/1311 -f 3274/5245/1312 3207/5246/1312 3209/5247/1312 3210/5248/1312 -f 3274/5249/1313 3210/5250/1313 3218/5251/1313 3203/5252/1313 -f 3203/5253/1314 3218/5254/1314 3216/5255/1314 3202/5256/1314 -f 3199/5257/1315 3196/5258/1315 3222/5259/1315 3271/5260/1315 -f 3237/5261/1316 3244/5262/1316 3197/5263/1316 3198/5264/1316 -f 3270/5265/1317 3198/5266/1317 3199/5267/1317 3273/5268/1317 -f 3273/5269/1318 3199/5270/1318 3271/5271/1318 3272/5272/1318 -f 3273/5273/1319 3272/5274/1319 3221/5275/1319 3200/5276/1319 -f 3200/5277/1320 3221/5278/1320 3222/5279/1320 3196/5280/1320 -f 3271/5281/1321 3222/5282/1321 3219/5283/1321 3212/5284/1321 -f 3272/5285/1322 3213/5286/1322 3220/5287/1322 3221/5288/1322 -f 3276/5289/1323 3275/5290/1323 3241/5291/1323 3242/5292/1323 -f 3263/5293/1324 3229/5294/1324 3230/5295/1324 3266/5296/1324 -f 3266/5297/1325 3230/5298/1325 3224/5299/1325 3264/5300/1325 -f 3243/5301/1326 3277/5302/1326 3232/5303/1326 3233/5304/1326 -f 3249/5305/1327 3233/5306/1327 3234/5307/1327 3248/5308/1327 -f 3242/5309/1328 3243/5310/1328 3233/5311/1328 3249/5312/1328 -f 3236/5313/1329 3231/5314/1329 3245/5315/1329 3238/5316/1329 -f 3241/5317/1330 3248/5318/1330 3234/5319/1330 3235/5320/1330 -f 3243/5321/1331 3235/5322/1331 3236/5323/1331 3277/5324/1331 -f 3277/5325/1332 3236/5326/1332 3238/5327/1332 3239/5328/1332 -f 3277/5329/1333 3239/5330/1333 3247/5331/1333 3232/5332/1333 -f 3232/5333/1334 3247/5334/1334 3245/5335/1334 3231/5336/1334 -f 3226/5337/1335 3223/5338/1335 3251/5339/1335 3275/5340/1335 -f 3260/5341/1336 3264/5342/1336 3224/5343/1336 3225/5344/1336 -f 3228/5345/1337 3226/5346/1337 3275/5347/1337 3276/5348/1337 -f 3228/5349/1338 3276/5350/1338 3250/5351/1338 3227/5352/1338 -f 3227/5353/1339 3250/5354/1339 3251/5355/1339 3223/5356/1339 -f 3275/5357/1340 3251/5358/1340 3248/5359/1340 3241/5360/1340 -f 3276/5361/1341 3242/5362/1341 3249/5363/1341 3250/5364/1341 -f 3278/5365/1342 3254/5366/1342 3255/5367/1342 3279/5368/1342 -f 3280/5369/1343 3257/5370/1343 3254/5371/1343 3278/5372/1343 -f 3280/5373/1344 3281/5374/1344 3258/5375/1344 3257/5376/1344 -f 3259/5377/1345 3252/5378/1345 3265/5379/1345 3261/5380/1345 -f 3281/5381/1346 3279/5382/1346 3255/5383/1346 3258/5384/1346 -f 3256/5385/1347 3259/5386/1347 3261/5387/1347 3262/5388/1347 -f 3256/5389/1348 3262/5390/1348 3267/5391/1348 3253/5392/1348 -f 3253/5393/1349 3267/5394/1349 3265/5395/1349 3252/5396/1349 -f 3283/5397/1350 3282/5398/1350 3281/5399/1350 3280/5400/1350 -f 3282/5401/1351 3284/5402/1351 3279/5403/1351 3281/5404/1351 -f 3283/5405/1352 3280/5406/1352 3278/5407/1352 3285/5408/1352 -f 3285/5409/1353 3278/5410/1353 3279/5411/1353 3284/5412/1353 -f 3286/5413/1354 3187/5414/1354 3184/5415/1354 3287/5416/1354 -f 3287/5417/1355 3184/5418/1355 3185/5419/1355 3268/5420/1355 -f 3186/5421/1356 3187/5422/1356 3286/5423/1356 3269/5424/1356 -f 3269/5425/1357 3286/5426/1357 3287/5427/1357 3268/5428/1357 -f 3290/5429/1358 3289/5430/1358 3288/5431/1358 3291/5432/1358 -f 3292/5433/1359 3291/5434/1359 3288/5435/1359 3293/5436/1359 -f 3296/5437/1360 3295/5438/1360 3294/5439/1360 3297/5440/1360 -f 3295/5441/1361 3299/5442/1361 3298/5443/1361 3294/5444/1361 -f 3296/5445/1362 3297/5446/1362 3300/5447/1362 3301/5448/1362 -f 3301/5449/1363 3300/5450/1363 3298/5451/1363 3299/5452/1363 -f 3303/5453/1364 3302/5454/1364 3289/5455/1364 3290/5456/1364 -f 3304/5457/1365 3290/5458/1365 3291/5459/1365 3305/5460/1365 -f 3306/5461/1366 3303/5462/1366 3290/5463/1366 3304/5464/1366 -f 3306/5465/1367 3307/5466/1367 3292/5467/1367 3303/5468/1367 -f 3293/5469/1368 3288/5470/1368 3299/5471/1368 3295/5472/1368 -f 3307/5473/1369 3305/5474/1369 3291/5475/1369 3292/5476/1369 -f 3303/5477/1370 3292/5478/1370 3293/5479/1370 3302/5480/1370 -f 3302/5481/1371 3293/5482/1371 3295/5483/1371 3296/5484/1371 -f 3302/5485/1372 3296/5486/1372 3301/5487/1372 3289/5488/1372 -f 3299/5489/1373 3288/5490/1373 3289/5491/1373 3301/5492/1373 -f 3309/5493/1374 3308/5494/1374 3307/5495/1374 3306/5496/1374 -f 3308/5497/1375 3310/5498/1375 3305/5499/1375 3307/5500/1375 -f 3309/5501/1376 3306/5502/1376 3304/5503/1376 3311/5504/1376 -f 3311/5505/1377 3304/5506/1377 3305/5507/1377 3310/5508/1377 -f 3294/5509/1378 3298/5510/1378 3300/5511/1378 3297/5512/1378 -f 3315/5513/1379 3314/5514/1379 3313/5515/1379 3316/5516/1379 -f 3319/5517/1380 3318/5518/1380 3317/5519/1380 3320/5520/1380 -f 3323/5521/1381 3322/5522/1381 3321/5523/1381 3324/5524/1381 -f 3327/5525/1382 3326/5526/1382 3325/5527/1382 3328/5528/1382 -f 3331/5529/1383 3330/5530/1383 3329/5531/1383 3332/5532/1383 -f 3335/5533/1384 3334/5534/1384 3333/5535/1384 3336/5536/1384 -f 3339/5537/1385 3338/5538/1385 3337/5539/1385 3340/5540/1385 -f 3343/5541/1386 3342/5542/1386 3341/5543/1386 3344/5544/1386 -f 3347/5545/1387 3346/5546/1387 3345/5547/1387 3348/5548/1387 -f 3351/5549/1388 3350/5550/1388 3349/5551/1388 3352/5552/1388 -f 3355/5553/1389 3354/5554/1389 3353/5555/1389 3356/5556/1389 -f 3359/5557/1390 3358/5558/1390 3357/5559/1390 3360/5560/1390 -f 3363/5561/1391 3362/5562/1391 3361/5563/1391 3364/5564/1391 -f 3367/5565/1392 3366/5566/1392 3365/5567/1392 3368/5568/1392 -f 3371/5569/1393 3370/5570/1393 3369/5571/1393 3372/5572/1393 -f 3375/5573/1394 3374/5574/1394 3373/5575/1394 3376/5576/1394 -f 3379/5577/1395 3378/5578/1395 3377/5579/1395 3380/5580/1395 -f 3383/5581/1396 3382/5582/1396 3381/5583/1396 3384/5584/1396 -f 3387/5585/1397 3386/5586/1397 3385/5587/1397 3388/5588/1397 -f 3391/5589/1398 3390/5590/1398 3389/5591/1398 3392/5592/1398 -f 3395/5593/1399 3394/5594/1399 3393/5595/1399 3396/5596/1399 -f 3399/5597/1400 3398/5598/1400 3397/5599/1400 3400/5600/1400 -f 3403/5601/1401 3402/5602/1401 3401/5603/1401 3404/5604/1401 -f 3407/5605/1402 3406/5606/1402 3405/5607/1402 3408/5608/1402 -f 3411/5609/1403 3410/5610/1403 3409/5611/1403 3412/5612/1403 -f 3415/5613/1404 3414/5614/1404 3413/5615/1404 3416/5616/1404 -f 3419/5617/1405 3418/5618/1405 3417/5619/1405 3420/5620/1405 -f 3423/5621/1406 3422/5622/1406 3421/5623/1406 3424/5624/1406 -f 3427/5625/1407 3426/5626/1407 3425/5627/1407 3428/5628/1407 -f 3431/5629/1408 3430/5630/1408 3429/5631/1408 3432/5632/1408 -f 3435/5633/1409 3434/5634/1409 3433/5635/1409 3436/5636/1409 -f 3439/5637/1410 3438/5638/1410 3437/5639/1410 3440/5640/1410 -f 3443/5641/1411 3442/5642/1411 3441/5643/1411 3444/5644/1411 -f 3447/5645/1412 3446/5646/1412 3445/5647/1412 3448/5648/1412 -f 3451/5649/1413 3450/5650/1413 3449/5651/1413 3452/5652/1413 -f 3455/5653/1414 3454/5654/1414 3453/5655/1414 3456/5656/1414 -f 3459/5657/1415 3458/5658/1415 3457/5659/1415 3460/5660/1415 -f 3463/5661/1416 3462/5662/1416 3461/5663/1416 3464/5664/1416 -f 3467/5665/1417 3466/5666/1417 3465/5667/1417 3468/5668/1417 -f 3471/5669/1418 3470/5670/1418 3469/5671/1418 3472/5672/1418 -f 3475/5673/1419 3474/5674/1419 3473/5675/1419 3476/5676/1419 -f 3479/5677/1420 3478/5678/1420 3477/5679/1420 3480/5680/1420 -f 3483/5681/1421 3482/5682/1421 3481/5683/1421 3484/5684/1421 -f 3487/5685/1422 3486/5686/1422 3485/5687/1422 3488/5688/1422 -f 3491/5689/1423 3490/5690/1423 3489/5691/1423 3492/5692/1423 -f 3495/5693/1424 3494/5694/1424 3493/5695/1424 3496/5696/1424 -f 3499/5697/1425 3498/5698/1425 3497/5699/1425 3500/5700/1425 -f 3503/5701/1426 3502/5702/1426 3501/5703/1426 3504/5704/1426 -f 3507/5705/1427 3506/5706/1427 3505/5707/1427 3508/5708/1427 -f 3511/5709/1428 3510/5710/1428 3509/5711/1428 3512/5712/1428 -f 3515/5713/1429 3514/5714/1429 3513/5715/1429 3516/5716/1429 -f 3519/5717/1430 3518/5718/1430 3517/5719/1430 3520/5720/1430 -f 3523/5721/1431 3522/5722/1431 3521/5723/1431 3524/5724/1431 -f 3527/5725/1432 3526/5726/1432 3525/5727/1432 3528/5728/1432 -f 3531/5729/1433 3530/5730/1433 3529/5731/1433 3532/5732/1433 -f 3535/5733/1434 3534/5734/1434 3533/5735/1434 3536/5736/1434 -f 3539/5737/1435 3538/5738/1435 3537/5739/1435 3540/5740/1435 -f 3543/5741/1436 3542/5742/1436 3541/5743/1436 3544/5744/1436 -f 3547/5745/1437 3546/5746/1437 3545/5747/1437 3548/5748/1437 -f 3551/5749/1438 3550/5750/1438 3549/5751/1438 3552/5752/1438 -f 3555/5753/1439 3554/5754/1439 3553/5755/1439 3556/5756/1439 -f 3559/5757/1440 3558/5758/1440 3557/5759/1440 3560/5760/1440 -f 3563/5761/1441 3562/5762/1441 3561/5763/1441 3564/5764/1441 -f 3567/5765/1442 3566/5766/1442 3565/5767/1442 3568/5768/1442 -f 3571/5769/1443 3570/5770/1443 3569/5771/1443 3572/5772/1443 -f 3575/5773/1444 3574/5774/1444 3573/5775/1444 3576/5776/1444 -f 3579/5777/1445 3578/5778/1445 3577/5779/1445 3580/5780/1445 -f 3583/5781/1446 3582/5782/1446 3581/5783/1446 3584/5784/1446 -f 3587/5785/1447 3586/5786/1447 3585/5787/1447 3588/5788/1447 -f 3591/5789/1448 3590/5790/1448 3589/5791/1448 3592/5792/1448 -f 3595/5793/1449 3594/5794/1449 3593/5795/1449 3596/5796/1449 -f 3599/5797/1450 3598/5798/1450 3597/5799/1450 3600/5800/1450 -f 3603/5801/1451 3602/5802/1451 3601/5803/1451 3604/5804/1451 -f 3607/5805/1452 3606/5806/1452 3605/5807/1452 3608/5808/1452 -f 3611/5809/1453 3610/5810/1453 3609/5811/1453 3612/5812/1453 -f 3615/5813/1454 3614/5814/1454 3613/5815/1454 3616/5816/1454 -f 3619/5817/1455 3618/5818/1455 3617/5819/1455 3620/5820/1455 -f 3623/5821/1456 3622/5822/1456 3621/5823/1456 3624/5824/1456 -f 3627/5825/1457 3626/5826/1457 3625/5827/1457 3628/5828/1457 -f 3631/5829/1458 3630/5830/1458 3629/5831/1458 3632/5832/1458 -f 3634/5833/1459 3633/5834/1459 3312/5835/1459 3635/5836/1459 -f 4/5837/1460 3637/5838/1460 3636/5839/1460 3638/5840/1460 -f 3641/5841/1461 3640/5842/1461 3639/5843/1461 3642/5844/1461 -f 3645/5845/1462 3644/5846/1462 3643/5847/1462 3646/5848/1462 -f 3649/5849/1463 3648/5850/1463 3647/5851/1463 3650/5852/1463 -f 3653/5853/1464 3652/5854/1464 3651/5855/1464 3654/5856/1464 -f 3657/5857/1465 3656/5858/1465 3655/5859/1465 3658/5860/1465 -f 3661/5861/1466 3660/5862/1466 3659/5863/1466 3662/5864/1466 -f 3665/5865/1467 3664/5866/1467 3663/5867/1467 3666/5868/1467 -f 3669/5869/1468 3668/5870/1468 3667/5871/1468 3670/5872/1468 -f 3673/5873/1469 3672/5874/1469 3671/5875/1469 3674/5876/1469 -f 3677/5877/1470 3676/5878/1470 3675/5879/1470 3678/5880/1470 -f 3681/5881/1471 3680/5882/1471 3679/5883/1471 3682/5884/1471 -f 3685/5885/1472 3684/5886/1472 3683/5887/1472 3686/5888/1472 -f 3689/5889/1473 3688/5890/1473 3687/5891/1473 3690/5892/1473 -f 3693/5893/1474 3692/5894/1474 3691/5895/1474 3694/5896/1474 -f 3697/5897/1475 3696/5898/1475 3695/5899/1475 3698/5900/1475 -f 3701/5901/1476 3700/5902/1476 3699/5903/1476 3702/5904/1476 -f 3705/5905/1477 3704/5906/1477 3703/5907/1477 3706/5908/1477 -f 3709/5909/1478 3708/5910/1478 3707/5911/1478 3710/5912/1478 -f 3713/5913/1479 3712/5914/1479 3711/5915/1479 3714/5916/1479 -f 3717/5917/1480 3716/5918/1480 3715/5919/1480 3718/5920/1480 -f 3721/5921/1481 3720/5922/1481 3719/5923/1481 3722/5924/1481 -f 3725/5925/1482 3724/5926/1482 3723/5927/1482 3726/5928/1482 -f 3729/5929/1483 3728/5930/1483 3727/5931/1483 3730/5932/1483 -f 3733/5933/1484 3732/5934/1484 3731/5935/1484 3734/5936/1484 -f 3737/5937/1485 3736/5938/1485 3735/5939/1485 3738/5940/1485 -f 3741/5941/1486 3740/5942/1486 3739/5943/1486 3742/5944/1486 -f 3745/5945/1487 3744/5946/1487 3743/5947/1487 3746/5948/1487 -f 3749/5949/1488 3748/5950/1488 3747/5951/1488 3750/5952/1488 -f 3753/5953/1489 3752/5954/1489 3751/5955/1489 3754/5956/1489 -f 3757/5957/1490 3756/5958/1490 3755/5959/1490 3758/5960/1490 -f 3761/5961/1491 3760/5962/1491 3759/5963/1491 3762/5964/1491 -f 3765/5965/1492 3764/5966/1492 3763/5967/1492 3766/5968/1492 -f 3769/5969/1493 3768/5970/1493 3767/5971/1493 3770/5972/1493 -f 3773/5973/1494 3772/5974/1494 3771/5975/1494 3774/5976/1494 -f 3777/5977/1495 3776/5978/1495 3775/5979/1495 3778/5980/1495 -f 3781/5981/1496 3780/5982/1496 3779/5983/1496 3782/5984/1496 -f 3785/5985/1497 3784/5986/1497 3783/5987/1497 10/5988/1497 -f 3788/5989/1498 3787/5990/1498 3786/5991/1498 3789/5992/1498 -f 3792/5993/1499 3791/5994/1499 3790/5995/1499 3793/5996/1499 -f 3796/5997/1500 3795/5998/1500 3794/5999/1500 3797/6000/1500 -f 3800/6001/1501 3799/6002/1501 3798/6003/1501 3801/6004/1501 -f 3804/6005/1502 3803/6006/1502 3802/6007/1502 3805/6008/1502 -f 3808/6009/1503 3807/6010/1503 3806/6011/1503 3809/6012/1503 -f 3812/6013/1504 3811/6014/1504 3810/6015/1504 3813/6016/1504 -f 3816/6017/1505 3815/6018/1505 3814/6019/1505 3817/6020/1505 -f 3820/6021/1506 3819/6022/1506 3818/6023/1506 3821/6024/1506 -f 3824/6025/1507 3823/6026/1507 3822/6027/1507 3825/6028/1507 -f 3828/6029/1508 3827/6030/1508 3826/6031/1508 3829/6032/1508 -f 3832/6033/1509 3831/6034/1509 3830/6035/1509 3833/6036/1509 -f 3836/6037/1510 3835/6038/1510 3834/6039/1510 3837/6040/1510 -f 3840/6041/1511 3839/6042/1511 3838/6043/1511 3841/6044/1511 -f 3844/6045/1512 3843/6046/1512 3842/6047/1512 3845/6048/1512 -f 3848/6049/1513 3847/6050/1513 3846/6051/1513 3849/6052/1513 -f 3852/6053/1514 3851/6054/1514 3850/6055/1514 3853/6056/1514 -f 3856/6057/1515 3855/6058/1515 3854/6059/1515 3857/6060/1515 -f 3860/6061/1516 3859/6062/1516 3858/6063/1516 3861/6064/1516 -f 3864/6065/1517 3863/6066/1517 3862/6067/1517 3865/6068/1517 -f 3868/6069/1518 3867/6070/1518 3866/6071/1518 3869/6072/1518 -f 3872/6073/1519 3871/6074/1519 3870/6075/1519 3873/6076/1519 -f 3876/6077/1520 3875/6078/1520 3874/6079/1520 3877/6080/1520 -f 3880/6081/1521 3879/6082/1521 3878/6083/1521 3881/6084/1521 -f 3881/6085/1522 3878/6086/1522 3874/6087/1522 3875/6088/1522 -f 3880/6089/1523 3876/6090/1523 3877/6091/1523 3879/6092/1523 -f 3884/6093/1524 3883/6094/1524 3882/6095/1524 3885/6096/1524 -f 3886/6097/1525 3885/6098/1525 3882/6099/1525 3887/6100/1525 -f 3890/6101/1526 3889/6102/1526 3888/6103/1526 3891/6104/1526 -f 3893/6105/1527 3892/6106/1527 3886/6107/1527 3894/6108/1527 -f 3889/6109/1528 3896/6110/1528 3895/6111/1528 3888/6112/1528 -f 3890/6113/1529 3891/6114/1529 3897/6115/1529 3898/6116/1529 -f 3898/6117/1530 3897/6118/1530 3895/6119/1530 3896/6120/1530 -f 3901/6121/1531 3900/6122/1531 3899/6123/1531 3902/6124/1531 -f 3891/6125/1532 3888/6126/1532 3876/6127/1532 3880/6128/1532 -f 3891/6129/1533 3880/6130/1533 3881/6131/1533 3897/6132/1533 -f 3897/6133/1534 3881/6134/1534 3875/6135/1534 3895/6136/1534 -f 3877/6137/1535 3874/6138/1535 3903/6139/1535 3871/6140/1535 -f 3888/6141/1536 3895/6142/1536 3875/6143/1536 3876/6144/1536 -f 3879/6145/1537 3877/6146/1537 3871/6147/1537 3872/6148/1537 -f 3879/6149/1538 3872/6150/1538 3904/6151/1538 3878/6152/1538 -f 3878/6153/1539 3904/6154/1539 3903/6155/1539 3874/6156/1539 -f 3906/6157/1540 3905/6158/1540 3892/6159/1540 3893/6160/1540 -f 3894/6161/1541 3907/6162/1541 3883/6163/1541 3884/6164/1541 -f 3900/6165/1542 3884/6166/1542 3885/6167/1542 3899/6168/1542 -f 3893/6169/1543 3894/6170/1543 3884/6171/1543 3900/6172/1543 -f 3887/6173/1544 3882/6174/1544 3896/6175/1544 3889/6176/1544 -f 3892/6177/1545 3899/6178/1545 3885/6179/1545 3886/6180/1545 -f 3894/6181/1546 3886/6182/1546 3887/6183/1546 3907/6184/1546 -f 3907/6185/1547 3887/6186/1547 3889/6187/1547 3890/6188/1547 -f 3907/6189/1548 3890/6190/1548 3898/6191/1548 3883/6192/1548 -f 3883/6193/1549 3898/6194/1549 3896/6195/1549 3882/6196/1549 -f 3905/6197/1550 3902/6198/1550 3899/6199/1550 3892/6200/1550 -f 3906/6201/1551 3893/6202/1551 3900/6203/1551 3901/6204/1551 -f 3908/6205/1552 3873/6206/1552 3870/6207/1552 3909/6208/1552 -f 3909/6209/1553 3870/6210/1553 3871/6211/1553 3903/6212/1553 -f 3872/6213/1554 3873/6214/1554 3908/6215/1554 3904/6216/1554 -f 3904/6217/1555 3908/6218/1555 3909/6219/1555 3903/6220/1555 -f 3912/6221/1556 3911/6222/1556 3910/6223/1556 3913/6224/1556 -f 3914/6225/1557 3913/6226/1557 3910/6227/1557 3915/6228/1557 -f 3918/6229/1558 3917/6230/1558 3916/6231/1558 3919/6232/1558 -f 3917/6233/1559 3921/6234/1559 3920/6235/1559 3916/6236/1559 -f 3918/6237/1560 3919/6238/1560 3922/6239/1560 3923/6240/1560 -f 3923/6241/1561 3922/6242/1561 3920/6243/1561 3921/6244/1561 -f 3925/6245/1562 3924/6246/1562 3911/6247/1562 3912/6248/1562 -f 3926/6249/1563 3912/6250/1563 3913/6251/1563 3927/6252/1563 -f 3928/6253/1564 3925/6254/1564 3912/6255/1564 3926/6256/1564 -f 3928/6257/1565 3929/6258/1565 3914/6259/1565 3925/6260/1565 -f 3915/6261/1566 3910/6262/1566 3921/6263/1566 3917/6264/1566 -f 3929/6265/1567 3927/6266/1567 3913/6267/1567 3914/6268/1567 -f 3925/6269/1568 3914/6270/1568 3915/6271/1568 3924/6272/1568 -f 3924/6273/1569 3915/6274/1569 3917/6275/1569 3918/6276/1569 -f 3924/6277/1570 3918/6278/1570 3923/6279/1570 3911/6280/1570 -f 3921/6281/1571 3910/6282/1571 3911/6283/1571 3923/6284/1571 -f 3931/6285/1572 3930/6286/1572 3929/6287/1572 3928/6288/1572 -f 3930/6289/1573 3932/6290/1573 3927/6291/1573 3929/6292/1573 -f 3931/6293/1574 3928/6294/1574 3926/6295/1574 3933/6296/1574 -f 3933/6297/1575 3926/6298/1575 3927/6299/1575 3932/6300/1575 -f 3916/6301/1576 3920/6302/1576 3922/6303/1576 3919/6304/1576 +f 61/153/39 60/154/39 59/155/39 +f 61/153/39 59/155/39 62/156/39 +f 65/157/40 64/158/40 63/159/40 +f 65/157/40 63/159/40 66/160/40 +f 69/161/41 68/162/41 67/163/41 +f 69/161/41 67/163/41 70/164/41 +f 73/165/42 72/166/42 71/167/42 +f 73/165/42 71/167/42 74/168/42 +f 77/169/43 76/170/43 75/171/43 +f 77/169/43 75/171/43 78/172/43 +f 81/173/44 80/174/44 79/175/44 +f 81/173/44 79/175/44 82/176/44 +f 85/177/45 84/178/45 83/179/45 +f 85/177/45 83/179/45 86/180/45 +f 89/181/46 88/182/46 87/183/46 +f 89/181/46 87/183/46 90/184/46 +f 93/185/47 92/186/47 91/187/47 +f 93/185/47 91/187/47 94/188/47 +f 97/189/48 96/190/48 95/191/48 +f 97/189/48 95/191/48 98/192/48 +f 101/193/49 100/194/49 99/195/49 +f 101/193/49 99/195/49 102/196/49 +f 105/197/50 104/198/50 103/199/50 +f 105/197/50 103/199/50 106/200/50 +f 109/201/51 108/202/51 107/203/51 +f 109/201/51 107/203/51 110/204/51 +f 113/205/52 112/206/52 111/207/52 +f 113/205/52 111/207/52 114/208/52 +f 117/209/53 116/210/53 115/211/53 +f 117/209/53 115/211/53 118/212/53 +f 121/213/54 120/214/54 119/215/54 +f 121/213/54 119/215/54 122/216/54 +f 125/217/55 124/218/55 123/219/55 +f 125/217/55 123/219/55 126/220/55 +f 129/221/56 128/222/56 127/223/56 +f 129/221/56 127/223/56 130/224/56 +f 133/225/57 132/226/57 131/227/57 +f 133/225/57 131/227/57 134/228/57 +f 137/229/58 136/230/58 135/231/58 +f 137/229/58 135/231/58 138/232/58 +f 141/233/59 140/234/59 139/235/59 +f 141/233/59 139/235/59 142/236/59 +f 145/237/60 144/238/60 143/239/60 +f 145/237/60 143/239/60 146/240/60 +f 149/241/61 148/242/61 147/243/61 +f 149/241/61 147/243/61 150/244/61 +f 153/245/62 152/246/62 151/247/62 +f 153/245/62 151/247/62 154/248/62 +f 157/249/63 156/250/63 155/251/63 +f 157/249/63 155/251/63 158/252/63 +f 161/253/64 160/254/64 159/255/64 +f 161/253/64 159/255/64 162/256/64 +f 165/257/65 164/258/65 163/259/65 +f 165/257/65 163/259/65 166/260/65 +f 169/261/66 168/262/66 167/263/66 +f 169/261/66 167/263/66 170/264/66 +f 173/265/67 172/266/67 171/267/67 +f 173/265/67 171/267/67 174/268/67 +f 177/269/68 176/270/68 175/271/68 +f 177/269/68 175/271/68 178/272/68 +f 181/273/69 180/274/69 179/275/69 +f 181/273/69 179/275/69 182/276/69 +f 185/277/70 184/278/70 183/279/70 +f 185/277/70 183/279/70 186/280/70 +f 189/281/71 188/282/71 187/283/71 +f 189/281/71 187/283/71 190/284/71 +f 193/285/72 192/286/72 191/287/72 +f 193/285/72 191/287/72 194/288/72 +f 197/289/73 196/290/73 195/291/73 +f 197/289/73 195/291/73 198/292/73 +f 201/293/74 200/294/74 199/295/74 +f 201/293/74 199/295/74 202/296/74 +f 205/297/75 204/298/75 203/299/75 +f 205/297/75 203/299/75 206/300/75 +f 209/301/76 208/302/76 207/303/76 +f 209/301/76 207/303/76 210/304/76 +f 205/305/77 206/306/77 211/307/77 +f 205/305/77 211/307/77 212/308/77 +f 212/309/78 211/310/78 213/311/78 +f 212/309/78 213/311/78 214/312/78 +f 216/313/79 215/314/79 203/315/79 +f 216/313/79 203/315/79 213/316/79 +f 206/317/80 218/318/80 217/319/80 +f 206/317/80 217/319/80 211/320/80 +f 211/321/81 217/322/81 216/323/81 +f 211/321/81 216/323/81 213/324/81 +f 213/325/82 203/326/82 204/327/82 +f 213/325/82 204/327/82 214/328/82 +f 206/329/83 203/330/83 215/331/83 +f 206/329/83 215/331/83 218/332/83 +f 208/333/84 220/334/84 219/335/84 +f 208/333/84 219/335/84 207/336/84 +f 209/337/85 210/338/85 221/339/85 +f 209/337/85 221/339/85 222/340/85 +f 222/341/86 221/342/86 219/343/86 +f 222/341/86 219/343/86 220/344/86 +f 215/345/87 216/346/87 220/347/87 +f 215/345/87 220/347/87 208/348/87 +f 218/349/88 215/350/88 208/351/88 +f 218/349/88 208/351/88 209/352/88 +f 218/353/89 209/354/89 222/355/89 +f 218/353/89 222/355/89 217/356/89 +f 217/357/90 222/358/90 220/359/90 +f 217/357/90 220/359/90 216/360/90 +f 205/361/91 212/362/91 214/363/91 +f 205/361/91 214/363/91 204/364/91 +f 225/365/92 224/366/92 223/367/92 +f 225/365/92 223/367/92 226/368/92 +f 229/369/93 228/370/93 227/371/93 +f 229/369/93 227/371/93 230/372/93 +f 233/373/94 232/374/94 231/375/94 +f 233/373/94 231/375/94 234/376/94 +f 237/377/95 236/378/95 235/379/95 +f 237/377/95 235/379/95 238/380/95 +f 241/381/96 240/382/96 239/383/96 +f 241/381/96 239/383/96 242/384/96 +f 245/385/97 244/386/97 243/387/97 +f 245/385/97 243/387/97 246/388/97 +f 249/389/98 248/390/98 247/391/98 +f 249/389/98 247/391/98 250/392/98 +f 253/393/99 252/394/99 251/395/99 +f 253/393/99 251/395/99 254/396/99 +f 257/397/100 256/398/100 255/399/100 +f 257/397/100 255/399/100 258/400/100 +f 261/401/101 260/402/101 259/403/101 +f 261/401/101 259/403/101 262/404/101 +f 265/405/102 264/406/102 263/407/102 +f 265/405/102 263/407/102 266/408/102 +f 269/409/103 268/410/103 267/411/103 +f 269/409/103 267/411/103 270/412/103 +f 273/413/104 272/414/104 271/415/104 +f 273/413/104 271/415/104 274/416/104 +f 277/417/105 276/418/105 275/419/105 +f 277/417/105 275/419/105 278/420/105 +f 281/421/106 280/422/106 279/423/106 +f 281/421/106 279/423/106 282/424/106 +f 285/425/107 284/426/107 283/427/107 +f 285/425/107 283/427/107 286/428/107 +f 289/429/108 288/430/108 287/431/108 +f 289/429/108 287/431/108 290/432/108 +f 293/433/109 292/434/109 291/435/109 +f 293/433/109 291/435/109 294/436/109 +f 294/437/110 291/438/110 287/439/110 +f 294/437/110 287/439/110 288/440/110 +f 293/441/111 289/442/111 290/443/111 +f 293/441/111 290/443/111 292/444/111 +f 299/445/112 298/446/112 297/447/112 +f 299/445/112 297/447/112 300/448/112 +f 303/449/113 302/450/113 301/451/113 +f 303/449/113 301/451/113 304/452/113 +f 306/453/114 305/454/114 302/455/114 +f 306/453/114 302/455/114 303/456/114 +f 307/457/115 304/458/115 301/459/115 +f 307/457/115 301/459/115 308/460/115 +f 8/461/116 310/462/116 309/463/116 +f 8/461/116 309/463/116 311/464/116 +f 306/465/117 307/466/117 308/467/117 +f 306/465/117 308/467/117 305/468/117 +f 310/469/118 313/470/118 312/471/118 +f 310/469/118 312/471/118 309/472/118 +f 8/473/119 311/474/119 314/475/119 +f 8/473/119 314/475/119 315/476/119 +f 315/477/120 314/478/120 312/479/120 +f 315/477/120 312/479/120 313/480/120 +f 311/481/121 309/482/121 289/483/121 +f 311/481/121 289/483/121 293/484/121 +f 317/485/122 316/486/122 295/487/122 +f 317/485/122 295/487/122 296/488/122 +f 311/489/123 293/490/123 294/491/123 +f 311/489/123 294/491/123 314/492/123 +f 314/493/124 294/494/124 288/495/124 +f 314/493/124 288/495/124 312/496/124 +f 290/497/125 287/498/125 300/499/125 +f 290/497/125 300/499/125 316/500/125 +f 309/501/126 312/502/126 288/503/126 +f 309/501/126 288/503/126 289/504/126 +f 292/505/127 290/506/127 316/507/127 +f 292/505/127 316/507/127 317/508/127 +f 292/509/128 317/510/128 299/511/128 +f 292/509/128 299/511/128 291/512/128 +f 291/513/129 299/514/129 300/515/129 +f 291/513/129 300/515/129 287/516/129 +f 316/517/130 300/518/130 297/519/130 +f 316/517/130 297/519/130 295/520/130 +f 317/521/131 296/522/131 298/523/131 +f 317/521/131 298/523/131 299/524/131 +f 318/525/132 303/526/132 304/527/132 +f 318/525/132 304/527/132 319/528/132 +f 320/529/133 306/530/133 303/531/133 +f 320/529/133 303/531/133 318/532/133 +f 320/533/134 321/534/134 307/535/134 +f 320/533/134 307/535/134 306/536/134 +f 308/537/135 301/538/135 313/539/135 +f 308/537/135 313/539/135 310/540/135 +f 321/541/136 319/542/136 304/543/136 +f 321/541/136 304/543/136 307/544/136 +f 305/545/137 308/546/137 310/547/137 +f 305/545/137 310/547/137 8/548/137 +f 305/549/138 8/550/138 315/551/138 +f 305/549/138 315/551/138 302/552/138 +f 302/553/139 315/554/139 313/555/139 +f 302/553/139 313/555/139 301/556/139 +f 323/557/140 322/558/140 321/559/140 +f 323/557/140 321/559/140 320/560/140 +f 322/561/141 324/562/141 319/563/141 +f 322/561/141 319/563/141 321/564/141 +f 323/565/142 320/566/142 318/567/142 +f 323/565/142 318/567/142 325/568/142 +f 325/569/143 318/570/143 319/571/143 +f 325/569/143 319/571/143 324/572/143 +f 329/573/144 328/574/144 327/575/144 +f 329/573/144 327/575/144 330/576/144 +f 333/577/145 332/578/145 331/579/145 +f 333/577/145 331/579/145 334/580/145 +f 337/581/146 336/582/146 335/583/146 +f 337/581/146 335/583/146 338/584/146 +f 341/585/147 340/586/147 339/587/147 +f 341/585/147 339/587/147 342/588/147 +f 345/589/148 344/590/148 343/591/148 +f 345/589/148 343/591/148 346/592/148 +f 349/593/149 348/594/149 347/595/149 +f 349/593/149 347/595/149 350/596/149 +f 353/597/150 352/598/150 351/599/150 +f 353/597/150 351/599/150 354/600/150 +f 357/601/151 356/602/151 355/603/151 +f 357/601/151 355/603/151 358/604/151 +f 361/605/152 360/606/152 359/607/152 +f 361/605/152 359/607/152 362/608/152 +f 365/609/153 364/610/153 363/611/153 +f 365/609/153 363/611/153 366/612/153 +f 369/613/154 368/614/154 367/615/154 +f 369/613/154 367/615/154 370/616/154 +f 373/617/155 372/618/155 371/619/155 +f 373/617/155 371/619/155 374/620/155 +f 377/621/156 376/622/156 375/623/156 +f 377/621/156 375/623/156 378/624/156 +f 381/625/157 380/626/157 379/627/157 +f 381/625/157 379/627/157 382/628/157 +f 385/629/158 384/630/158 383/631/158 +f 385/629/158 383/631/158 386/632/158 +f 389/633/159 388/634/159 387/635/159 +f 389/633/159 387/635/159 390/636/159 +f 393/637/160 392/638/160 391/639/160 +f 393/637/160 391/639/160 394/640/160 +f 397/641/161 396/642/161 395/643/161 +f 397/641/161 395/643/161 398/644/161 +f 401/645/162 400/646/162 399/647/162 +f 401/645/162 399/647/162 402/648/162 +f 405/649/163 404/650/163 403/651/163 +f 405/649/163 403/651/163 406/652/163 +f 408/653/164 407/654/164 326/655/164 +f 408/653/164 326/655/164 409/656/164 +f 412/657/165 411/658/165 410/659/165 +f 412/657/165 410/659/165 413/660/165 +f 416/661/166 415/662/166 414/663/166 +f 416/661/166 414/663/166 417/664/166 +f 420/665/167 419/666/167 418/667/167 +f 420/665/167 418/667/167 421/668/167 +f 424/669/168 423/670/168 422/671/168 +f 424/669/168 422/671/168 425/672/168 +f 428/673/169 427/674/169 426/675/169 +f 428/673/169 426/675/169 429/676/169 +f 432/677/170 431/678/170 430/679/170 +f 432/677/170 430/679/170 433/680/170 +f 436/681/171 435/682/171 434/683/171 +f 436/681/171 434/683/171 437/684/171 +f 440/685/172 439/686/172 438/687/172 +f 440/685/172 438/687/172 441/688/172 +f 444/689/173 443/690/173 442/691/173 +f 444/689/173 442/691/173 445/692/173 +f 448/693/174 447/694/174 446/695/174 +f 448/693/174 446/695/174 449/696/174 +f 452/697/175 451/698/175 450/699/175 +f 452/697/175 450/699/175 453/700/175 +f 456/701/176 455/702/176 454/703/176 +f 456/701/176 454/703/176 457/704/176 +f 460/705/177 459/706/177 458/707/177 +f 460/705/177 458/707/177 461/708/177 +f 464/709/178 463/710/178 462/711/178 +f 464/709/178 462/711/178 465/712/178 +f 468/713/179 467/714/179 466/715/179 +f 468/713/179 466/715/179 469/716/179 +f 472/717/180 471/718/180 470/719/180 +f 472/717/180 470/719/180 473/720/180 +f 476/721/181 475/722/181 474/723/181 +f 476/721/181 474/723/181 477/724/181 +f 472/725/182 473/726/182 478/727/182 +f 472/725/182 478/727/182 479/728/182 +f 479/729/183 478/730/183 480/731/183 +f 479/729/183 480/731/183 481/732/183 +f 483/733/184 482/734/184 470/735/184 +f 483/733/184 470/735/184 480/736/184 +f 473/737/185 485/738/185 484/739/185 +f 473/737/185 484/739/185 478/740/185 +f 478/741/186 484/742/186 483/743/186 +f 478/741/186 483/743/186 480/744/186 +f 480/745/187 470/746/187 471/747/187 +f 480/745/187 471/747/187 481/748/187 +f 473/749/188 470/750/188 482/751/188 +f 473/749/188 482/751/188 485/752/188 +f 475/753/189 487/754/189 486/755/189 +f 475/753/189 486/755/189 474/756/189 +f 476/757/190 477/758/190 488/759/190 +f 476/757/190 488/759/190 489/760/190 +f 489/761/191 488/762/191 486/763/191 +f 489/761/191 486/763/191 487/764/191 +f 482/765/192 483/766/192 487/767/192 +f 482/765/192 487/767/192 475/768/192 +f 485/769/193 482/770/193 475/771/193 +f 485/769/193 475/771/193 476/772/193 +f 485/773/194 476/774/194 489/775/194 +f 485/773/194 489/775/194 484/776/194 +f 484/777/195 489/778/195 487/779/195 +f 484/777/195 487/779/195 483/780/195 +f 472/781/196 479/782/196 481/783/196 +f 472/781/196 481/783/196 471/784/196 +f 492/785/197 491/786/197 490/787/197 +f 492/785/197 490/787/197 493/788/197 +f 496/789/198 495/790/198 494/791/198 +f 496/789/198 494/791/198 497/792/198 +f 500/793/199 499/794/199 498/795/199 +f 500/793/199 498/795/199 501/796/199 +f 504/797/200 503/798/200 502/799/200 +f 504/797/200 502/799/200 505/800/200 +f 508/801/201 507/802/201 506/803/201 +f 508/801/201 506/803/201 509/804/201 +f 512/805/202 511/806/202 510/807/202 +f 512/805/202 510/807/202 513/808/202 +f 516/809/203 515/810/203 514/811/203 +f 516/809/203 514/811/203 517/812/203 +f 520/813/204 519/814/204 518/815/204 +f 520/813/204 518/815/204 521/816/204 +f 524/817/205 523/818/205 522/819/205 +f 524/817/205 522/819/205 525/820/205 +f 528/821/206 527/822/206 526/823/206 +f 528/821/206 526/823/206 529/824/206 +f 532/825/207 531/826/207 530/827/207 +f 532/825/207 530/827/207 533/828/207 +f 536/829/208 535/830/208 534/831/208 +f 536/829/208 534/831/208 537/832/208 +f 540/833/209 539/834/209 538/835/209 +f 540/833/209 538/835/209 541/836/209 +f 544/837/210 543/838/210 542/839/210 +f 544/837/210 542/839/210 545/840/210 +f 548/841/211 547/842/211 546/843/211 +f 548/841/211 546/843/211 549/844/211 +f 552/845/212 551/846/212 550/847/212 +f 552/845/212 550/847/212 553/848/212 +f 556/849/213 555/850/213 554/851/213 +f 556/849/213 554/851/213 557/852/213 +f 560/853/214 559/854/214 558/855/214 +f 560/853/214 558/855/214 561/856/214 +f 564/857/215 563/858/215 562/859/215 +f 564/857/215 562/859/215 565/860/215 +f 565/861/216 562/862/216 558/863/216 +f 565/861/216 558/863/216 559/864/216 +f 564/865/217 560/866/217 561/867/217 +f 564/865/217 561/867/217 563/868/217 +f 568/869/218 567/870/218 566/871/218 +f 568/869/218 566/871/218 569/872/218 +f 571/873/219 570/874/219 566/875/219 +f 571/873/219 566/875/219 567/876/219 +f 574/877/220 573/878/220 572/879/220 +f 574/877/220 572/879/220 575/880/220 +f 576/881/221 575/882/221 572/883/221 +f 576/881/221 572/883/221 577/884/221 +f 580/885/222 579/886/222 578/887/222 +f 580/885/222 578/887/222 581/888/222 +f 583/889/223 582/890/223 576/891/223 +f 583/889/223 576/891/223 584/892/223 +f 579/893/224 586/894/224 585/895/224 +f 579/893/224 585/895/224 578/896/224 +f 580/897/225 581/898/225 587/899/225 +f 580/897/225 587/899/225 588/900/225 +f 588/901/226 587/902/226 585/903/226 +f 588/901/226 585/903/226 586/904/226 +f 591/905/227 590/906/227 589/907/227 +f 591/905/227 589/907/227 592/908/227 +f 595/909/228 594/910/228 593/911/228 +f 595/909/228 593/911/228 596/912/228 +f 599/913/229 598/914/229 597/915/229 +f 599/913/229 597/915/229 600/916/229 +f 600/917/230 597/918/230 593/919/230 +f 600/917/230 593/919/230 594/920/230 +f 603/921/231 602/922/231 601/923/231 +f 603/921/231 601/923/231 604/924/231 +f 605/925/232 604/926/232 601/927/232 +f 605/925/232 601/927/232 606/928/232 +f 609/929/233 608/930/233 607/931/233 +f 609/929/233 607/931/233 610/932/233 +f 612/933/234 611/934/234 605/935/234 +f 612/933/234 605/935/234 613/936/234 +f 608/937/235 615/938/235 614/939/235 +f 608/937/235 614/939/235 607/940/235 +f 609/941/236 610/942/236 616/943/236 +f 609/941/236 616/943/236 617/944/236 +f 617/945/237 616/946/237 614/947/237 +f 617/945/237 614/947/237 615/948/237 +f 599/949/238 595/950/238 596/951/238 +f 599/949/238 596/951/238 598/952/238 +f 620/953/239 619/954/239 618/955/239 +f 620/953/239 618/955/239 621/956/239 +f 624/957/240 623/958/240 622/959/240 +f 624/957/240 622/959/240 625/960/240 +f 627/961/241 626/962/241 623/963/241 +f 627/961/241 623/963/241 624/964/241 +f 628/965/242 625/966/242 622/967/242 +f 628/965/242 622/967/242 629/968/242 +f 632/969/243 631/970/243 630/971/243 +f 632/969/243 630/971/243 633/972/243 +f 627/973/244 628/974/244 629/975/244 +f 627/973/244 629/975/244 626/976/244 +f 631/977/245 635/978/245 634/979/245 +f 631/977/245 634/979/245 630/980/245 +f 632/981/246 633/982/246 636/983/246 +f 632/981/246 636/983/246 637/984/246 +f 637/985/247 636/986/247 634/987/247 +f 637/985/247 634/987/247 635/988/247 +f 581/989/248 578/990/248 560/991/248 +f 581/989/248 560/991/248 564/992/248 +f 633/993/249 630/994/249 595/995/249 +f 633/993/249 595/995/249 599/996/249 +f 581/997/250 564/998/250 565/999/250 +f 581/997/250 565/999/250 587/1000/250 +f 587/1001/251 565/1002/251 559/1003/251 +f 587/1001/251 559/1003/251 585/1004/251 +f 561/1005/252 558/1006/252 638/1007/252 +f 561/1005/252 638/1007/252 555/1008/252 +f 578/1009/253 585/1010/253 559/1011/253 +f 578/1009/253 559/1011/253 560/1012/253 +f 563/1013/254 561/1014/254 555/1015/254 +f 563/1013/254 555/1015/254 556/1016/254 +f 563/1017/255 556/1018/255 639/1019/255 +f 563/1017/255 639/1019/255 562/1020/255 +f 562/1021/256 639/1022/256 638/1023/256 +f 562/1021/256 638/1023/256 558/1024/256 +f 610/1025/257 607/1026/257 568/1027/257 +f 610/1025/257 568/1027/257 640/1028/257 +f 642/1029/258 641/1030/258 582/1031/258 +f 642/1029/258 582/1031/258 583/1032/258 +f 610/1033/259 640/1034/259 571/1035/259 +f 610/1033/259 571/1035/259 616/1036/259 +f 616/1037/260 571/1038/260 567/1039/260 +f 616/1037/260 567/1039/260 614/1040/260 +f 640/1041/261 643/1042/261 570/1043/261 +f 640/1041/261 570/1043/261 571/1044/261 +f 584/1045/262 644/1046/262 573/1047/262 +f 584/1045/262 573/1047/262 574/1048/262 +f 590/1049/263 574/1050/263 575/1051/263 +f 590/1049/263 575/1051/263 589/1052/263 +f 583/1053/264 584/1054/264 574/1055/264 +f 583/1053/264 574/1055/264 590/1056/264 +f 577/1057/265 572/1058/265 586/1059/265 +f 577/1057/265 586/1059/265 579/1060/265 +f 582/1061/266 589/1062/266 575/1063/266 +f 582/1061/266 575/1063/266 576/1064/266 +f 584/1065/267 576/1066/267 577/1067/267 +f 584/1065/267 577/1067/267 644/1068/267 +f 644/1069/268 577/1070/268 579/1071/268 +f 644/1069/268 579/1071/268 580/1072/268 +f 644/1073/269 580/1074/269 588/1075/269 +f 644/1073/269 588/1075/269 573/1076/269 +f 573/1077/270 588/1078/270 586/1079/270 +f 573/1077/270 586/1079/270 572/1080/270 +f 569/1081/271 566/1082/271 592/1083/271 +f 569/1081/271 592/1083/271 641/1084/271 +f 607/1085/272 614/1086/272 567/1087/272 +f 607/1085/272 567/1087/272 568/1088/272 +f 640/1089/273 568/1090/273 569/1091/273 +f 640/1089/273 569/1091/273 643/1092/273 +f 643/1093/274 569/1094/274 641/1095/274 +f 643/1093/274 641/1095/274 642/1096/274 +f 643/1097/275 642/1098/275 591/1099/275 +f 643/1097/275 591/1099/275 570/1100/275 +f 570/1101/276 591/1102/276 592/1103/276 +f 570/1101/276 592/1103/276 566/1104/276 +f 641/1105/277 592/1106/277 589/1107/277 +f 641/1105/277 589/1107/277 582/1108/277 +f 642/1109/278 583/1110/278 590/1111/278 +f 642/1109/278 590/1111/278 591/1112/278 +f 646/1113/279 645/1114/279 611/1115/279 +f 646/1113/279 611/1115/279 612/1116/279 +f 633/1117/280 599/1118/280 600/1119/280 +f 633/1117/280 600/1119/280 636/1120/280 +f 636/1121/281 600/1122/281 594/1123/281 +f 636/1121/281 594/1123/281 634/1124/281 +f 613/1125/282 647/1126/282 602/1127/282 +f 613/1125/282 602/1127/282 603/1128/282 +f 619/1129/283 603/1130/283 604/1131/283 +f 619/1129/283 604/1131/283 618/1132/283 +f 612/1133/284 613/1134/284 603/1135/284 +f 612/1133/284 603/1135/284 619/1136/284 +f 606/1137/285 601/1138/285 615/1139/285 +f 606/1137/285 615/1139/285 608/1140/285 +f 611/1141/286 618/1142/286 604/1143/286 +f 611/1141/286 604/1143/286 605/1144/286 +f 613/1145/287 605/1146/287 606/1147/287 +f 613/1145/287 606/1147/287 647/1148/287 +f 647/1149/288 606/1150/288 608/1151/288 +f 647/1149/288 608/1151/288 609/1152/288 +f 647/1153/289 609/1154/289 617/1155/289 +f 647/1153/289 617/1155/289 602/1156/289 +f 602/1157/290 617/1158/290 615/1159/290 +f 602/1157/290 615/1159/290 601/1160/290 +f 596/1161/291 593/1162/291 621/1163/291 +f 596/1161/291 621/1163/291 645/1164/291 +f 630/1165/292 634/1166/292 594/1167/292 +f 630/1165/292 594/1167/292 595/1168/292 +f 598/1169/293 596/1170/293 645/1171/293 +f 598/1169/293 645/1171/293 646/1172/293 +f 598/1173/294 646/1174/294 620/1175/294 +f 598/1173/294 620/1175/294 597/1176/294 +f 597/1177/295 620/1178/295 621/1179/295 +f 597/1177/295 621/1179/295 593/1180/295 +f 645/1181/296 621/1182/296 618/1183/296 +f 645/1181/296 618/1183/296 611/1184/296 +f 646/1185/297 612/1186/297 619/1187/297 +f 646/1185/297 619/1187/297 620/1188/297 +f 648/1189/298 624/1190/298 625/1191/298 +f 648/1189/298 625/1191/298 649/1192/298 +f 650/1193/299 627/1194/299 624/1195/299 +f 650/1193/299 624/1195/299 648/1196/299 +f 650/1197/300 651/1198/300 628/1199/300 +f 650/1197/300 628/1199/300 627/1200/300 +f 629/1201/301 622/1202/301 635/1203/301 +f 629/1201/301 635/1203/301 631/1204/301 +f 651/1205/302 649/1206/302 625/1207/302 +f 651/1205/302 625/1207/302 628/1208/302 +f 626/1209/303 629/1210/303 631/1211/303 +f 626/1209/303 631/1211/303 632/1212/303 +f 626/1213/304 632/1214/304 637/1215/304 +f 626/1213/304 637/1215/304 623/1216/304 +f 623/1217/305 637/1218/305 635/1219/305 +f 623/1217/305 635/1219/305 622/1220/305 +f 653/1221/306 652/1222/306 651/1223/306 +f 653/1221/306 651/1223/306 650/1224/306 +f 652/1225/307 654/1226/307 649/1227/307 +f 652/1225/307 649/1227/307 651/1228/307 +f 653/1229/308 650/1230/308 648/1231/308 +f 653/1229/308 648/1231/308 655/1232/308 +f 655/1233/309 648/1234/309 649/1235/309 +f 655/1233/309 649/1235/309 654/1236/309 +f 656/1237/310 557/1238/310 554/1239/310 +f 656/1237/310 554/1239/310 657/1240/310 +f 657/1241/311 554/1242/311 555/1243/311 +f 657/1241/311 555/1243/311 638/1244/311 +f 556/1245/312 557/1246/312 656/1247/312 +f 556/1245/312 656/1247/312 639/1248/312 +f 639/1249/313 656/1250/313 657/1251/313 +f 639/1249/313 657/1251/313 638/1252/313 +f 660/1253/314 659/1254/314 658/1255/314 +f 660/1253/314 658/1255/314 661/1256/314 +f 662/1257/315 661/1258/315 658/1259/315 +f 662/1257/315 658/1259/315 663/1260/315 +f 666/1261/316 665/1262/316 664/1263/316 +f 666/1261/316 664/1263/316 667/1264/316 +f 665/1265/317 669/1266/317 668/1267/317 +f 665/1265/317 668/1267/317 664/1268/317 +f 666/1269/318 667/1270/318 670/1271/318 +f 666/1269/318 670/1271/318 671/1272/318 +f 671/1273/319 670/1274/319 668/1275/319 +f 671/1273/319 668/1275/319 669/1276/319 +f 673/1277/320 672/1278/320 659/1279/320 +f 673/1277/320 659/1279/320 660/1280/320 +f 674/1281/321 660/1282/321 661/1283/321 +f 674/1281/321 661/1283/321 675/1284/321 +f 676/1285/322 673/1286/322 660/1287/322 +f 676/1285/322 660/1287/322 674/1288/322 +f 676/1289/323 677/1290/323 662/1291/323 +f 676/1289/323 662/1291/323 673/1292/323 +f 663/1293/324 658/1294/324 669/1295/324 +f 663/1293/324 669/1295/324 665/1296/324 +f 677/1297/325 675/1298/325 661/1299/325 +f 677/1297/325 661/1299/325 662/1300/325 +f 673/1301/326 662/1302/326 663/1303/326 +f 673/1301/326 663/1303/326 672/1304/326 +f 672/1305/327 663/1306/327 665/1307/327 +f 672/1305/327 665/1307/327 666/1308/327 +f 672/1309/328 666/1310/328 671/1311/328 +f 672/1309/328 671/1311/328 659/1312/328 +f 669/1313/329 658/1314/329 659/1315/329 +f 669/1313/329 659/1315/329 671/1316/329 +f 679/1317/330 678/1318/330 677/1319/330 +f 679/1317/330 677/1319/330 676/1320/330 +f 678/1321/331 680/1322/331 675/1323/331 +f 678/1321/331 675/1323/331 677/1324/331 +f 679/1325/332 676/1326/332 674/1327/332 +f 679/1325/332 674/1327/332 681/1328/332 +f 681/1329/333 674/1330/333 675/1331/333 +f 681/1329/333 675/1331/333 680/1332/333 +f 664/1333/334 668/1334/334 670/1335/334 +f 664/1333/334 670/1335/334 667/1336/334 +f 685/1337/335 684/1338/335 683/1339/335 +f 685/1337/335 683/1339/335 686/1340/335 +f 689/1341/336 688/1342/336 687/1343/336 +f 689/1341/336 687/1343/336 690/1344/336 +f 693/1345/337 692/1346/337 691/1347/337 +f 693/1345/337 691/1347/337 694/1348/337 +f 697/1349/338 696/1350/338 695/1351/338 +f 697/1349/338 695/1351/338 698/1352/338 +f 701/1353/339 700/1354/339 699/1355/339 +f 701/1353/339 699/1355/339 702/1356/339 +f 705/1357/340 704/1358/340 703/1359/340 +f 705/1357/340 703/1359/340 706/1360/340 +f 709/1361/341 708/1362/341 707/1363/341 +f 709/1361/341 707/1363/341 710/1364/341 +f 713/1365/342 712/1366/342 711/1367/342 +f 713/1365/342 711/1367/342 714/1368/342 +f 717/1369/343 716/1370/343 715/1371/343 +f 717/1369/343 715/1371/343 718/1372/343 +f 721/1373/344 720/1374/344 719/1375/344 +f 721/1373/344 719/1375/344 722/1376/344 +f 725/1377/345 724/1378/345 723/1379/345 +f 725/1377/345 723/1379/345 726/1380/345 +f 729/1381/346 728/1382/346 727/1383/346 +f 729/1381/346 727/1383/346 730/1384/346 +f 733/1385/347 732/1386/347 731/1387/347 +f 733/1385/347 731/1387/347 734/1388/347 +f 737/1389/348 736/1390/348 735/1391/348 +f 737/1389/348 735/1391/348 738/1392/348 +f 741/1393/349 740/1394/349 739/1395/349 +f 741/1393/349 739/1395/349 742/1396/349 +f 745/1397/350 744/1398/350 743/1399/350 +f 745/1397/350 743/1399/350 746/1400/350 +f 749/1401/351 748/1402/351 747/1403/351 +f 749/1401/351 747/1403/351 750/1404/351 +f 753/1405/352 752/1406/352 751/1407/352 +f 753/1405/352 751/1407/352 754/1408/352 +f 757/1409/353 756/1410/353 755/1411/353 +f 757/1409/353 755/1411/353 758/1412/353 +f 761/1413/354 760/1414/354 759/1415/354 +f 761/1413/354 759/1415/354 762/1416/354 +f 765/1417/355 764/1418/355 763/1419/355 +f 765/1417/355 763/1419/355 766/1420/355 +f 769/1421/356 768/1422/356 767/1423/356 +f 769/1421/356 767/1423/356 770/1424/356 +f 773/1425/357 772/1426/357 771/1427/357 +f 773/1425/357 771/1427/357 774/1428/357 +f 777/1429/358 776/1430/358 775/1431/358 +f 777/1429/358 775/1431/358 778/1432/358 +f 781/1433/359 780/1434/359 779/1435/359 +f 781/1433/359 779/1435/359 782/1436/359 +f 785/1437/360 784/1438/360 783/1439/360 +f 785/1437/360 783/1439/360 786/1440/360 +f 789/1441/361 788/1442/361 787/1443/361 +f 789/1441/361 787/1443/361 790/1444/361 +f 793/1445/362 792/1446/362 791/1447/362 +f 793/1445/362 791/1447/362 794/1448/362 +f 797/1449/363 796/1450/363 795/1451/363 +f 797/1449/363 795/1451/363 798/1452/363 +f 801/1453/364 800/1454/364 799/1455/364 +f 801/1453/364 799/1455/364 802/1456/364 +f 805/1457/365 804/1458/365 803/1459/365 +f 805/1457/365 803/1459/365 806/1460/365 +f 809/1461/366 808/1462/366 807/1463/366 +f 809/1461/366 807/1463/366 810/1464/366 +f 813/1465/367 812/1466/367 811/1467/367 +f 813/1465/367 811/1467/367 814/1468/367 +f 817/1469/368 816/1470/368 815/1471/368 +f 817/1469/368 815/1471/368 818/1472/368 +f 821/1473/369 820/1474/369 819/1475/369 +f 821/1473/369 819/1475/369 822/1476/369 +f 825/1477/370 824/1478/370 823/1479/370 +f 825/1477/370 823/1479/370 6/1480/370 +f 828/1481/371 827/1482/371 826/1483/371 +f 828/1481/371 826/1483/371 829/1484/371 +f 832/1485/372 831/1486/372 830/1487/372 +f 832/1485/372 830/1487/372 833/1488/372 +f 836/1489/373 835/1490/373 834/1491/373 +f 836/1489/373 834/1491/373 837/1492/373 +f 840/1493/374 839/1494/374 838/1495/374 +f 840/1493/374 838/1495/374 841/1496/374 +f 844/1497/375 843/1498/375 842/1499/375 +f 844/1497/375 842/1499/375 845/1500/375 +f 848/1501/376 847/1502/376 846/1503/376 +f 848/1501/376 846/1503/376 849/1504/376 +f 852/1505/377 851/1506/377 850/1507/377 +f 852/1505/377 850/1507/377 853/1508/377 +f 856/1509/378 855/1510/378 854/1511/378 +f 856/1509/378 854/1511/378 857/1512/378 +f 860/1513/379 859/1514/379 858/1515/379 +f 860/1513/379 858/1515/379 861/1516/379 +f 864/1517/380 863/1518/380 862/1519/380 +f 864/1517/380 862/1519/380 865/1520/380 +f 868/1521/381 867/1522/381 866/1523/381 +f 868/1521/381 866/1523/381 869/1524/381 +f 872/1525/382 871/1526/382 870/1527/382 +f 872/1525/382 870/1527/382 873/1528/382 +f 876/1529/383 875/1530/383 874/1531/383 +f 876/1529/383 874/1531/383 877/1532/383 +f 880/1533/384 879/1534/384 878/1535/384 +f 880/1533/384 878/1535/384 881/1536/384 +f 884/1537/385 883/1538/385 882/1539/385 +f 884/1537/385 882/1539/385 885/1540/385 +f 888/1541/386 887/1542/386 886/1543/386 +f 888/1541/386 886/1543/386 889/1544/386 +f 892/1545/387 891/1546/387 890/1547/387 +f 892/1545/387 890/1547/387 893/1548/387 +f 896/1549/388 895/1550/388 894/1551/388 +f 896/1549/388 894/1551/388 897/1552/388 +f 900/1553/389 899/1554/389 898/1555/389 +f 900/1553/389 898/1555/389 901/1556/389 +f 904/1557/390 903/1558/390 902/1559/390 +f 904/1557/390 902/1559/390 905/1560/390 +f 908/1561/391 907/1562/391 906/1563/391 +f 908/1561/391 906/1563/391 909/1564/391 +f 912/1565/392 911/1566/392 910/1567/392 +f 912/1565/392 910/1567/392 913/1568/392 +f 916/1569/393 915/1570/393 914/1571/393 +f 916/1569/393 914/1571/393 917/1572/393 +f 920/1573/394 919/1574/394 918/1575/394 +f 920/1573/394 918/1575/394 921/1576/394 +f 924/1577/395 923/1578/395 922/1579/395 +f 924/1577/395 922/1579/395 925/1580/395 +f 928/1581/396 927/1582/396 926/1583/396 +f 928/1581/396 926/1583/396 929/1584/396 +f 932/1585/397 931/1586/397 930/1587/397 +f 932/1585/397 930/1587/397 933/1588/397 +f 936/1589/398 935/1590/398 934/1591/398 +f 936/1589/398 934/1591/398 937/1592/398 +f 940/1593/399 939/1594/399 938/1595/399 +f 940/1593/399 938/1595/399 941/1596/399 +f 944/1597/400 943/1598/400 942/1599/400 +f 944/1597/400 942/1599/400 945/1600/400 +f 948/1601/401 947/1602/401 946/1603/401 +f 948/1601/401 946/1603/401 949/1604/401 +f 952/1605/402 951/1606/402 950/1607/402 +f 952/1605/402 950/1607/402 953/1608/402 +f 956/1609/403 955/1610/403 954/1611/403 +f 956/1609/403 954/1611/403 957/1612/403 +f 960/1613/404 959/1614/404 958/1615/404 +f 960/1613/404 958/1615/404 961/1616/404 +f 964/1617/405 963/1618/405 962/1619/405 +f 964/1617/405 962/1619/405 965/1620/405 +f 968/1621/406 967/1622/406 966/1623/406 +f 968/1621/406 966/1623/406 969/1624/406 +f 972/1625/407 971/1626/407 970/1627/407 +f 972/1625/407 970/1627/407 973/1628/407 +f 976/1629/408 975/1630/408 974/1631/408 +f 976/1629/408 974/1631/408 977/1632/408 +f 980/1633/409 979/1634/409 978/1635/409 +f 980/1633/409 978/1635/409 981/1636/409 +f 984/1637/410 983/1638/410 982/1639/410 +f 984/1637/410 982/1639/410 985/1640/410 +f 988/1641/411 987/1642/411 986/1643/411 +f 988/1641/411 986/1643/411 989/1644/411 +f 992/1645/412 991/1646/412 990/1647/412 +f 992/1645/412 990/1647/412 993/1648/412 +f 996/1649/413 995/1650/413 994/1651/413 +f 996/1649/413 994/1651/413 997/1652/413 +f 1000/1653/414 999/1654/414 998/1655/414 +f 1000/1653/414 998/1655/414 1001/1656/414 +f 1003/1657/415 1002/1658/415 682/1659/415 +f 1003/1657/415 682/1659/415 1004/1660/415 +f 1007/1661/416 1006/1662/416 1005/1663/416 +f 1007/1661/416 1005/1663/416 1008/1664/416 +f 1011/1665/417 1010/1666/417 1009/1667/417 +f 1011/1665/417 1009/1667/417 1012/1668/417 +f 1015/1669/418 1014/1670/418 1013/1671/418 +f 1015/1669/418 1013/1671/418 1016/1672/418 +f 1019/1673/419 1018/1674/419 1017/1675/419 +f 1019/1673/419 1017/1675/419 1020/1676/419 +f 1023/1677/420 1022/1678/420 1021/1679/420 +f 1023/1677/420 1021/1679/420 1024/1680/420 +f 1027/1681/421 1026/1682/421 1025/1683/421 +f 1027/1681/421 1025/1683/421 1028/1684/421 +f 1031/1685/422 1030/1686/422 1029/1687/422 +f 1031/1685/422 1029/1687/422 1032/1688/422 +f 1035/1689/423 1034/1690/423 1033/1691/423 +f 1035/1689/423 1033/1691/423 1036/1692/423 +f 1039/1693/424 1038/1694/424 1037/1695/424 +f 1039/1693/424 1037/1695/424 1040/1696/424 +f 1043/1697/425 1042/1698/425 1041/1699/425 +f 1043/1697/425 1041/1699/425 1044/1700/425 +f 1047/1701/426 1046/1702/426 1045/1703/426 +f 1047/1701/426 1045/1703/426 1048/1704/426 +f 1051/1705/427 1050/1706/427 1049/1707/427 +f 1051/1705/427 1049/1707/427 1052/1708/427 +f 1055/1709/428 1054/1710/428 1053/1711/428 +f 1055/1709/428 1053/1711/428 1056/1712/428 +f 1059/1713/429 1058/1714/429 1057/1715/429 +f 1059/1713/429 1057/1715/429 1060/1716/429 +f 1063/1717/430 1062/1718/430 1061/1719/430 +f 1063/1717/430 1061/1719/430 1064/1720/430 +f 1067/1721/431 1066/1722/431 1065/1723/431 +f 1067/1721/431 1065/1723/431 1068/1724/431 +f 1071/1725/432 1070/1726/432 1069/1727/432 +f 1071/1725/432 1069/1727/432 1072/1728/432 +f 1075/1729/433 1074/1730/433 1073/1731/433 +f 1075/1729/433 1073/1731/433 1076/1732/433 +f 1079/1733/434 1078/1734/434 1077/1735/434 +f 1079/1733/434 1077/1735/434 1080/1736/434 +f 1083/1737/435 1082/1738/435 1081/1739/435 +f 1083/1737/435 1081/1739/435 1084/1740/435 +f 1087/1741/436 1086/1742/436 1085/1743/436 +f 1087/1741/436 1085/1743/436 1088/1744/436 +f 1091/1745/437 1090/1746/437 1089/1747/437 +f 1091/1745/437 1089/1747/437 1092/1748/437 +f 1095/1749/438 1094/1750/438 1093/1751/438 +f 1095/1749/438 1093/1751/438 1096/1752/438 +f 1099/1753/439 1098/1754/439 1097/1755/439 +f 1099/1753/439 1097/1755/439 1100/1756/439 +f 1103/1757/440 1102/1758/440 1101/1759/440 +f 1103/1757/440 1101/1759/440 1104/1760/440 +f 1107/1761/441 1106/1762/441 1105/1763/441 +f 1107/1761/441 1105/1763/441 1108/1764/441 +f 1111/1765/442 1110/1766/442 1109/1767/442 +f 1111/1765/442 1109/1767/442 1112/1768/442 +f 1115/1769/443 1114/1770/443 1113/1771/443 +f 1115/1769/443 1113/1771/443 1116/1772/443 +f 1119/1773/444 1118/1774/444 1117/1775/444 +f 1119/1773/444 1117/1775/444 1120/1776/444 +f 1123/1777/445 1122/1778/445 1121/1779/445 +f 1123/1777/445 1121/1779/445 1124/1780/445 +f 1127/1781/446 1126/1782/446 1125/1783/446 +f 1127/1781/446 1125/1783/446 1128/1784/446 +f 1131/1785/447 1130/1786/447 1129/1787/447 +f 1131/1785/447 1129/1787/447 1132/1788/447 +f 1135/1789/448 1134/1790/448 1133/1791/448 +f 1135/1789/448 1133/1791/448 1136/1792/448 +f 1139/1793/449 1138/1794/449 1137/1795/449 +f 1139/1793/449 1137/1795/449 1140/1796/449 +f 1143/1797/450 1142/1798/450 1141/1799/450 +f 1143/1797/450 1141/1799/450 1144/1800/450 +f 1147/1801/451 1146/1802/451 1145/1803/451 +f 1147/1801/451 1145/1803/451 1148/1804/451 +f 1151/1805/452 1150/1806/452 1149/1807/452 +f 1151/1805/452 1149/1807/452 1152/1808/452 +f 1155/1809/453 1154/1810/453 1153/1811/453 +f 1155/1809/453 1153/1811/453 1156/1812/453 +f 1159/1813/454 1158/1814/454 1157/1815/454 +f 1159/1813/454 1157/1815/454 1160/1816/454 +f 1163/1817/455 1162/1818/455 1161/1819/455 +f 1163/1817/455 1161/1819/455 1164/1820/455 +f 1167/1821/456 1166/1822/456 1165/1823/456 +f 1167/1821/456 1165/1823/456 1168/1824/456 +f 1163/1825/457 1164/1826/457 1169/1827/457 +f 1163/1825/457 1169/1827/457 1170/1828/457 +f 1170/1829/458 1169/1830/458 1171/1831/458 +f 1170/1829/458 1171/1831/458 1172/1832/458 +f 1174/1833/459 1173/1834/459 1161/1835/459 +f 1174/1833/459 1161/1835/459 1171/1836/459 +f 1164/1837/460 1176/1838/460 1175/1839/460 +f 1164/1837/460 1175/1839/460 1169/1840/460 +f 1169/1841/461 1175/1842/461 1174/1843/461 +f 1169/1841/461 1174/1843/461 1171/1844/461 +f 1171/1845/462 1161/1846/462 1162/1847/462 +f 1171/1845/462 1162/1847/462 1172/1848/462 +f 1164/1849/463 1161/1850/463 1173/1851/463 +f 1164/1849/463 1173/1851/463 1176/1852/463 +f 1166/1853/464 1178/1854/464 1177/1855/464 +f 1166/1853/464 1177/1855/464 1165/1856/464 +f 1167/1857/465 1168/1858/465 1179/1859/465 +f 1167/1857/465 1179/1859/465 1180/1860/465 +f 1180/1861/466 1179/1862/466 1177/1863/466 +f 1180/1861/466 1177/1863/466 1178/1864/466 +f 1173/1865/467 1174/1866/467 1178/1867/467 +f 1173/1865/467 1178/1867/467 1166/1868/467 +f 1176/1869/468 1173/1870/468 1166/1871/468 +f 1176/1869/468 1166/1871/468 1167/1872/468 +f 1176/1873/469 1167/1874/469 1180/1875/469 +f 1176/1873/469 1180/1875/469 1175/1876/469 +f 1175/1877/470 1180/1878/470 1178/1879/470 +f 1175/1877/470 1178/1879/470 1174/1880/470 +f 1163/1881/471 1170/1882/471 1172/1883/471 +f 1163/1881/471 1172/1883/471 1162/1884/471 +f 1183/1885/472 1182/1886/472 1181/1887/472 +f 1183/1885/472 1181/1887/472 1184/1888/472 +f 1187/1889/473 1186/1890/473 1185/1891/473 +f 1187/1889/473 1185/1891/473 1188/1892/473 +f 1191/1893/474 1190/1894/474 1189/1895/474 +f 1191/1893/474 1189/1895/474 1192/1896/474 +f 1195/1897/475 1194/1898/475 1193/1899/475 +f 1195/1897/475 1193/1899/475 1196/1900/475 +f 1199/1901/476 1198/1902/476 1197/1903/476 +f 1199/1901/476 1197/1903/476 1200/1904/476 +f 1203/1905/477 1202/1906/477 1201/1907/477 +f 1203/1905/477 1201/1907/477 1204/1908/477 +f 1207/1909/478 1206/1910/478 1205/1911/478 +f 1207/1909/478 1205/1911/478 1208/1912/478 +f 1211/1913/479 1210/1914/479 1209/1915/479 +f 1211/1913/479 1209/1915/479 1212/1916/479 +f 1215/1917/480 1214/1918/480 1213/1919/480 +f 1215/1917/480 1213/1919/480 1216/1920/480 +f 1219/1921/481 1218/1922/481 1217/1923/481 +f 1219/1921/481 1217/1923/481 1220/1924/481 +f 1223/1925/482 1222/1926/482 1221/1927/482 +f 1223/1925/482 1221/1927/482 1224/1928/482 +f 1227/1929/483 1226/1930/483 1225/1931/483 +f 1227/1929/483 1225/1931/483 1228/1932/483 +f 1231/1933/484 1230/1934/484 1229/1935/484 +f 1231/1933/484 1229/1935/484 1232/1936/484 +f 1235/1937/485 1234/1938/485 1233/1939/485 +f 1235/1937/485 1233/1939/485 1236/1940/485 +f 1239/1941/486 1238/1942/486 1237/1943/486 +f 1239/1941/486 1237/1943/486 1240/1944/486 +f 1243/1945/487 1242/1946/487 1241/1947/487 +f 1243/1945/487 1241/1947/487 1244/1948/487 +f 1247/1949/488 1246/1950/488 1245/1951/488 +f 1247/1949/488 1245/1951/488 1248/1952/488 +f 1251/1953/489 1250/1954/489 1249/1955/489 +f 1251/1953/489 1249/1955/489 1252/1956/489 +f 1255/1957/490 1254/1958/490 1253/1959/490 +f 1255/1957/490 1253/1959/490 1256/1960/490 +f 1256/1961/491 1253/1962/491 1249/1963/491 +f 1256/1961/491 1249/1963/491 1250/1964/491 +f 1255/1965/492 1251/1966/492 1252/1967/492 +f 1255/1965/492 1252/1967/492 1254/1968/492 +f 1259/1969/493 1258/1970/493 1257/1971/493 +f 1259/1969/493 1257/1971/493 1260/1972/493 +f 1262/1973/494 1261/1974/494 1257/1975/494 +f 1262/1973/494 1257/1975/494 1258/1976/494 +f 1265/1977/495 1264/1978/495 1263/1979/495 +f 1265/1977/495 1263/1979/495 1266/1980/495 +f 1267/1981/496 1266/1982/496 1263/1983/496 +f 1267/1981/496 1263/1983/496 1268/1984/496 +f 1271/1985/497 1270/1986/497 1269/1987/497 +f 1271/1985/497 1269/1987/497 1272/1988/497 +f 1274/1989/498 1273/1990/498 1267/1991/498 +f 1274/1989/498 1267/1991/498 1275/1992/498 +f 1270/1993/499 1277/1994/499 1276/1995/499 +f 1270/1993/499 1276/1995/499 1269/1996/499 +f 1271/1997/500 1272/1998/500 1278/1999/500 +f 1271/1997/500 1278/1999/500 1279/2000/500 +f 1279/2001/501 1278/2002/501 1276/2003/501 +f 1279/2001/501 1276/2003/501 1277/2004/501 +f 1282/2005/502 1281/2006/502 1280/2007/502 +f 1282/2005/502 1280/2007/502 1283/2008/502 +f 1286/2009/503 1285/2010/503 1284/2011/503 +f 1286/2009/503 1284/2011/503 1287/2012/503 +f 1290/2013/504 1289/2014/504 1288/2015/504 +f 1290/2013/504 1288/2015/504 1291/2016/504 +f 1291/2017/505 1288/2018/505 1284/2019/505 +f 1291/2017/505 1284/2019/505 1285/2020/505 +f 1294/2021/506 1293/2022/506 1292/2023/506 +f 1294/2021/506 1292/2023/506 1295/2024/506 +f 1296/2025/507 1295/2026/507 1292/2027/507 +f 1296/2025/507 1292/2027/507 1297/2028/507 +f 1300/2029/508 1299/2030/508 1298/2031/508 +f 1300/2029/508 1298/2031/508 1301/2032/508 +f 1303/2033/509 1302/2034/509 1296/2035/509 +f 1303/2033/509 1296/2035/509 1304/2036/509 +f 1299/2037/510 1306/2038/510 1305/2039/510 +f 1299/2037/510 1305/2039/510 1298/2040/510 +f 1300/2041/511 1301/2042/511 1307/2043/511 +f 1300/2041/511 1307/2043/511 1308/2044/511 +f 1308/2045/512 1307/2046/512 1305/2047/512 +f 1308/2045/512 1305/2047/512 1306/2048/512 +f 1290/2049/513 1286/2050/513 1287/2051/513 +f 1290/2049/513 1287/2051/513 1289/2052/513 +f 1311/2053/514 1310/2054/514 1309/2055/514 +f 1311/2053/514 1309/2055/514 1312/2056/514 +f 1315/2057/515 1314/2058/515 1313/2059/515 +f 1315/2057/515 1313/2059/515 1316/2060/515 +f 1318/2061/516 1317/2062/516 1314/2063/516 +f 1318/2061/516 1314/2063/516 1315/2064/516 +f 1319/2065/517 1316/2066/517 1313/2067/517 +f 1319/2065/517 1313/2067/517 1320/2068/517 +f 1323/2069/518 1322/2070/518 1321/2071/518 +f 1323/2069/518 1321/2071/518 1324/2072/518 +f 1318/2073/519 1319/2074/519 1320/2075/519 +f 1318/2073/519 1320/2075/519 1317/2076/519 +f 1322/2077/520 1326/2078/520 1325/2079/520 +f 1322/2077/520 1325/2079/520 1321/2080/520 +f 1323/2081/521 1324/2082/521 1327/2083/521 +f 1323/2081/521 1327/2083/521 1328/2084/521 +f 1328/2085/522 1327/2086/522 1325/2087/522 +f 1328/2085/522 1325/2087/522 1326/2088/522 +f 1272/2089/523 1269/2090/523 1251/2091/523 +f 1272/2089/523 1251/2091/523 1255/2092/523 +f 1324/2093/524 1321/2094/524 1286/2095/524 +f 1324/2093/524 1286/2095/524 1290/2096/524 +f 1272/2097/525 1255/2098/525 1256/2099/525 +f 1272/2097/525 1256/2099/525 1278/2100/525 +f 1278/2101/526 1256/2102/526 1250/2103/526 +f 1278/2101/526 1250/2103/526 1276/2104/526 +f 1252/2105/527 1249/2106/527 1329/2107/527 +f 1252/2105/527 1329/2107/527 1246/2108/527 +f 1269/2109/528 1276/2110/528 1250/2111/528 +f 1269/2109/528 1250/2111/528 1251/2112/528 +f 1254/2113/529 1252/2114/529 1246/2115/529 +f 1254/2113/529 1246/2115/529 1247/2116/529 +f 1254/2117/530 1247/2118/530 1330/2119/530 +f 1254/2117/530 1330/2119/530 1253/2120/530 +f 1253/2121/531 1330/2122/531 1329/2123/531 +f 1253/2121/531 1329/2123/531 1249/2124/531 +f 1301/2125/532 1298/2126/532 1259/2127/532 +f 1301/2125/532 1259/2127/532 1331/2128/532 +f 1333/2129/533 1332/2130/533 1273/2131/533 +f 1333/2129/533 1273/2131/533 1274/2132/533 +f 1301/2133/534 1331/2134/534 1262/2135/534 +f 1301/2133/534 1262/2135/534 1307/2136/534 +f 1307/2137/535 1262/2138/535 1258/2139/535 +f 1307/2137/535 1258/2139/535 1305/2140/535 +f 1331/2141/536 1334/2142/536 1261/2143/536 +f 1331/2141/536 1261/2143/536 1262/2144/536 +f 1275/2145/537 1335/2146/537 1264/2147/537 +f 1275/2145/537 1264/2147/537 1265/2148/537 +f 1281/2149/538 1265/2150/538 1266/2151/538 +f 1281/2149/538 1266/2151/538 1280/2152/538 +f 1274/2153/539 1275/2154/539 1265/2155/539 +f 1274/2153/539 1265/2155/539 1281/2156/539 +f 1268/2157/540 1263/2158/540 1277/2159/540 +f 1268/2157/540 1277/2159/540 1270/2160/540 +f 1273/2161/541 1280/2162/541 1266/2163/541 +f 1273/2161/541 1266/2163/541 1267/2164/541 +f 1275/2165/542 1267/2166/542 1268/2167/542 +f 1275/2165/542 1268/2167/542 1335/2168/542 +f 1335/2169/543 1268/2170/543 1270/2171/543 +f 1335/2169/543 1270/2171/543 1271/2172/543 +f 1335/2173/544 1271/2174/544 1279/2175/544 +f 1335/2173/544 1279/2175/544 1264/2176/544 +f 1264/2177/545 1279/2178/545 1277/2179/545 +f 1264/2177/545 1277/2179/545 1263/2180/545 +f 1260/2181/546 1257/2182/546 1283/2183/546 +f 1260/2181/546 1283/2183/546 1332/2184/546 +f 1298/2185/547 1305/2186/547 1258/2187/547 +f 1298/2185/547 1258/2187/547 1259/2188/547 +f 1331/2189/548 1259/2190/548 1260/2191/548 +f 1331/2189/548 1260/2191/548 1334/2192/548 +f 1334/2193/549 1260/2194/549 1332/2195/549 +f 1334/2193/549 1332/2195/549 1333/2196/549 +f 1334/2197/550 1333/2198/550 1282/2199/550 +f 1334/2197/550 1282/2199/550 1261/2200/550 +f 1261/2201/551 1282/2202/551 1283/2203/551 +f 1261/2201/551 1283/2203/551 1257/2204/551 +f 1332/2205/552 1283/2206/552 1280/2207/552 +f 1332/2205/552 1280/2207/552 1273/2208/552 +f 1333/2209/553 1274/2210/553 1281/2211/553 +f 1333/2209/553 1281/2211/553 1282/2212/553 +f 1337/2213/554 1336/2214/554 1302/2215/554 +f 1337/2213/554 1302/2215/554 1303/2216/554 +f 1324/2217/555 1290/2218/555 1291/2219/555 +f 1324/2217/555 1291/2219/555 1327/2220/555 +f 1327/2221/556 1291/2222/556 1285/2223/556 +f 1327/2221/556 1285/2223/556 1325/2224/556 +f 1304/2225/557 1338/2226/557 1293/2227/557 +f 1304/2225/557 1293/2227/557 1294/2228/557 +f 1310/2229/558 1294/2230/558 1295/2231/558 +f 1310/2229/558 1295/2231/558 1309/2232/558 +f 1303/2233/559 1304/2234/559 1294/2235/559 +f 1303/2233/559 1294/2235/559 1310/2236/559 +f 1297/2237/560 1292/2238/560 1306/2239/560 +f 1297/2237/560 1306/2239/560 1299/2240/560 +f 1302/2241/561 1309/2242/561 1295/2243/561 +f 1302/2241/561 1295/2243/561 1296/2244/561 +f 1304/2245/562 1296/2246/562 1297/2247/562 +f 1304/2245/562 1297/2247/562 1338/2248/562 +f 1338/2249/563 1297/2250/563 1299/2251/563 +f 1338/2249/563 1299/2251/563 1300/2252/563 +f 1338/2253/564 1300/2254/564 1308/2255/564 +f 1338/2253/564 1308/2255/564 1293/2256/564 +f 1293/2257/565 1308/2258/565 1306/2259/565 +f 1293/2257/565 1306/2259/565 1292/2260/565 +f 1287/2261/566 1284/2262/566 1312/2263/566 +f 1287/2261/566 1312/2263/566 1336/2264/566 +f 1321/2265/567 1325/2266/567 1285/2267/567 +f 1321/2265/567 1285/2267/567 1286/2268/567 +f 1289/2269/568 1287/2270/568 1336/2271/568 +f 1289/2269/568 1336/2271/568 1337/2272/568 +f 1289/2273/569 1337/2274/569 1311/2275/569 +f 1289/2273/569 1311/2275/569 1288/2276/569 +f 1288/2277/570 1311/2278/570 1312/2279/570 +f 1288/2277/570 1312/2279/570 1284/2280/570 +f 1336/2281/571 1312/2282/571 1309/2283/571 +f 1336/2281/571 1309/2283/571 1302/2284/571 +f 1337/2285/572 1303/2286/572 1310/2287/572 +f 1337/2285/572 1310/2287/572 1311/2288/572 +f 1339/2289/573 1315/2290/573 1316/2291/573 +f 1339/2289/573 1316/2291/573 1340/2292/573 +f 1341/2293/574 1318/2294/574 1315/2295/574 +f 1341/2293/574 1315/2295/574 1339/2296/574 +f 1341/2297/575 1342/2298/575 1319/2299/575 +f 1341/2297/575 1319/2299/575 1318/2300/575 +f 1320/2301/576 1313/2302/576 1326/2303/576 +f 1320/2301/576 1326/2303/576 1322/2304/576 +f 1342/2305/577 1340/2306/577 1316/2307/577 +f 1342/2305/577 1316/2307/577 1319/2308/577 +f 1317/2309/578 1320/2310/578 1322/2311/578 +f 1317/2309/578 1322/2311/578 1323/2312/578 +f 1317/2313/579 1323/2314/579 1328/2315/579 +f 1317/2313/579 1328/2315/579 1314/2316/579 +f 1314/2317/580 1328/2318/580 1326/2319/580 +f 1314/2317/580 1326/2319/580 1313/2320/580 +f 1344/2321/581 1343/2322/581 1342/2323/581 +f 1344/2321/581 1342/2323/581 1341/2324/581 +f 1343/2325/582 1345/2326/582 1340/2327/582 +f 1343/2325/582 1340/2327/582 1342/2328/582 +f 1344/2329/583 1341/2330/583 1339/2331/583 +f 1344/2329/583 1339/2331/583 1346/2332/583 +f 1346/2333/584 1339/2334/584 1340/2335/584 +f 1346/2333/584 1340/2335/584 1345/2336/584 +f 1347/2337/585 1248/2338/585 1245/2339/585 +f 1347/2337/585 1245/2339/585 1348/2340/585 +f 1348/2341/586 1245/2342/586 1246/2343/586 +f 1348/2341/586 1246/2343/586 1329/2344/586 +f 1247/2345/587 1248/2346/587 1347/2347/587 +f 1247/2345/587 1347/2347/587 1330/2348/587 +f 1330/2349/588 1347/2350/588 1348/2351/588 +f 1330/2349/588 1348/2351/588 1329/2352/588 +f 1351/2353/589 1350/2354/589 1349/2355/589 +f 1351/2353/589 1349/2355/589 1352/2356/589 +f 1353/2357/590 1352/2358/590 1349/2359/590 +f 1353/2357/590 1349/2359/590 1354/2360/590 +f 1357/2361/591 1356/2362/591 1355/2363/591 +f 1357/2361/591 1355/2363/591 1358/2364/591 +f 1356/2365/592 1360/2366/592 1359/2367/592 +f 1356/2365/592 1359/2367/592 1355/2368/592 +f 1357/2369/593 1358/2370/593 1361/2371/593 +f 1357/2369/593 1361/2371/593 1362/2372/593 +f 1362/2373/594 1361/2374/594 1359/2375/594 +f 1362/2373/594 1359/2375/594 1360/2376/594 +f 1364/2377/595 1363/2378/595 1350/2379/595 +f 1364/2377/595 1350/2379/595 1351/2380/595 +f 1365/2381/596 1351/2382/596 1352/2383/596 +f 1365/2381/596 1352/2383/596 1366/2384/596 +f 1367/2385/597 1364/2386/597 1351/2387/597 +f 1367/2385/597 1351/2387/597 1365/2388/597 +f 1367/2389/598 1368/2390/598 1353/2391/598 +f 1367/2389/598 1353/2391/598 1364/2392/598 +f 1354/2393/599 1349/2394/599 1360/2395/599 +f 1354/2393/599 1360/2395/599 1356/2396/599 +f 1368/2397/600 1366/2398/600 1352/2399/600 +f 1368/2397/600 1352/2399/600 1353/2400/600 +f 1364/2401/601 1353/2402/601 1354/2403/601 +f 1364/2401/601 1354/2403/601 1363/2404/601 +f 1363/2405/602 1354/2406/602 1356/2407/602 +f 1363/2405/602 1356/2407/602 1357/2408/602 +f 1363/2409/603 1357/2410/603 1362/2411/603 +f 1363/2409/603 1362/2411/603 1350/2412/603 +f 1360/2413/604 1349/2414/604 1350/2415/604 +f 1360/2413/604 1350/2415/604 1362/2416/604 +f 1370/2417/605 1369/2418/605 1368/2419/605 +f 1370/2417/605 1368/2419/605 1367/2420/605 +f 1369/2421/606 1371/2422/606 1366/2423/606 +f 1369/2421/606 1366/2423/606 1368/2424/606 +f 1370/2425/607 1367/2426/607 1365/2427/607 +f 1370/2425/607 1365/2427/607 1372/2428/607 +f 1372/2429/608 1365/2430/608 1366/2431/608 +f 1372/2429/608 1366/2431/608 1371/2432/608 +f 1355/2433/609 1359/2434/609 1361/2435/609 +f 1355/2433/609 1361/2435/609 1358/2436/609 +f 1376/2437/610 1375/2438/610 1374/2439/610 +f 1376/2437/610 1374/2439/610 1377/2440/610 +f 1380/2441/611 1379/2442/611 1378/2443/611 +f 1380/2441/611 1378/2443/611 1381/2444/611 +f 1384/2445/612 1383/2446/612 1382/2447/612 +f 1384/2445/612 1382/2447/612 1385/2448/612 +f 1388/2449/613 1387/2450/613 1386/2451/613 +f 1388/2449/613 1386/2451/613 1389/2452/613 +f 1392/2453/614 1391/2454/614 1390/2455/614 +f 1392/2453/614 1390/2455/614 1393/2456/614 +f 1396/2457/615 1395/2458/615 1394/2459/615 +f 1396/2457/615 1394/2459/615 1397/2460/615 +f 1400/2461/616 1399/2462/616 1398/2463/616 +f 1400/2461/616 1398/2463/616 1401/2464/616 +f 1404/2465/617 1403/2466/617 1402/2467/617 +f 1404/2465/617 1402/2467/617 1405/2468/617 +f 1408/2469/618 1407/2470/618 1406/2471/618 +f 1408/2469/618 1406/2471/618 1409/2472/618 +f 1412/2473/619 1411/2474/619 1410/2475/619 +f 1412/2473/619 1410/2475/619 1413/2476/619 +f 1416/2477/620 1415/2478/620 1414/2479/620 +f 1416/2477/620 1414/2479/620 1417/2480/620 +f 1420/2481/621 1419/2482/621 1418/2483/621 +f 1420/2481/621 1418/2483/621 1421/2484/621 +f 1424/2485/622 1423/2486/622 1422/2487/622 +f 1424/2485/622 1422/2487/622 1425/2488/622 +f 1428/2489/623 1427/2490/623 1426/2491/623 +f 1428/2489/623 1426/2491/623 1429/2492/623 +f 1432/2493/624 1431/2494/624 1430/2495/624 +f 1432/2493/624 1430/2495/624 1433/2496/624 +f 1436/2497/625 1435/2498/625 1434/2499/625 +f 1436/2497/625 1434/2499/625 1437/2500/625 +f 1440/2501/626 1439/2502/626 1438/2503/626 +f 1440/2501/626 1438/2503/626 1441/2504/626 +f 1444/2505/627 1443/2506/627 1442/2507/627 +f 1444/2505/627 1442/2507/627 1445/2508/627 +f 1448/2509/628 1447/2510/628 1446/2511/628 +f 1448/2509/628 1446/2511/628 1449/2512/628 +f 1452/2513/629 1451/2514/629 1450/2515/629 +f 1452/2513/629 1450/2515/629 1453/2516/629 +f 1456/2517/630 1455/2518/630 1454/2519/630 +f 1456/2517/630 1454/2519/630 1457/2520/630 +f 1460/2521/631 1459/2522/631 1458/2523/631 +f 1460/2521/631 1458/2523/631 1461/2524/631 +f 1464/2525/632 1463/2526/632 1462/2527/632 +f 1464/2525/632 1462/2527/632 1465/2528/632 +f 1468/2529/633 1467/2530/633 1466/2531/633 +f 1468/2529/633 1466/2531/633 1469/2532/633 +f 1472/2533/634 1471/2534/634 1470/2535/634 +f 1472/2533/634 1470/2535/634 1473/2536/634 +f 1476/2537/635 1475/2538/635 1474/2539/635 +f 1476/2537/635 1474/2539/635 1477/2540/635 +f 1480/2541/636 1479/2542/636 1478/2543/636 +f 1480/2541/636 1478/2543/636 1481/2544/636 +f 1484/2545/637 1483/2546/637 1482/2547/637 +f 1484/2545/637 1482/2547/637 1485/2548/637 +f 1488/2549/638 1487/2550/638 1486/2551/638 +f 1488/2549/638 1486/2551/638 1489/2552/638 +f 1492/2553/639 1491/2554/639 1490/2555/639 +f 1492/2553/639 1490/2555/639 1493/2556/639 +f 1496/2557/640 1495/2558/640 1494/2559/640 +f 1496/2557/640 1494/2559/640 1497/2560/640 +f 1500/2561/641 1499/2562/641 1498/2563/641 +f 1500/2561/641 1498/2563/641 1501/2564/641 +f 1504/2565/642 1503/2566/642 1502/2567/642 +f 1504/2565/642 1502/2567/642 1505/2568/642 +f 1508/2569/643 1507/2570/643 1506/2571/643 +f 1508/2569/643 1506/2571/643 1509/2572/643 +f 1512/2573/644 1511/2574/644 1510/2575/644 +f 1512/2573/644 1510/2575/644 1513/2576/644 +f 1516/2577/645 1515/2578/645 1514/2579/645 +f 1516/2577/645 1514/2579/645 1517/2580/645 +f 1520/2581/646 1519/2582/646 1518/2583/646 +f 1520/2581/646 1518/2583/646 1521/2584/646 +f 1524/2585/647 1523/2586/647 1522/2587/647 +f 1524/2585/647 1522/2587/647 1525/2588/647 +f 1528/2589/648 1527/2590/648 1526/2591/648 +f 1528/2589/648 1526/2591/648 1529/2592/648 +f 1532/2593/649 1531/2594/649 1530/2595/649 +f 1532/2593/649 1530/2595/649 1533/2596/649 +f 1536/2597/650 1535/2598/650 1534/2599/650 +f 1536/2597/650 1534/2599/650 1537/2600/650 +f 1540/2601/651 1539/2602/651 1538/2603/651 +f 1540/2601/651 1538/2603/651 1541/2604/651 +f 1544/2605/652 1543/2606/652 1542/2607/652 +f 1544/2605/652 1542/2607/652 1545/2608/652 +f 1548/2609/653 1547/2610/653 1546/2611/653 +f 1548/2609/653 1546/2611/653 1549/2612/653 +f 1552/2613/654 1551/2614/654 1550/2615/654 +f 1552/2613/654 1550/2615/654 1553/2616/654 +f 1556/2617/655 1555/2618/655 1554/2619/655 +f 1556/2617/655 1554/2619/655 1557/2620/655 +f 1560/2621/656 1559/2622/656 1558/2623/656 +f 1560/2621/656 1558/2623/656 1561/2624/656 +f 1564/2625/657 1563/2626/657 1562/2627/657 +f 1564/2625/657 1562/2627/657 1565/2628/657 +f 1568/2629/658 1567/2630/658 1566/2631/658 +f 1568/2629/658 1566/2631/658 1569/2632/658 +f 1572/2633/659 1571/2634/659 1570/2635/659 +f 1572/2633/659 1570/2635/659 1573/2636/659 +f 1576/2637/660 1575/2638/660 1574/2639/660 +f 1576/2637/660 1574/2639/660 1577/2640/660 +f 1580/2641/661 1579/2642/661 1578/2643/661 +f 1580/2641/661 1578/2643/661 1581/2644/661 +f 1584/2645/662 1583/2646/662 1582/2647/662 +f 1584/2645/662 1582/2647/662 1585/2648/662 +f 1588/2649/663 1587/2650/663 1586/2651/663 +f 1588/2649/663 1586/2651/663 1589/2652/663 +f 1592/2653/664 1591/2654/664 1590/2655/664 +f 1592/2653/664 1590/2655/664 1593/2656/664 +f 1596/2657/665 1595/2658/665 1594/2659/665 +f 1596/2657/665 1594/2659/665 1597/2660/665 +f 1600/2661/666 1599/2662/666 1598/2663/666 +f 1600/2661/666 1598/2663/666 1601/2664/666 +f 1604/2665/667 1603/2666/667 1602/2667/667 +f 1604/2665/667 1602/2667/667 1605/2668/667 +f 1608/2669/668 1607/2670/668 1606/2671/668 +f 1608/2669/668 1606/2671/668 1609/2672/668 +f 1612/2673/669 1611/2674/669 1610/2675/669 +f 1612/2673/669 1610/2675/669 1613/2676/669 +f 1616/2677/670 1615/2678/670 1614/2679/670 +f 1616/2677/670 1614/2679/670 1617/2680/670 +f 1620/2681/671 1619/2682/671 1618/2683/671 +f 1620/2681/671 1618/2683/671 1621/2684/671 +f 1624/2685/672 1623/2686/672 1622/2687/672 +f 1624/2685/672 1622/2687/672 1625/2688/672 +f 1628/2689/673 1627/2690/673 1626/2691/673 +f 1628/2689/673 1626/2691/673 1629/2692/673 +f 1632/2693/674 1631/2694/674 1630/2695/674 +f 1632/2693/674 1630/2695/674 1633/2696/674 +f 1636/2697/675 1635/2698/675 1634/2699/675 +f 1636/2697/675 1634/2699/675 1637/2700/675 +f 1640/2701/676 1639/2702/676 1638/2703/676 +f 1640/2701/676 1638/2703/676 1641/2704/676 +f 1644/2705/677 1643/2706/677 1642/2707/677 +f 1644/2705/677 1642/2707/677 1645/2708/677 +f 1648/2709/678 1647/2710/678 1646/2711/678 +f 1648/2709/678 1646/2711/678 1649/2712/678 +f 1652/2713/679 1651/2714/679 1650/2715/679 +f 1652/2713/679 1650/2715/679 1653/2716/679 +f 1656/2717/680 1655/2718/680 1654/2719/680 +f 1656/2717/680 1654/2719/680 1657/2720/680 +f 1660/2721/681 1659/2722/681 1658/2723/681 +f 1660/2721/681 1658/2723/681 1661/2724/681 +f 1664/2725/682 1663/2726/682 1662/2727/682 +f 1664/2725/682 1662/2727/682 1665/2728/682 +f 1668/2729/683 1667/2730/683 1666/2731/683 +f 1668/2729/683 1666/2731/683 1669/2732/683 +f 1672/2733/684 1671/2734/684 1670/2735/684 +f 1672/2733/684 1670/2735/684 1673/2736/684 +f 1676/2737/685 1675/2738/685 1674/2739/685 +f 1676/2737/685 1674/2739/685 1677/2740/685 +f 1680/2741/686 1679/2742/686 1678/2743/686 +f 1680/2741/686 1678/2743/686 1681/2744/686 +f 1684/2745/687 1683/2746/687 1682/2747/687 +f 1684/2745/687 1682/2747/687 1685/2748/687 +f 1688/2749/688 1687/2750/688 1686/2751/688 +f 1688/2749/688 1686/2751/688 1689/2752/688 +f 1692/2753/689 1691/2754/689 1690/2755/689 +f 1692/2753/689 1690/2755/689 1693/2756/689 +f 1695/2757/690 1694/2758/690 1373/2759/690 +f 1695/2757/690 1373/2759/690 1696/2760/690 +f 1699/2761/691 1698/2762/691 1697/2763/691 +f 1699/2761/691 1697/2763/691 1700/2764/691 +f 1703/2765/692 1702/2766/692 1701/2767/692 +f 1703/2765/692 1701/2767/692 1704/2768/692 +f 1707/2769/693 1706/2770/693 1705/2771/693 +f 1707/2769/693 1705/2771/693 1708/2772/693 +f 1711/2773/694 1710/2774/694 1709/2775/694 +f 1711/2773/694 1709/2775/694 1712/2776/694 +f 1715/2777/695 1714/2778/695 1713/2779/695 +f 1715/2777/695 1713/2779/695 1716/2780/695 +f 1719/2781/696 1718/2782/696 1717/2783/696 +f 1719/2781/696 1717/2783/696 1720/2784/696 +f 1723/2785/697 1722/2786/697 1721/2787/697 +f 1723/2785/697 1721/2787/697 1724/2788/697 +f 1727/2789/698 1726/2790/698 1725/2791/698 +f 1727/2789/698 1725/2791/698 1728/2792/698 +f 1731/2793/699 1730/2794/699 1729/2795/699 +f 1731/2793/699 1729/2795/699 1732/2796/699 +f 1735/2797/700 1734/2798/700 1733/2799/700 +f 1735/2797/700 1733/2799/700 1736/2800/700 +f 1739/2801/701 1738/2802/701 1737/2803/701 +f 1739/2801/701 1737/2803/701 1740/2804/701 +f 1743/2805/702 1742/2806/702 1741/2807/702 +f 1743/2805/702 1741/2807/702 1744/2808/702 +f 1747/2809/703 1746/2810/703 1745/2811/703 +f 1747/2809/703 1745/2811/703 1748/2812/703 +f 1751/2813/704 1750/2814/704 1749/2815/704 +f 1751/2813/704 1749/2815/704 1752/2816/704 +f 1755/2817/705 1754/2818/705 1753/2819/705 +f 1755/2817/705 1753/2819/705 1756/2820/705 +f 1759/2821/706 1758/2822/706 1757/2823/706 +f 1759/2821/706 1757/2823/706 1760/2824/706 +f 1763/2825/707 1762/2826/707 1761/2827/707 +f 1763/2825/707 1761/2827/707 1764/2828/707 +f 1767/2829/708 1766/2830/708 1765/2831/708 +f 1767/2829/708 1765/2831/708 1768/2832/708 +f 1771/2833/709 1770/2834/709 1769/2835/709 +f 1771/2833/709 1769/2835/709 1772/2836/709 +f 1775/2837/710 1774/2838/710 1773/2839/710 +f 1775/2837/710 1773/2839/710 1776/2840/710 +f 1779/2841/711 1778/2842/711 1777/2843/711 +f 1779/2841/711 1777/2843/711 1780/2844/711 +f 1783/2845/712 1782/2846/712 1781/2847/712 +f 1783/2845/712 1781/2847/712 1784/2848/712 +f 1787/2849/713 1786/2850/713 1785/2851/713 +f 1787/2849/713 1785/2851/713 1788/2852/713 +f 1791/2853/714 1790/2854/714 1789/2855/714 +f 1791/2853/714 1789/2855/714 1792/2856/714 +f 1795/2857/715 1794/2858/715 1793/2859/715 +f 1795/2857/715 1793/2859/715 1796/2860/715 +f 1799/2861/716 1798/2862/716 1797/2863/716 +f 1799/2861/716 1797/2863/716 1800/2864/716 +f 1803/2865/717 1802/2866/717 1801/2867/717 +f 1803/2865/717 1801/2867/717 1804/2868/717 +f 1807/2869/718 1806/2870/718 1805/2871/718 +f 1807/2869/718 1805/2871/718 1808/2872/718 +f 1811/2873/719 1810/2874/719 1809/2875/719 +f 1811/2873/719 1809/2875/719 1812/2876/719 +f 1815/2877/720 1814/2878/720 1813/2879/720 +f 1815/2877/720 1813/2879/720 1816/2880/720 +f 1819/2881/721 1818/2882/721 1817/2883/721 +f 1819/2881/721 1817/2883/721 1820/2884/721 +f 1823/2885/722 1822/2886/722 1821/2887/722 +f 1823/2885/722 1821/2887/722 1824/2888/722 +f 1827/2889/723 1826/2890/723 1825/2891/723 +f 1827/2889/723 1825/2891/723 1828/2892/723 +f 1831/2893/724 1830/2894/724 1829/2895/724 +f 1831/2893/724 1829/2895/724 1832/2896/724 +f 1835/2897/725 1834/2898/725 1833/2899/725 +f 1835/2897/725 1833/2899/725 1836/2900/725 +f 1839/2901/726 1838/2902/726 1837/2903/726 +f 1839/2901/726 1837/2903/726 1840/2904/726 +f 1843/2905/727 1842/2906/727 1841/2907/727 +f 1843/2905/727 1841/2907/727 1844/2908/727 +f 1847/2909/728 1846/2910/728 1845/2911/728 +f 1847/2909/728 1845/2911/728 1848/2912/728 +f 1851/2913/729 1850/2914/729 1849/2915/729 +f 1851/2913/729 1849/2915/729 1852/2916/729 +f 1855/2917/730 1854/2918/730 1853/2919/730 +f 1855/2917/730 1853/2919/730 1856/2920/730 +f 1859/2921/731 1858/2922/731 1857/2923/731 +f 1859/2921/731 1857/2923/731 1860/2924/731 +f 1863/2925/732 1862/2926/732 1861/2927/732 +f 1863/2925/732 1861/2927/732 1864/2928/732 +f 1867/2929/733 1866/2930/733 1865/2931/733 +f 1867/2929/733 1865/2931/733 1868/2932/733 +f 1871/2933/734 1870/2934/734 1869/2935/734 +f 1871/2933/734 1869/2935/734 1872/2936/734 +f 1875/2937/735 1874/2938/735 1873/2939/735 +f 1875/2937/735 1873/2939/735 1876/2940/735 +f 1879/2941/736 1878/2942/736 1877/2943/736 +f 1879/2941/736 1877/2943/736 1880/2944/736 +f 1883/2945/737 1882/2946/737 1881/2947/737 +f 1883/2945/737 1881/2947/737 1884/2948/737 +f 1887/2949/738 1886/2950/738 1885/2951/738 +f 1887/2949/738 1885/2951/738 1888/2952/738 +f 1891/2953/739 1890/2954/739 1889/2955/739 +f 1891/2953/739 1889/2955/739 1892/2956/739 +f 1895/2957/740 1894/2958/740 1893/2959/740 +f 1895/2957/740 1893/2959/740 1896/2960/740 +f 1899/2961/741 1898/2962/741 1897/2963/741 +f 1899/2961/741 1897/2963/741 1900/2964/741 +f 1903/2965/742 1902/2966/742 1901/2967/742 +f 1903/2965/742 1901/2967/742 1904/2968/742 +f 1907/2969/743 1906/2970/743 1905/2971/743 +f 1907/2969/743 1905/2971/743 1908/2972/743 +f 1911/2973/744 1910/2974/744 1909/2975/744 +f 1911/2973/744 1909/2975/744 1912/2976/744 +f 1915/2977/745 1914/2978/745 1913/2979/745 +f 1915/2977/745 1913/2979/745 1916/2980/745 +f 1919/2981/746 1918/2982/746 1917/2983/746 +f 1919/2981/746 1917/2983/746 1920/2984/746 +f 1923/2985/747 1922/2986/747 1921/2987/747 +f 1923/2985/747 1921/2987/747 1924/2988/747 +f 1927/2989/748 1926/2990/748 1925/2991/748 +f 1927/2989/748 1925/2991/748 1928/2992/748 +f 1931/2993/749 1930/2994/749 1929/2995/749 +f 1931/2993/749 1929/2995/749 1932/2996/749 +f 1935/2997/750 1934/2998/750 1933/2999/750 +f 1935/2997/750 1933/2999/750 1936/3000/750 +f 1939/3001/751 1938/3002/751 1937/3003/751 +f 1939/3001/751 1937/3003/751 1940/3004/751 +f 1943/3005/752 1942/3006/752 1941/3007/752 +f 1943/3005/752 1941/3007/752 1944/3008/752 +f 1944/3009/753 1941/3010/753 1937/3011/753 +f 1944/3009/753 1937/3011/753 1938/3012/753 +f 1943/3013/754 1939/3014/754 1940/3015/754 +f 1943/3013/754 1940/3015/754 1942/3016/754 +f 1947/3017/755 1946/3018/755 1945/3019/755 +f 1947/3017/755 1945/3019/755 1948/3020/755 +f 1949/3021/756 1948/3022/756 1945/3023/756 +f 1949/3021/756 1945/3023/756 1950/3024/756 +f 1953/3025/757 1952/3026/757 1951/3027/757 +f 1953/3025/757 1951/3027/757 1954/3028/757 +f 1956/3029/758 1955/3030/758 1949/3031/758 +f 1956/3029/758 1949/3031/758 1957/3032/758 +f 1952/3033/759 1959/3034/759 1958/3035/759 +f 1952/3033/759 1958/3035/759 1951/3036/759 +f 1953/3037/760 1954/3038/760 1960/3039/760 +f 1953/3037/760 1960/3039/760 1961/3040/760 +f 1961/3041/761 1960/3042/761 1958/3043/761 +f 1961/3041/761 1958/3043/761 1959/3044/761 +f 1964/3045/762 1963/3046/762 1962/3047/762 +f 1964/3045/762 1962/3047/762 1965/3048/762 +f 1954/3049/763 1951/3050/763 1939/3051/763 +f 1954/3049/763 1939/3051/763 1943/3052/763 +f 1954/3053/764 1943/3054/764 1944/3055/764 +f 1954/3053/764 1944/3055/764 1960/3056/764 +f 1960/3057/765 1944/3058/765 1938/3059/765 +f 1960/3057/765 1938/3059/765 1958/3060/765 +f 1940/3061/766 1937/3062/766 1966/3063/766 +f 1940/3061/766 1966/3063/766 1934/3064/766 +f 1951/3065/767 1958/3066/767 1938/3067/767 +f 1951/3065/767 1938/3067/767 1939/3068/767 +f 1942/3069/768 1940/3070/768 1934/3071/768 +f 1942/3069/768 1934/3071/768 1935/3072/768 +f 1942/3073/769 1935/3074/769 1967/3075/769 +f 1942/3073/769 1967/3075/769 1941/3076/769 +f 1941/3077/770 1967/3078/770 1966/3079/770 +f 1941/3077/770 1966/3079/770 1937/3080/770 +f 1969/3081/771 1968/3082/771 1955/3083/771 +f 1969/3081/771 1955/3083/771 1956/3084/771 +f 1957/3085/772 1970/3086/772 1946/3087/772 +f 1957/3085/772 1946/3087/772 1947/3088/772 +f 1963/3089/773 1947/3090/773 1948/3091/773 +f 1963/3089/773 1948/3091/773 1962/3092/773 +f 1956/3093/774 1957/3094/774 1947/3095/774 +f 1956/3093/774 1947/3095/774 1963/3096/774 +f 1950/3097/775 1945/3098/775 1959/3099/775 +f 1950/3097/775 1959/3099/775 1952/3100/775 +f 1955/3101/776 1962/3102/776 1948/3103/776 +f 1955/3101/776 1948/3103/776 1949/3104/776 +f 1957/3105/777 1949/3106/777 1950/3107/777 +f 1957/3105/777 1950/3107/777 1970/3108/777 +f 1970/3109/778 1950/3110/778 1952/3111/778 +f 1970/3109/778 1952/3111/778 1953/3112/778 +f 1970/3113/779 1953/3114/779 1961/3115/779 +f 1970/3113/779 1961/3115/779 1946/3116/779 +f 1946/3117/780 1961/3118/780 1959/3119/780 +f 1946/3117/780 1959/3119/780 1945/3120/780 +f 1968/3121/781 1965/3122/781 1962/3123/781 +f 1968/3121/781 1962/3123/781 1955/3124/781 +f 1969/3125/782 1956/3126/782 1963/3127/782 +f 1969/3125/782 1963/3127/782 1964/3128/782 +f 1971/3129/783 1936/3130/783 1933/3131/783 +f 1971/3129/783 1933/3131/783 1972/3132/783 +f 1972/3133/784 1933/3134/784 1934/3135/784 +f 1972/3133/784 1934/3135/784 1966/3136/784 +f 1935/3137/785 1936/3138/785 1971/3139/785 +f 1935/3137/785 1971/3139/785 1967/3140/785 +f 1967/3141/786 1971/3142/786 1972/3143/786 +f 1967/3141/786 1972/3143/786 1966/3144/786 +f 1975/3145/787 1974/3146/787 1973/3147/787 +f 1975/3145/787 1973/3147/787 1976/3148/787 +f 1977/3149/788 1976/3150/788 1973/3151/788 +f 1977/3149/788 1973/3151/788 1978/3152/788 +f 1981/3153/789 1980/3154/789 1979/3155/789 +f 1981/3153/789 1979/3155/789 1982/3156/789 +f 1980/3157/790 1984/3158/790 1983/3159/790 +f 1980/3157/790 1983/3159/790 1979/3160/790 +f 1981/3161/791 1982/3162/791 1985/3163/791 +f 1981/3161/791 1985/3163/791 1986/3164/791 +f 1986/3165/792 1985/3166/792 1983/3167/792 +f 1986/3165/792 1983/3167/792 1984/3168/792 +f 1988/3169/793 1987/3170/793 1974/3171/793 +f 1988/3169/793 1974/3171/793 1975/3172/793 +f 1989/3173/794 1975/3174/794 1976/3175/794 +f 1989/3173/794 1976/3175/794 1990/3176/794 +f 1991/3177/795 1988/3178/795 1975/3179/795 +f 1991/3177/795 1975/3179/795 1989/3180/795 +f 1991/3181/796 1992/3182/796 1977/3183/796 +f 1991/3181/796 1977/3183/796 1988/3184/796 +f 1978/3185/797 1973/3186/797 1984/3187/797 +f 1978/3185/797 1984/3187/797 1980/3188/797 +f 1992/3189/798 1990/3190/798 1976/3191/798 +f 1992/3189/798 1976/3191/798 1977/3192/798 +f 1988/3193/799 1977/3194/799 1978/3195/799 +f 1988/3193/799 1978/3195/799 1987/3196/799 +f 1987/3197/800 1978/3198/800 1980/3199/800 +f 1987/3197/800 1980/3199/800 1981/3200/800 +f 1987/3201/801 1981/3202/801 1986/3203/801 +f 1987/3201/801 1986/3203/801 1974/3204/801 +f 1984/3205/802 1973/3206/802 1974/3207/802 +f 1984/3205/802 1974/3207/802 1986/3208/802 +f 1994/3209/803 1993/3210/803 1992/3211/803 +f 1994/3209/803 1992/3211/803 1991/3212/803 +f 1993/3213/804 1995/3214/804 1990/3215/804 +f 1993/3213/804 1990/3215/804 1992/3216/804 +f 1994/3217/805 1991/3218/805 1989/3219/805 +f 1994/3217/805 1989/3219/805 1996/3220/805 +f 1996/3221/806 1989/3222/806 1990/3223/806 +f 1996/3221/806 1990/3223/806 1995/3224/806 +f 1979/3225/807 1983/3226/807 1985/3227/807 +f 1979/3225/807 1985/3227/807 1982/3228/807 +f 1999/3229/808 1998/3230/808 1997/3231/808 +f 1999/3229/808 1997/3231/808 2000/3232/808 +f 2003/3233/809 2002/3234/809 2001/3235/809 +f 2003/3233/809 2001/3235/809 2004/3236/809 +f 2007/3237/810 2006/3238/810 2005/3239/810 +f 2007/3237/810 2005/3239/810 2008/3240/810 +f 2011/3241/811 2010/3242/811 2009/3243/811 +f 2011/3241/811 2009/3243/811 2012/3244/811 +f 2015/3245/812 2014/3246/812 2013/3247/812 +f 2015/3245/812 2013/3247/812 2016/3248/812 +f 2019/3249/813 2018/3250/813 2017/3251/813 +f 2019/3249/813 2017/3251/813 2020/3252/813 +f 2023/3253/814 2022/3254/814 2021/3255/814 +f 2023/3253/814 2021/3255/814 2024/3256/814 +f 2027/3257/815 2026/3258/815 2025/3259/815 +f 2027/3257/815 2025/3259/815 2028/3260/815 +f 2031/3261/816 2030/3262/816 2029/3263/816 +f 2031/3261/816 2029/3263/816 2032/3264/816 +f 2035/3265/817 2034/3266/817 2033/3267/817 +f 2035/3265/817 2033/3267/817 2036/3268/817 +f 2039/3269/818 2038/3270/818 2037/3271/818 +f 2039/3269/818 2037/3271/818 2040/3272/818 +f 2043/3273/819 2042/3274/819 2041/3275/819 +f 2043/3273/819 2041/3275/819 2044/3276/819 +f 2047/3277/820 2046/3278/820 2045/3279/820 +f 2047/3277/820 2045/3279/820 2048/3280/820 +f 2051/3281/821 2050/3282/821 2049/3283/821 +f 2051/3281/821 2049/3283/821 2052/3284/821 +f 2055/3285/822 2054/3286/822 2053/3287/822 +f 2055/3285/822 2053/3287/822 2056/3288/822 +f 2059/3289/823 2058/3290/823 2057/3291/823 +f 2059/3289/823 2057/3291/823 2060/3292/823 +f 2063/3293/824 2062/3294/824 2061/3295/824 +f 2063/3293/824 2061/3295/824 2064/3296/824 +f 2067/3297/825 2066/3298/825 2065/3299/825 +f 2067/3297/825 2065/3299/825 2068/3300/825 +f 2071/3301/826 2070/3302/826 2069/3303/826 +f 2071/3301/826 2069/3303/826 2072/3304/826 +f 2075/3305/827 2074/3306/827 2073/3307/827 +f 2075/3305/827 2073/3307/827 2076/3308/827 +f 2079/3309/828 2078/3310/828 2077/3311/828 +f 2079/3309/828 2077/3311/828 2080/3312/828 +f 2083/3313/829 2082/3314/829 2081/3315/829 +f 2083/3313/829 2081/3315/829 2084/3316/829 +f 2087/3317/830 2086/3318/830 2085/3319/830 +f 2087/3317/830 2085/3319/830 2088/3320/830 +f 2091/3321/831 2090/3322/831 2089/3323/831 +f 2091/3321/831 2089/3323/831 2092/3324/831 +f 2095/3325/832 2094/3326/832 2093/3327/832 +f 2095/3325/832 2093/3327/832 2096/3328/832 +f 2099/3329/833 2098/3330/833 2097/3331/833 +f 2099/3329/833 2097/3331/833 2100/3332/833 +f 2103/3333/834 2102/3334/834 2101/3335/834 +f 2103/3333/834 2101/3335/834 2104/3336/834 +f 2107/3337/835 2106/3338/835 2105/3339/835 +f 2107/3337/835 2105/3339/835 2108/3340/835 +f 2111/3341/836 2110/3342/836 2109/3343/836 +f 2111/3341/836 2109/3343/836 2112/3344/836 +f 2115/3345/837 2114/3346/837 2113/3347/837 +f 2115/3345/837 2113/3347/837 2116/3348/837 +f 2119/3349/838 2118/3350/838 2117/3351/838 +f 2119/3349/838 2117/3351/838 2120/3352/838 +f 2123/3353/839 2122/3354/839 2121/3355/839 +f 2123/3353/839 2121/3355/839 2124/3356/839 +f 2127/3357/840 2126/3358/840 2125/3359/840 +f 2127/3357/840 2125/3359/840 2128/3360/840 +f 2131/3361/841 2130/3362/841 2129/3363/841 +f 2131/3361/841 2129/3363/841 2132/3364/841 +f 2135/3365/842 2134/3366/842 2133/3367/842 +f 2135/3365/842 2133/3367/842 2136/3368/842 +f 2139/3369/843 2138/3370/843 2137/3371/843 +f 2139/3369/843 2137/3371/843 2140/3372/843 +f 2143/3373/844 2142/3374/844 2141/3375/844 +f 2143/3373/844 2141/3375/844 2144/3376/844 +f 2147/3377/845 2146/3378/845 2145/3379/845 +f 2147/3377/845 2145/3379/845 2148/3380/845 +f 2143/3381/846 2144/3382/846 2149/3383/846 +f 2143/3381/846 2149/3383/846 2150/3384/846 +f 2150/3385/847 2149/3386/847 2151/3387/847 +f 2150/3385/847 2151/3387/847 2152/3388/847 +f 2154/3389/848 2153/3390/848 2141/3391/848 +f 2154/3389/848 2141/3391/848 2151/3392/848 +f 2144/3393/849 2156/3394/849 2155/3395/849 +f 2144/3393/849 2155/3395/849 2149/3396/849 +f 2149/3397/850 2155/3398/850 2154/3399/850 +f 2149/3397/850 2154/3399/850 2151/3400/850 +f 2151/3401/851 2141/3402/851 2142/3403/851 +f 2151/3401/851 2142/3403/851 2152/3404/851 +f 2144/3405/852 2141/3406/852 2153/3407/852 +f 2144/3405/852 2153/3407/852 2156/3408/852 +f 2146/3409/853 2158/3410/853 2157/3411/853 +f 2146/3409/853 2157/3411/853 2145/3412/853 +f 2147/3413/854 2148/3414/854 2159/3415/854 +f 2147/3413/854 2159/3415/854 2160/3416/854 +f 2160/3417/855 2159/3418/855 2157/3419/855 +f 2160/3417/855 2157/3419/855 2158/3420/855 +f 2153/3421/856 2154/3422/856 2158/3423/856 +f 2153/3421/856 2158/3423/856 2146/3424/856 +f 2156/3425/857 2153/3426/857 2146/3427/857 +f 2156/3425/857 2146/3427/857 2147/3428/857 +f 2156/3429/858 2147/3430/858 2160/3431/858 +f 2156/3429/858 2160/3431/858 2155/3432/858 +f 2155/3433/859 2160/3434/859 2158/3435/859 +f 2155/3433/859 2158/3435/859 2154/3436/859 +f 2143/3437/860 2150/3438/860 2152/3439/860 +f 2143/3437/860 2152/3439/860 2142/3440/860 +f 2163/3441/861 2162/3442/861 2161/3443/861 +f 2163/3441/861 2161/3443/861 2164/3444/861 +f 2167/3445/862 2166/3446/862 2165/3447/862 +f 2167/3445/862 2165/3447/862 2168/3448/862 +f 2171/3449/863 2170/3450/863 2169/3451/863 +f 2171/3449/863 2169/3451/863 2172/3452/863 +f 2175/3453/864 2174/3454/864 2173/3455/864 +f 2175/3453/864 2173/3455/864 2176/3456/864 +f 2179/3457/865 2178/3458/865 2177/3459/865 +f 2179/3457/865 2177/3459/865 2180/3460/865 +f 2183/3461/866 2182/3462/866 2181/3463/866 +f 2183/3461/866 2181/3463/866 2184/3464/866 +f 2187/3465/867 2186/3466/867 2185/3467/867 +f 2187/3465/867 2185/3467/867 2188/3468/867 +f 2191/3469/868 2190/3470/868 2189/3471/868 +f 2191/3469/868 2189/3471/868 2192/3472/868 +f 2195/3473/869 2194/3474/869 2193/3475/869 +f 2195/3473/869 2193/3475/869 2196/3476/869 +f 2199/3477/870 2198/3478/870 2197/3479/870 +f 2199/3477/870 2197/3479/870 2200/3480/870 +f 2203/3481/871 2202/3482/871 2201/3483/871 +f 2203/3481/871 2201/3483/871 2204/3484/871 +f 2207/3485/872 2206/3486/872 2205/3487/872 +f 2207/3485/872 2205/3487/872 2208/3488/872 +f 2211/3489/873 2210/3490/873 2209/3491/873 +f 2211/3489/873 2209/3491/873 2212/3492/873 +f 2215/3493/874 2214/3494/874 2213/3495/874 +f 2215/3493/874 2213/3495/874 2216/3496/874 +f 2219/3497/875 2218/3498/875 2217/3499/875 +f 2219/3497/875 2217/3499/875 2220/3500/875 +f 2223/3501/876 2222/3502/876 2221/3503/876 +f 2223/3501/876 2221/3503/876 2224/3504/876 +f 2227/3505/877 2226/3506/877 2225/3507/877 +f 2227/3505/877 2225/3507/877 2228/3508/877 +f 2231/3509/878 2230/3510/878 2229/3511/878 +f 2231/3509/878 2229/3511/878 2232/3512/878 +f 2232/3513/879 2229/3514/879 2225/3515/879 +f 2232/3513/879 2225/3515/879 2226/3516/879 +f 2231/3517/880 2227/3518/880 2228/3519/880 +f 2231/3517/880 2228/3519/880 2230/3520/880 +f 2237/3521/881 2236/3522/881 2235/3523/881 +f 2237/3521/881 2235/3523/881 2238/3524/881 +f 2241/3525/882 2240/3526/882 2239/3527/882 +f 2241/3525/882 2239/3527/882 2242/3528/882 +f 2244/3529/883 2243/3530/883 2240/3531/883 +f 2244/3529/883 2240/3531/883 2241/3532/883 +f 2245/3533/884 2242/3534/884 2239/3535/884 +f 2245/3533/884 2239/3535/884 2246/3536/884 +f 2249/3537/885 2248/3538/885 2247/3539/885 +f 2249/3537/885 2247/3539/885 2250/3540/885 +f 2244/3541/886 2245/3542/886 2246/3543/886 +f 2244/3541/886 2246/3543/886 2243/3544/886 +f 2248/3545/887 2252/3546/887 2251/3547/887 +f 2248/3545/887 2251/3547/887 2247/3548/887 +f 2249/3549/888 2250/3550/888 2253/3551/888 +f 2249/3549/888 2253/3551/888 2254/3552/888 +f 2254/3553/889 2253/3554/889 2251/3555/889 +f 2254/3553/889 2251/3555/889 2252/3556/889 +f 2250/3557/890 2247/3558/890 2227/3559/890 +f 2250/3557/890 2227/3559/890 2231/3560/890 +f 2255/3561/891 1/3562/891 2233/3563/891 +f 2255/3561/891 2233/3563/891 2234/3564/891 +f 2250/3565/892 2231/3566/892 2232/3567/892 +f 2250/3565/892 2232/3567/892 2253/3568/892 +f 2253/3569/893 2232/3570/893 2226/3571/893 +f 2253/3569/893 2226/3571/893 2251/3572/893 +f 2228/3573/894 2225/3574/894 2238/3575/894 +f 2228/3573/894 2238/3575/894 1/3576/894 +f 2247/3577/895 2251/3578/895 2226/3579/895 +f 2247/3577/895 2226/3579/895 2227/3580/895 +f 2230/3581/896 2228/3582/896 1/3583/896 +f 2230/3581/896 1/3583/896 2255/3584/896 +f 2230/3585/897 2255/3586/897 2237/3587/897 +f 2230/3585/897 2237/3587/897 2229/3588/897 +f 2229/3589/898 2237/3590/898 2238/3591/898 +f 2229/3589/898 2238/3591/898 2225/3592/898 +f 1/3593/899 2238/3594/899 2235/3595/899 +f 1/3593/899 2235/3595/899 2233/3596/899 +f 2255/3597/900 2234/3598/900 2236/3599/900 +f 2255/3597/900 2236/3599/900 2237/3600/900 +f 2256/3601/901 2241/3602/901 2242/3603/901 +f 2256/3601/901 2242/3603/901 2257/3604/901 +f 2258/3605/902 2244/3606/902 2241/3607/902 +f 2258/3605/902 2241/3607/902 2256/3608/902 +f 2258/3609/903 2259/3610/903 2245/3611/903 +f 2258/3609/903 2245/3611/903 2244/3612/903 +f 2246/3613/904 2239/3614/904 2252/3615/904 +f 2246/3613/904 2252/3615/904 2248/3616/904 +f 2259/3617/905 2257/3618/905 2242/3619/905 +f 2259/3617/905 2242/3619/905 2245/3620/905 +f 2243/3621/906 2246/3622/906 2248/3623/906 +f 2243/3621/906 2248/3623/906 2249/3624/906 +f 2243/3625/907 2249/3626/907 2254/3627/907 +f 2243/3625/907 2254/3627/907 2240/3628/907 +f 2240/3629/908 2254/3630/908 2252/3631/908 +f 2240/3629/908 2252/3631/908 2239/3632/908 +f 2261/3633/909 2260/3634/909 2259/3635/909 +f 2261/3633/909 2259/3635/909 2258/3636/909 +f 2260/3637/910 2262/3638/910 2257/3639/910 +f 2260/3637/910 2257/3639/910 2259/3640/910 +f 2261/3641/911 2258/3642/911 2256/3643/911 +f 2261/3641/911 2256/3643/911 2263/3644/911 +f 2263/3645/912 2256/3646/912 2257/3647/912 +f 2263/3645/912 2257/3647/912 2262/3648/912 +f 2267/3649/913 2266/3650/913 2265/3651/913 +f 2267/3649/913 2265/3651/913 2268/3652/913 +f 2271/3653/914 2270/3654/914 2269/3655/914 +f 2271/3653/914 2269/3655/914 2272/3656/914 +f 2275/3657/915 2274/3658/915 2273/3659/915 +f 2275/3657/915 2273/3659/915 2276/3660/915 +f 2279/3661/916 2278/3662/916 2277/3663/916 +f 2279/3661/916 2277/3663/916 2280/3664/916 +f 2283/3665/917 2282/3666/917 2281/3667/917 +f 2283/3665/917 2281/3667/917 2284/3668/917 +f 2287/3669/918 2286/3670/918 2285/3671/918 +f 2287/3669/918 2285/3671/918 2288/3672/918 +f 2291/3673/919 2290/3674/919 2289/3675/919 +f 2291/3673/919 2289/3675/919 2292/3676/919 +f 2295/3677/920 2294/3678/920 2293/3679/920 +f 2295/3677/920 2293/3679/920 2296/3680/920 +f 2299/3681/921 2298/3682/921 2297/3683/921 +f 2299/3681/921 2297/3683/921 2300/3684/921 +f 2303/3685/922 2302/3686/922 2301/3687/922 +f 2303/3685/922 2301/3687/922 2304/3688/922 +f 2307/3689/923 2306/3690/923 2305/3691/923 +f 2307/3689/923 2305/3691/923 2308/3692/923 +f 2311/3693/924 2310/3694/924 2309/3695/924 +f 2311/3693/924 2309/3695/924 2312/3696/924 +f 2315/3697/925 2314/3698/925 2313/3699/925 +f 2315/3697/925 2313/3699/925 2316/3700/925 +f 2319/3701/926 2318/3702/926 2317/3703/926 +f 2319/3701/926 2317/3703/926 2320/3704/926 +f 2323/3705/927 2322/3706/927 2321/3707/927 +f 2323/3705/927 2321/3707/927 2324/3708/927 +f 2327/3709/928 2326/3710/928 2325/3711/928 +f 2327/3709/928 2325/3711/928 2328/3712/928 +f 2331/3713/929 2330/3714/929 2329/3715/929 +f 2331/3713/929 2329/3715/929 2332/3716/929 +f 2335/3717/930 2334/3718/930 2333/3719/930 +f 2335/3717/930 2333/3719/930 2336/3720/930 +f 2339/3721/931 2338/3722/931 2337/3723/931 +f 2339/3721/931 2337/3723/931 2340/3724/931 +f 2343/3725/932 2342/3726/932 2341/3727/932 +f 2343/3725/932 2341/3727/932 2344/3728/932 +f 2346/3729/933 2345/3730/933 2264/3731/933 +f 2346/3729/933 2264/3731/933 2347/3732/933 +f 2350/3733/934 2349/3734/934 2348/3735/934 +f 2350/3733/934 2348/3735/934 2351/3736/934 +f 2354/3737/935 2353/3738/935 2352/3739/935 +f 2354/3737/935 2352/3739/935 2355/3740/935 +f 2358/3741/936 2357/3742/936 2356/3743/936 +f 2358/3741/936 2356/3743/936 2359/3744/936 +f 2362/3745/937 2361/3746/937 2360/3747/937 +f 2362/3745/937 2360/3747/937 2363/3748/937 +f 2366/3749/938 2365/3750/938 2364/3751/938 +f 2366/3749/938 2364/3751/938 2367/3752/938 +f 2370/3753/939 2369/3754/939 2368/3755/939 +f 2370/3753/939 2368/3755/939 2371/3756/939 +f 2374/3757/940 2373/3758/940 2372/3759/940 +f 2374/3757/940 2372/3759/940 2375/3760/940 +f 2378/3761/941 2377/3762/941 2376/3763/941 +f 2378/3761/941 2376/3763/941 2379/3764/941 +f 2382/3765/942 2381/3766/942 2380/3767/942 +f 2382/3765/942 2380/3767/942 2383/3768/942 +f 2386/3769/943 2385/3770/943 2384/3771/943 +f 2386/3769/943 2384/3771/943 2387/3772/943 +f 2390/3773/944 2389/3774/944 2388/3775/944 +f 2390/3773/944 2388/3775/944 2391/3776/944 +f 2394/3777/945 2393/3778/945 2392/3779/945 +f 2394/3777/945 2392/3779/945 2395/3780/945 +f 2398/3781/946 2397/3782/946 2396/3783/946 +f 2398/3781/946 2396/3783/946 2399/3784/946 +f 2402/3785/947 2401/3786/947 2400/3787/947 +f 2402/3785/947 2400/3787/947 2403/3788/947 +f 2406/3789/948 2405/3790/948 2404/3791/948 +f 2406/3789/948 2404/3791/948 2407/3792/948 +f 2410/3793/949 2409/3794/949 2408/3795/949 +f 2410/3793/949 2408/3795/949 2411/3796/949 +f 2414/3797/950 2413/3798/950 2412/3799/950 +f 2414/3797/950 2412/3799/950 2415/3800/950 +f 2410/3801/951 2411/3802/951 2416/3803/951 +f 2410/3801/951 2416/3803/951 2417/3804/951 +f 2417/3805/952 2416/3806/952 2418/3807/952 +f 2417/3805/952 2418/3807/952 2419/3808/952 +f 2421/3809/953 2420/3810/953 2408/3811/953 +f 2421/3809/953 2408/3811/953 2418/3812/953 +f 2411/3813/954 2423/3814/954 2422/3815/954 +f 2411/3813/954 2422/3815/954 2416/3816/954 +f 2416/3817/955 2422/3818/955 2421/3819/955 +f 2416/3817/955 2421/3819/955 2418/3820/955 +f 2418/3821/956 2408/3822/956 2409/3823/956 +f 2418/3821/956 2409/3823/956 2419/3824/956 +f 2411/3825/957 2408/3826/957 2420/3827/957 +f 2411/3825/957 2420/3827/957 2423/3828/957 +f 2413/3829/958 2425/3830/958 2424/3831/958 +f 2413/3829/958 2424/3831/958 2412/3832/958 +f 2414/3833/959 2415/3834/959 2426/3835/959 +f 2414/3833/959 2426/3835/959 2427/3836/959 +f 2427/3837/960 2426/3838/960 2424/3839/960 +f 2427/3837/960 2424/3839/960 2425/3840/960 +f 2420/3841/961 2421/3842/961 2425/3843/961 +f 2420/3841/961 2425/3843/961 2413/3844/961 +f 2423/3845/962 2420/3846/962 2413/3847/962 +f 2423/3845/962 2413/3847/962 2414/3848/962 +f 2423/3849/963 2414/3850/963 2427/3851/963 +f 2423/3849/963 2427/3851/963 2422/3852/963 +f 2422/3853/964 2427/3854/964 2425/3855/964 +f 2422/3853/964 2425/3855/964 2421/3856/964 +f 2410/3857/965 2417/3858/965 2419/3859/965 +f 2410/3857/965 2419/3859/965 2409/3860/965 +f 2430/3861/966 2429/3862/966 2428/3863/966 +f 2430/3861/966 2428/3863/966 2431/3864/966 +f 2434/3865/967 2433/3866/967 2432/3867/967 +f 2434/3865/967 2432/3867/967 2435/3868/967 +f 2438/3869/968 2437/3870/968 2436/3871/968 +f 2438/3869/968 2436/3871/968 2439/3872/968 +f 2442/3873/969 2441/3874/969 2440/3875/969 +f 2442/3873/969 2440/3875/969 2443/3876/969 +f 2446/3877/970 2445/3878/970 2444/3879/970 +f 2446/3877/970 2444/3879/970 2447/3880/970 +f 2450/3881/971 2449/3882/971 2448/3883/971 +f 2450/3881/971 2448/3883/971 2451/3884/971 +f 2454/3885/972 2453/3886/972 2452/3887/972 +f 2454/3885/972 2452/3887/972 2455/3888/972 +f 2458/3889/973 2457/3890/973 2456/3891/973 +f 2458/3889/973 2456/3891/973 2459/3892/973 +f 2462/3893/974 2461/3894/974 2460/3895/974 +f 2462/3893/974 2460/3895/974 2463/3896/974 +f 2466/3897/975 2465/3898/975 2464/3899/975 +f 2466/3897/975 2464/3899/975 2467/3900/975 +f 2470/3901/976 2469/3902/976 2468/3903/976 +f 2470/3901/976 2468/3903/976 2471/3904/976 +f 2474/3905/977 2473/3906/977 2472/3907/977 +f 2474/3905/977 2472/3907/977 2475/3908/977 +f 2478/3909/978 2477/3910/978 2476/3911/978 +f 2478/3909/978 2476/3911/978 2479/3912/978 +f 2482/3913/979 2481/3914/979 2480/3915/979 +f 2482/3913/979 2480/3915/979 2483/3916/979 +f 2486/3917/980 2485/3918/980 2484/3919/980 +f 2486/3917/980 2484/3919/980 2487/3920/980 +f 2490/3921/981 2489/3922/981 2488/3923/981 +f 2490/3921/981 2488/3923/981 2491/3924/981 +f 2494/3925/982 2493/3926/982 2492/3927/982 +f 2494/3925/982 2492/3927/982 2495/3928/982 +f 2498/3929/983 2497/3930/983 2496/3931/983 +f 2498/3929/983 2496/3931/983 2499/3932/983 +f 2502/3933/984 2501/3934/984 2500/3935/984 +f 2502/3933/984 2500/3935/984 2503/3936/984 +f 2503/3937/985 2500/3938/985 2496/3939/985 +f 2503/3937/985 2496/3939/985 2497/3940/985 +f 2502/3941/986 2498/3942/986 2499/3943/986 +f 2502/3941/986 2499/3943/986 2501/3944/986 +f 2506/3945/987 2505/3946/987 2504/3947/987 +f 2506/3945/987 2504/3947/987 2507/3948/987 +f 2509/3949/988 2508/3950/988 2504/3951/988 +f 2509/3949/988 2504/3951/988 2505/3952/988 +f 2512/3953/989 2511/3954/989 2510/3955/989 +f 2512/3953/989 2510/3955/989 2513/3956/989 +f 2514/3957/990 2513/3958/990 2510/3959/990 +f 2514/3957/990 2510/3959/990 2515/3960/990 +f 2518/3961/991 2517/3962/991 2516/3963/991 +f 2518/3961/991 2516/3963/991 2519/3964/991 +f 2521/3965/992 2520/3966/992 2514/3967/992 +f 2521/3965/992 2514/3967/992 2522/3968/992 +f 2517/3969/993 2524/3970/993 2523/3971/993 +f 2517/3969/993 2523/3971/993 2516/3972/993 +f 2518/3973/994 2519/3974/994 2525/3975/994 +f 2518/3973/994 2525/3975/994 2526/3976/994 +f 2526/3977/995 2525/3978/995 2523/3979/995 +f 2526/3977/995 2523/3979/995 2524/3980/995 +f 2529/3981/996 2528/3982/996 2527/3983/996 +f 2529/3981/996 2527/3983/996 2530/3984/996 +f 2533/3985/997 2532/3986/997 2531/3987/997 +f 2533/3985/997 2531/3987/997 2534/3988/997 +f 2537/3989/998 2536/3990/998 2535/3991/998 +f 2537/3989/998 2535/3991/998 2538/3992/998 +f 2538/3993/999 2535/3994/999 2531/3995/999 +f 2538/3993/999 2531/3995/999 2532/3996/999 +f 2541/3997/1000 2540/3998/1000 2539/3999/1000 +f 2541/3997/1000 2539/3999/1000 2542/4000/1000 +f 2543/4001/1001 2542/4002/1001 2539/4003/1001 +f 2543/4001/1001 2539/4003/1001 2544/4004/1001 +f 2547/4005/1002 2546/4006/1002 2545/4007/1002 +f 2547/4005/1002 2545/4007/1002 2548/4008/1002 +f 2550/4009/1003 2549/4010/1003 2543/4011/1003 +f 2550/4009/1003 2543/4011/1003 2551/4012/1003 +f 2546/4013/1004 2553/4014/1004 2552/4015/1004 +f 2546/4013/1004 2552/4015/1004 2545/4016/1004 +f 2547/4017/1005 2548/4018/1005 2554/4019/1005 +f 2547/4017/1005 2554/4019/1005 2555/4020/1005 +f 2555/4021/1006 2554/4022/1006 2552/4023/1006 +f 2555/4021/1006 2552/4023/1006 2553/4024/1006 +f 2537/4025/1007 2533/4026/1007 2534/4027/1007 +f 2537/4025/1007 2534/4027/1007 2536/4028/1007 +f 2558/4029/1008 2557/4030/1008 2556/4031/1008 +f 2558/4029/1008 2556/4031/1008 2559/4032/1008 +f 2562/4033/1009 2561/4034/1009 2560/4035/1009 +f 2562/4033/1009 2560/4035/1009 2563/4036/1009 +f 2565/4037/1010 2564/4038/1010 2561/4039/1010 +f 2565/4037/1010 2561/4039/1010 2562/4040/1010 +f 2566/4041/1011 2563/4042/1011 2560/4043/1011 +f 2566/4041/1011 2560/4043/1011 2567/4044/1011 +f 2570/4045/1012 2569/4046/1012 2568/4047/1012 +f 2570/4045/1012 2568/4047/1012 2571/4048/1012 +f 2565/4049/1013 2566/4050/1013 2567/4051/1013 +f 2565/4049/1013 2567/4051/1013 2564/4052/1013 +f 2569/4053/1014 2573/4054/1014 2572/4055/1014 +f 2569/4053/1014 2572/4055/1014 2568/4056/1014 +f 2570/4057/1015 2571/4058/1015 2574/4059/1015 +f 2570/4057/1015 2574/4059/1015 2575/4060/1015 +f 2575/4061/1016 2574/4062/1016 2572/4063/1016 +f 2575/4061/1016 2572/4063/1016 2573/4064/1016 +f 2519/4065/1017 2516/4066/1017 2498/4067/1017 +f 2519/4065/1017 2498/4067/1017 2502/4068/1017 +f 2571/4069/1018 2568/4070/1018 2533/4071/1018 +f 2571/4069/1018 2533/4071/1018 2537/4072/1018 +f 2519/4073/1019 2502/4074/1019 2503/4075/1019 +f 2519/4073/1019 2503/4075/1019 2525/4076/1019 +f 2525/4077/1020 2503/4078/1020 2497/4079/1020 +f 2525/4077/1020 2497/4079/1020 2523/4080/1020 +f 2499/4081/1021 2496/4082/1021 2576/4083/1021 +f 2499/4081/1021 2576/4083/1021 2493/4084/1021 +f 2516/4085/1022 2523/4086/1022 2497/4087/1022 +f 2516/4085/1022 2497/4087/1022 2498/4088/1022 +f 2501/4089/1023 2499/4090/1023 2493/4091/1023 +f 2501/4089/1023 2493/4091/1023 2494/4092/1023 +f 2501/4093/1024 2494/4094/1024 2577/4095/1024 +f 2501/4093/1024 2577/4095/1024 2500/4096/1024 +f 2500/4097/1025 2577/4098/1025 2576/4099/1025 +f 2500/4097/1025 2576/4099/1025 2496/4100/1025 +f 2548/4101/1026 2545/4102/1026 2506/4103/1026 +f 2548/4101/1026 2506/4103/1026 2578/4104/1026 +f 2580/4105/1027 2579/4106/1027 2520/4107/1027 +f 2580/4105/1027 2520/4107/1027 2521/4108/1027 +f 2548/4109/1028 2578/4110/1028 2509/4111/1028 +f 2548/4109/1028 2509/4111/1028 2554/4112/1028 +f 2554/4113/1029 2509/4114/1029 2505/4115/1029 +f 2554/4113/1029 2505/4115/1029 2552/4116/1029 +f 2578/4117/1030 2581/4118/1030 2508/4119/1030 +f 2578/4117/1030 2508/4119/1030 2509/4120/1030 +f 2522/4121/1031 2582/4122/1031 2511/4123/1031 +f 2522/4121/1031 2511/4123/1031 2512/4124/1031 +f 2528/4125/1032 2512/4126/1032 2513/4127/1032 +f 2528/4125/1032 2513/4127/1032 2527/4128/1032 +f 2521/4129/1033 2522/4130/1033 2512/4131/1033 +f 2521/4129/1033 2512/4131/1033 2528/4132/1033 +f 2515/4133/1034 2510/4134/1034 2524/4135/1034 +f 2515/4133/1034 2524/4135/1034 2517/4136/1034 +f 2520/4137/1035 2527/4138/1035 2513/4139/1035 +f 2520/4137/1035 2513/4139/1035 2514/4140/1035 +f 2522/4141/1036 2514/4142/1036 2515/4143/1036 +f 2522/4141/1036 2515/4143/1036 2582/4144/1036 +f 2582/4145/1037 2515/4146/1037 2517/4147/1037 +f 2582/4145/1037 2517/4147/1037 2518/4148/1037 +f 2582/4149/1038 2518/4150/1038 2526/4151/1038 +f 2582/4149/1038 2526/4151/1038 2511/4152/1038 +f 2511/4153/1039 2526/4154/1039 2524/4155/1039 +f 2511/4153/1039 2524/4155/1039 2510/4156/1039 +f 2507/4157/1040 2504/4158/1040 2530/4159/1040 +f 2507/4157/1040 2530/4159/1040 2579/4160/1040 +f 2545/4161/1041 2552/4162/1041 2505/4163/1041 +f 2545/4161/1041 2505/4163/1041 2506/4164/1041 +f 2578/4165/1042 2506/4166/1042 2507/4167/1042 +f 2578/4165/1042 2507/4167/1042 2581/4168/1042 +f 2581/4169/1043 2507/4170/1043 2579/4171/1043 +f 2581/4169/1043 2579/4171/1043 2580/4172/1043 +f 2581/4173/1044 2580/4174/1044 2529/4175/1044 +f 2581/4173/1044 2529/4175/1044 2508/4176/1044 +f 2508/4177/1045 2529/4178/1045 2530/4179/1045 +f 2508/4177/1045 2530/4179/1045 2504/4180/1045 +f 2579/4181/1046 2530/4182/1046 2527/4183/1046 +f 2579/4181/1046 2527/4183/1046 2520/4184/1046 +f 2580/4185/1047 2521/4186/1047 2528/4187/1047 +f 2580/4185/1047 2528/4187/1047 2529/4188/1047 +f 2584/4189/1048 2583/4190/1048 2549/4191/1048 +f 2584/4189/1048 2549/4191/1048 2550/4192/1048 +f 2571/4193/1049 2537/4194/1049 2538/4195/1049 +f 2571/4193/1049 2538/4195/1049 2574/4196/1049 +f 2574/4197/1050 2538/4198/1050 2532/4199/1050 +f 2574/4197/1050 2532/4199/1050 2572/4200/1050 +f 2551/4201/1051 2585/4202/1051 2540/4203/1051 +f 2551/4201/1051 2540/4203/1051 2541/4204/1051 +f 2557/4205/1052 2541/4206/1052 2542/4207/1052 +f 2557/4205/1052 2542/4207/1052 2556/4208/1052 +f 2550/4209/1053 2551/4210/1053 2541/4211/1053 +f 2550/4209/1053 2541/4211/1053 2557/4212/1053 +f 2544/4213/1054 2539/4214/1054 2553/4215/1054 +f 2544/4213/1054 2553/4215/1054 2546/4216/1054 +f 2549/4217/1055 2556/4218/1055 2542/4219/1055 +f 2549/4217/1055 2542/4219/1055 2543/4220/1055 +f 2551/4221/1056 2543/4222/1056 2544/4223/1056 +f 2551/4221/1056 2544/4223/1056 2585/4224/1056 +f 2585/4225/1057 2544/4226/1057 2546/4227/1057 +f 2585/4225/1057 2546/4227/1057 2547/4228/1057 +f 2585/4229/1058 2547/4230/1058 2555/4231/1058 +f 2585/4229/1058 2555/4231/1058 2540/4232/1058 +f 2540/4233/1059 2555/4234/1059 2553/4235/1059 +f 2540/4233/1059 2553/4235/1059 2539/4236/1059 +f 2534/4237/1060 2531/4238/1060 2559/4239/1060 +f 2534/4237/1060 2559/4239/1060 2583/4240/1060 +f 2568/4241/1061 2572/4242/1061 2532/4243/1061 +f 2568/4241/1061 2532/4243/1061 2533/4244/1061 +f 2536/4245/1062 2534/4246/1062 2583/4247/1062 +f 2536/4245/1062 2583/4247/1062 2584/4248/1062 +f 2536/4249/1063 2584/4250/1063 2558/4251/1063 +f 2536/4249/1063 2558/4251/1063 2535/4252/1063 +f 2535/4253/1064 2558/4254/1064 2559/4255/1064 +f 2535/4253/1064 2559/4255/1064 2531/4256/1064 +f 2583/4257/1065 2559/4258/1065 2556/4259/1065 +f 2583/4257/1065 2556/4259/1065 2549/4260/1065 +f 2584/4261/1066 2550/4262/1066 2557/4263/1066 +f 2584/4261/1066 2557/4263/1066 2558/4264/1066 +f 2586/4265/1067 2562/4266/1067 2563/4267/1067 +f 2586/4265/1067 2563/4267/1067 2587/4268/1067 +f 2588/4269/1068 2565/4270/1068 2562/4271/1068 +f 2588/4269/1068 2562/4271/1068 2586/4272/1068 +f 2588/4273/1069 2589/4274/1069 2566/4275/1069 +f 2588/4273/1069 2566/4275/1069 2565/4276/1069 +f 2567/4277/1070 2560/4278/1070 2573/4279/1070 +f 2567/4277/1070 2573/4279/1070 2569/4280/1070 +f 2589/4281/1071 2587/4282/1071 2563/4283/1071 +f 2589/4281/1071 2563/4283/1071 2566/4284/1071 +f 2564/4285/1072 2567/4286/1072 2569/4287/1072 +f 2564/4285/1072 2569/4287/1072 2570/4288/1072 +f 2564/4289/1073 2570/4290/1073 2575/4291/1073 +f 2564/4289/1073 2575/4291/1073 2561/4292/1073 +f 2561/4293/1074 2575/4294/1074 2573/4295/1074 +f 2561/4293/1074 2573/4295/1074 2560/4296/1074 +f 2591/4297/1075 2590/4298/1075 2589/4299/1075 +f 2591/4297/1075 2589/4299/1075 2588/4300/1075 +f 2590/4301/1076 2592/4302/1076 2587/4303/1076 +f 2590/4301/1076 2587/4303/1076 2589/4304/1076 +f 2591/4305/1077 2588/4306/1077 2586/4307/1077 +f 2591/4305/1077 2586/4307/1077 2593/4308/1077 +f 2593/4309/1078 2586/4310/1078 2587/4311/1078 +f 2593/4309/1078 2587/4311/1078 2592/4312/1078 +f 2594/4313/1079 2495/4314/1079 2492/4315/1079 +f 2594/4313/1079 2492/4315/1079 2595/4316/1079 +f 2595/4317/1080 2492/4318/1080 2493/4319/1080 +f 2595/4317/1080 2493/4319/1080 2576/4320/1080 +f 2494/4321/1081 2495/4322/1081 2594/4323/1081 +f 2494/4321/1081 2594/4323/1081 2577/4324/1081 +f 2577/4325/1082 2594/4326/1082 2595/4327/1082 +f 2577/4325/1082 2595/4327/1082 2576/4328/1082 +f 2598/4329/1083 2597/4330/1083 2596/4331/1083 +f 2598/4329/1083 2596/4331/1083 2599/4332/1083 +f 2600/4333/1084 2599/4334/1084 2596/4335/1084 +f 2600/4333/1084 2596/4335/1084 2601/4336/1084 +f 2604/4337/1085 2603/4338/1085 2602/4339/1085 +f 2604/4337/1085 2602/4339/1085 2605/4340/1085 +f 2603/4341/1086 2607/4342/1086 2606/4343/1086 +f 2603/4341/1086 2606/4343/1086 2602/4344/1086 +f 2604/4345/1087 2605/4346/1087 2608/4347/1087 +f 2604/4345/1087 2608/4347/1087 2609/4348/1087 +f 2609/4349/1088 2608/4350/1088 2606/4351/1088 +f 2609/4349/1088 2606/4351/1088 2607/4352/1088 +f 2611/4353/1089 2610/4354/1089 2597/4355/1089 +f 2611/4353/1089 2597/4355/1089 2598/4356/1089 +f 2612/4357/1090 2598/4358/1090 2599/4359/1090 +f 2612/4357/1090 2599/4359/1090 2613/4360/1090 +f 2614/4361/1091 2611/4362/1091 2598/4363/1091 +f 2614/4361/1091 2598/4363/1091 2612/4364/1091 +f 2614/4365/1092 2615/4366/1092 2600/4367/1092 +f 2614/4365/1092 2600/4367/1092 2611/4368/1092 +f 2601/4369/1093 2596/4370/1093 2607/4371/1093 +f 2601/4369/1093 2607/4371/1093 2603/4372/1093 +f 2615/4373/1094 2613/4374/1094 2599/4375/1094 +f 2615/4373/1094 2599/4375/1094 2600/4376/1094 +f 2611/4377/1095 2600/4378/1095 2601/4379/1095 +f 2611/4377/1095 2601/4379/1095 2610/4380/1095 +f 2610/4381/1096 2601/4382/1096 2603/4383/1096 +f 2610/4381/1096 2603/4383/1096 2604/4384/1096 +f 2610/4385/1097 2604/4386/1097 2609/4387/1097 +f 2610/4385/1097 2609/4387/1097 2597/4388/1097 +f 2607/4389/1098 2596/4390/1098 2597/4391/1098 +f 2607/4389/1098 2597/4391/1098 2609/4392/1098 +f 2617/4393/1099 2616/4394/1099 2615/4395/1099 +f 2617/4393/1099 2615/4395/1099 2614/4396/1099 +f 2616/4397/1100 2618/4398/1100 2613/4399/1100 +f 2616/4397/1100 2613/4399/1100 2615/4400/1100 +f 2617/4401/1101 2614/4402/1101 2612/4403/1101 +f 2617/4401/1101 2612/4403/1101 2619/4404/1101 +f 2619/4405/1102 2612/4406/1102 2613/4407/1102 +f 2619/4405/1102 2613/4407/1102 2618/4408/1102 +f 2602/4409/1103 2606/4410/1103 2608/4411/1103 +f 2602/4409/1103 2608/4411/1103 2605/4412/1103 +f 2623/4413/1104 2622/4414/1104 2621/4415/1104 +f 2623/4413/1104 2621/4415/1104 2624/4416/1104 +f 2627/4417/1105 2626/4418/1105 2625/4419/1105 +f 2627/4417/1105 2625/4419/1105 2628/4420/1105 +f 2631/4421/1106 2630/4422/1106 2629/4423/1106 +f 2631/4421/1106 2629/4423/1106 2632/4424/1106 +f 2635/4425/1107 2634/4426/1107 2633/4427/1107 +f 2635/4425/1107 2633/4427/1107 2636/4428/1107 +f 2639/4429/1108 2638/4430/1108 2637/4431/1108 +f 2639/4429/1108 2637/4431/1108 2640/4432/1108 +f 2643/4433/1109 2642/4434/1109 2641/4435/1109 +f 2643/4433/1109 2641/4435/1109 2644/4436/1109 +f 2647/4437/1110 2646/4438/1110 2645/4439/1110 +f 2647/4437/1110 2645/4439/1110 2648/4440/1110 +f 2651/4441/1111 2650/4442/1111 2649/4443/1111 +f 2651/4441/1111 2649/4443/1111 2652/4444/1111 +f 2655/4445/1112 2654/4446/1112 2653/4447/1112 +f 2655/4445/1112 2653/4447/1112 2656/4448/1112 +f 2659/4449/1113 2658/4450/1113 2657/4451/1113 +f 2659/4449/1113 2657/4451/1113 2660/4452/1113 +f 2663/4453/1114 2662/4454/1114 2661/4455/1114 +f 2663/4453/1114 2661/4455/1114 2664/4456/1114 +f 2667/4457/1115 2666/4458/1115 2665/4459/1115 +f 2667/4457/1115 2665/4459/1115 2668/4460/1115 +f 2671/4461/1116 2670/4462/1116 2669/4463/1116 +f 2671/4461/1116 2669/4463/1116 2672/4464/1116 +f 2675/4465/1117 2674/4466/1117 2673/4467/1117 +f 2675/4465/1117 2673/4467/1117 2676/4468/1117 +f 2679/4469/1118 2678/4470/1118 2677/4471/1118 +f 2679/4469/1118 2677/4471/1118 2680/4472/1118 +f 2683/4473/1119 2682/4474/1119 2681/4475/1119 +f 2683/4473/1119 2681/4475/1119 2684/4476/1119 +f 2687/4477/1120 2686/4478/1120 2685/4479/1120 +f 2687/4477/1120 2685/4479/1120 2688/4480/1120 +f 2691/4481/1121 2690/4482/1121 2689/4483/1121 +f 2691/4481/1121 2689/4483/1121 2692/4484/1121 +f 2695/4485/1122 2694/4486/1122 2693/4487/1122 +f 2695/4485/1122 2693/4487/1122 2696/4488/1122 +f 2699/4489/1123 2698/4490/1123 2697/4491/1123 +f 2699/4489/1123 2697/4491/1123 2700/4492/1123 +f 2703/4493/1124 2702/4494/1124 2701/4495/1124 +f 2703/4493/1124 2701/4495/1124 2704/4496/1124 +f 2707/4497/1125 2706/4498/1125 2705/4499/1125 +f 2707/4497/1125 2705/4499/1125 2708/4500/1125 +f 2711/4501/1126 2710/4502/1126 2709/4503/1126 +f 2711/4501/1126 2709/4503/1126 2712/4504/1126 +f 2715/4505/1127 2714/4506/1127 2713/4507/1127 +f 2715/4505/1127 2713/4507/1127 2716/4508/1127 +f 2719/4509/1128 2718/4510/1128 2717/4511/1128 +f 2719/4509/1128 2717/4511/1128 2720/4512/1128 +f 2723/4513/1129 2722/4514/1129 2721/4515/1129 +f 2723/4513/1129 2721/4515/1129 2724/4516/1129 +f 2727/4517/1130 2726/4518/1130 2725/4519/1130 +f 2727/4517/1130 2725/4519/1130 2728/4520/1130 +f 2731/4521/1131 2730/4522/1131 2729/4523/1131 +f 2731/4521/1131 2729/4523/1131 2732/4524/1131 +f 2735/4525/1132 2734/4526/1132 2733/4527/1132 +f 2735/4525/1132 2733/4527/1132 2736/4528/1132 +f 2739/4529/1133 2738/4530/1133 2737/4531/1133 +f 2739/4529/1133 2737/4531/1133 2740/4532/1133 +f 2743/4533/1134 2742/4534/1134 2741/4535/1134 +f 2743/4533/1134 2741/4535/1134 2744/4536/1134 +f 2747/4537/1135 2746/4538/1135 2745/4539/1135 +f 2747/4537/1135 2745/4539/1135 2748/4540/1135 +f 2751/4541/1136 2750/4542/1136 2749/4543/1136 +f 2751/4541/1136 2749/4543/1136 2752/4544/1136 +f 2755/4545/1137 2754/4546/1137 2753/4547/1137 +f 2755/4545/1137 2753/4547/1137 2756/4548/1137 +f 2759/4549/1138 2758/4550/1138 2757/4551/1138 +f 2759/4549/1138 2757/4551/1138 2760/4552/1138 +f 2763/4553/1139 2762/4554/1139 2761/4555/1139 +f 2763/4553/1139 2761/4555/1139 2764/4556/1139 +f 2767/4557/1140 2766/4558/1140 2765/4559/1140 +f 2767/4557/1140 2765/4559/1140 2768/4560/1140 +f 2771/4561/1141 2770/4562/1141 2769/4563/1141 +f 2771/4561/1141 2769/4563/1141 2772/4564/1141 +f 2775/4565/1142 2774/4566/1142 2773/4567/1142 +f 2775/4565/1142 2773/4567/1142 2776/4568/1142 +f 2779/4569/1143 2778/4570/1143 2777/4571/1143 +f 2779/4569/1143 2777/4571/1143 2780/4572/1143 +f 2783/4573/1144 2782/4574/1144 2781/4575/1144 +f 2783/4573/1144 2781/4575/1144 2784/4576/1144 +f 2787/4577/1145 2786/4578/1145 2785/4579/1145 +f 2787/4577/1145 2785/4579/1145 2788/4580/1145 +f 2791/4581/1146 2790/4582/1146 2789/4583/1146 +f 2791/4581/1146 2789/4583/1146 2792/4584/1146 +f 2795/4585/1147 2794/4586/1147 2793/4587/1147 +f 2795/4585/1147 2793/4587/1147 2796/4588/1147 +f 2799/4589/1148 2798/4590/1148 2797/4591/1148 +f 2799/4589/1148 2797/4591/1148 2800/4592/1148 +f 2803/4593/1149 2802/4594/1149 2801/4595/1149 +f 2803/4593/1149 2801/4595/1149 2804/4596/1149 +f 2807/4597/1150 2806/4598/1150 2805/4599/1150 +f 2807/4597/1150 2805/4599/1150 2808/4600/1150 +f 2811/4601/1151 2810/4602/1151 2809/4603/1151 +f 2811/4601/1151 2809/4603/1151 2812/4604/1151 +f 2815/4605/1152 2814/4606/1152 2813/4607/1152 +f 2815/4605/1152 2813/4607/1152 2816/4608/1152 +f 2819/4609/1153 2818/4610/1153 2817/4611/1153 +f 2819/4609/1153 2817/4611/1153 2820/4612/1153 +f 2823/4613/1154 2822/4614/1154 2821/4615/1154 +f 2823/4613/1154 2821/4615/1154 2824/4616/1154 +f 2827/4617/1155 2826/4618/1155 2825/4619/1155 +f 2827/4617/1155 2825/4619/1155 2828/4620/1155 +f 2831/4621/1156 2830/4622/1156 2829/4623/1156 +f 2831/4621/1156 2829/4623/1156 2832/4624/1156 +f 2835/4625/1157 2834/4626/1157 2833/4627/1157 +f 2835/4625/1157 2833/4627/1157 2836/4628/1157 +f 2839/4629/1158 2838/4630/1158 2837/4631/1158 +f 2839/4629/1158 2837/4631/1158 2840/4632/1158 +f 2843/4633/1159 2842/4634/1159 2841/4635/1159 +f 2843/4633/1159 2841/4635/1159 2844/4636/1159 +f 2847/4637/1160 2846/4638/1160 2845/4639/1160 +f 2847/4637/1160 2845/4639/1160 2848/4640/1160 +f 2851/4641/1161 2850/4642/1161 2849/4643/1161 +f 2851/4641/1161 2849/4643/1161 2852/4644/1161 +f 2855/4645/1162 2854/4646/1162 2853/4647/1162 +f 2855/4645/1162 2853/4647/1162 2856/4648/1162 +f 2859/4649/1163 2858/4650/1163 2857/4651/1163 +f 2859/4649/1163 2857/4651/1163 2860/4652/1163 +f 2863/4653/1164 2862/4654/1164 2861/4655/1164 +f 2863/4653/1164 2861/4655/1164 2864/4656/1164 +f 2867/4657/1165 2866/4658/1165 2865/4659/1165 +f 2867/4657/1165 2865/4659/1165 2868/4660/1165 +f 2871/4661/1166 2870/4662/1166 2869/4663/1166 +f 2871/4661/1166 2869/4663/1166 2872/4664/1166 +f 2875/4665/1167 2874/4666/1167 2873/4667/1167 +f 2875/4665/1167 2873/4667/1167 2876/4668/1167 +f 2879/4669/1168 2878/4670/1168 2877/4671/1168 +f 2879/4669/1168 2877/4671/1168 2880/4672/1168 +f 2883/4673/1169 2882/4674/1169 2881/4675/1169 +f 2883/4673/1169 2881/4675/1169 2884/4676/1169 +f 2887/4677/1170 2886/4678/1170 2885/4679/1170 +f 2887/4677/1170 2885/4679/1170 2888/4680/1170 +f 2891/4681/1171 2890/4682/1171 2889/4683/1171 +f 2891/4681/1171 2889/4683/1171 2892/4684/1171 +f 2895/4685/1172 2894/4686/1172 2893/4687/1172 +f 2895/4685/1172 2893/4687/1172 2896/4688/1172 +f 2899/4689/1173 2898/4690/1173 2897/4691/1173 +f 2899/4689/1173 2897/4691/1173 2900/4692/1173 +f 2903/4693/1174 2902/4694/1174 2901/4695/1174 +f 2903/4693/1174 2901/4695/1174 2904/4696/1174 +f 2907/4697/1175 2906/4698/1175 2905/4699/1175 +f 2907/4697/1175 2905/4699/1175 2908/4700/1175 +f 2911/4701/1176 2910/4702/1176 2909/4703/1176 +f 2911/4701/1176 2909/4703/1176 2912/4704/1176 +f 2915/4705/1177 2914/4706/1177 2913/4707/1177 +f 2915/4705/1177 2913/4707/1177 2916/4708/1177 +f 2919/4709/1178 2918/4710/1178 2917/4711/1178 +f 2919/4709/1178 2917/4711/1178 2920/4712/1178 +f 2923/4713/1179 2922/4714/1179 2921/4715/1179 +f 2923/4713/1179 2921/4715/1179 2924/4716/1179 +f 2927/4717/1180 2926/4718/1180 2925/4719/1180 +f 2927/4717/1180 2925/4719/1180 2928/4720/1180 +f 2931/4721/1181 2930/4722/1181 2929/4723/1181 +f 2931/4721/1181 2929/4723/1181 2932/4724/1181 +f 2935/4725/1182 2934/4726/1182 2933/4727/1182 +f 2935/4725/1182 2933/4727/1182 2936/4728/1182 +f 2939/4729/1183 2938/4730/1183 2937/4731/1183 +f 2939/4729/1183 2937/4731/1183 2940/4732/1183 +f 2942/4733/1184 2941/4734/1184 2620/4735/1184 +f 2942/4733/1184 2620/4735/1184 2943/4736/1184 +f 2946/4737/1185 2945/4738/1185 2944/4739/1185 +f 2946/4737/1185 2944/4739/1185 2947/4740/1185 +f 2950/4741/1186 2949/4742/1186 2948/4743/1186 +f 2950/4741/1186 2948/4743/1186 2951/4744/1186 +f 2954/4745/1187 2953/4746/1187 2952/4747/1187 +f 2954/4745/1187 2952/4747/1187 2955/4748/1187 +f 2958/4749/1188 2957/4750/1188 2956/4751/1188 +f 2958/4749/1188 2956/4751/1188 2959/4752/1188 +f 2962/4753/1189 2961/4754/1189 2960/4755/1189 +f 2962/4753/1189 2960/4755/1189 2963/4756/1189 +f 2966/4757/1190 2965/4758/1190 2964/4759/1190 +f 2966/4757/1190 2964/4759/1190 2967/4760/1190 +f 2970/4761/1191 2969/4762/1191 2968/4763/1191 +f 2970/4761/1191 2968/4763/1191 2971/4764/1191 +f 2974/4765/1192 2973/4766/1192 2972/4767/1192 +f 2974/4765/1192 2972/4767/1192 2975/4768/1192 +f 2978/4769/1193 2977/4770/1193 2976/4771/1193 +f 2978/4769/1193 2976/4771/1193 2979/4772/1193 +f 2982/4773/1194 2981/4774/1194 2980/4775/1194 +f 2982/4773/1194 2980/4775/1194 2983/4776/1194 +f 2986/4777/1195 2985/4778/1195 2984/4779/1195 +f 2986/4777/1195 2984/4779/1195 2987/4780/1195 +f 2990/4781/1196 2989/4782/1196 2988/4783/1196 +f 2990/4781/1196 2988/4783/1196 2991/4784/1196 +f 2994/4785/1197 2993/4786/1197 2992/4787/1197 +f 2994/4785/1197 2992/4787/1197 2995/4788/1197 +f 2998/4789/1198 2997/4790/1198 2996/4791/1198 +f 2998/4789/1198 2996/4791/1198 2999/4792/1198 +f 3002/4793/1199 3001/4794/1199 3000/4795/1199 +f 3002/4793/1199 3000/4795/1199 3003/4796/1199 +f 3006/4797/1200 3005/4798/1200 3004/4799/1200 +f 3006/4797/1200 3004/4799/1200 3007/4800/1200 +f 3010/4801/1201 3009/4802/1201 3008/4803/1201 +f 3010/4801/1201 3008/4803/1201 3011/4804/1201 +f 3014/4805/1202 3013/4806/1202 3012/4807/1202 +f 3014/4805/1202 3012/4807/1202 3015/4808/1202 +f 3018/4809/1203 3017/4810/1203 3016/4811/1203 +f 3018/4809/1203 3016/4811/1203 3019/4812/1203 +f 3022/4813/1204 3021/4814/1204 3020/4815/1204 +f 3022/4813/1204 3020/4815/1204 3023/4816/1204 +f 3026/4817/1205 3025/4818/1205 3024/4819/1205 +f 3026/4817/1205 3024/4819/1205 3027/4820/1205 +f 3030/4821/1206 3029/4822/1206 3028/4823/1206 +f 3030/4821/1206 3028/4823/1206 3031/4824/1206 +f 3034/4825/1207 3033/4826/1207 3032/4827/1207 +f 3034/4825/1207 3032/4827/1207 3035/4828/1207 +f 3038/4829/1208 3037/4830/1208 3036/4831/1208 +f 3038/4829/1208 3036/4831/1208 3039/4832/1208 +f 3042/4833/1209 3041/4834/1209 3040/4835/1209 +f 3042/4833/1209 3040/4835/1209 3043/4836/1209 +f 3046/4837/1210 3045/4838/1210 3044/4839/1210 +f 3046/4837/1210 3044/4839/1210 3047/4840/1210 +f 3050/4841/1211 3049/4842/1211 3048/4843/1211 +f 3050/4841/1211 3048/4843/1211 3051/4844/1211 +f 3054/4845/1212 3053/4846/1212 3052/4847/1212 +f 3054/4845/1212 3052/4847/1212 3055/4848/1212 +f 3058/4849/1213 3057/4850/1213 3056/4851/1213 +f 3058/4849/1213 3056/4851/1213 3059/4852/1213 +f 3062/4853/1214 3061/4854/1214 3060/4855/1214 +f 3062/4853/1214 3060/4855/1214 3063/4856/1214 +f 3066/4857/1215 3065/4858/1215 3064/4859/1215 +f 3066/4857/1215 3064/4859/1215 3067/4860/1215 +f 3070/4861/1216 3069/4862/1216 3068/4863/1216 +f 3070/4861/1216 3068/4863/1216 3071/4864/1216 +f 3074/4865/1217 3073/4866/1217 3072/4867/1217 +f 3074/4865/1217 3072/4867/1217 3075/4868/1217 +f 3078/4869/1218 3077/4870/1218 3076/4871/1218 +f 3078/4869/1218 3076/4871/1218 3079/4872/1218 +f 3082/4873/1219 3081/4874/1219 3080/4875/1219 +f 3082/4873/1219 3080/4875/1219 3083/4876/1219 +f 3086/4877/1220 3085/4878/1220 3084/4879/1220 +f 3086/4877/1220 3084/4879/1220 3087/4880/1220 +f 3090/4881/1221 3089/4882/1221 3088/4883/1221 +f 3090/4881/1221 3088/4883/1221 3091/4884/1221 +f 3094/4885/1222 3093/4886/1222 3092/4887/1222 +f 3094/4885/1222 3092/4887/1222 3095/4888/1222 +f 3098/4889/1223 3097/4890/1223 3096/4891/1223 +f 3098/4889/1223 3096/4891/1223 3099/4892/1223 +f 3102/4893/1224 3101/4894/1224 3100/4895/1224 +f 3102/4893/1224 3100/4895/1224 3103/4896/1224 +f 3106/4897/1225 3105/4898/1225 3104/4899/1225 +f 3106/4897/1225 3104/4899/1225 3107/4900/1225 +f 3102/4901/1226 3103/4902/1226 3108/4903/1226 +f 3102/4901/1226 3108/4903/1226 3109/4904/1226 +f 3109/4905/1227 3108/4906/1227 3110/4907/1227 +f 3109/4905/1227 3110/4907/1227 3111/4908/1227 +f 3113/4909/1228 3112/4910/1228 3100/4911/1228 +f 3113/4909/1228 3100/4911/1228 3110/4912/1228 +f 3103/4913/1229 3115/4914/1229 3114/4915/1229 +f 3103/4913/1229 3114/4915/1229 3108/4916/1229 +f 3108/4917/1230 3114/4918/1230 3113/4919/1230 +f 3108/4917/1230 3113/4919/1230 3110/4920/1230 +f 3110/4921/1231 3100/4922/1231 3101/4923/1231 +f 3110/4921/1231 3101/4923/1231 3111/4924/1231 +f 3103/4925/1232 3100/4926/1232 3112/4927/1232 +f 3103/4925/1232 3112/4927/1232 3115/4928/1232 +f 3105/4929/1233 3117/4930/1233 3116/4931/1233 +f 3105/4929/1233 3116/4931/1233 3104/4932/1233 +f 3106/4933/1234 3107/4934/1234 3118/4935/1234 +f 3106/4933/1234 3118/4935/1234 3119/4936/1234 +f 3119/4937/1235 3118/4938/1235 3116/4939/1235 +f 3119/4937/1235 3116/4939/1235 3117/4940/1235 +f 3112/4941/1236 3113/4942/1236 3117/4943/1236 +f 3112/4941/1236 3117/4943/1236 3105/4944/1236 +f 3115/4945/1237 3112/4946/1237 3105/4947/1237 +f 3115/4945/1237 3105/4947/1237 3106/4948/1237 +f 3115/4949/1238 3106/4950/1238 3119/4951/1238 +f 3115/4949/1238 3119/4951/1238 3114/4952/1238 +f 3114/4953/1239 3119/4954/1239 3117/4955/1239 +f 3114/4953/1239 3117/4955/1239 3113/4956/1239 +f 3102/4957/1240 3109/4958/1240 3111/4959/1240 +f 3102/4957/1240 3111/4959/1240 3101/4960/1240 +f 3122/4961/1241 3121/4962/1241 3120/4963/1241 +f 3122/4961/1241 3120/4963/1241 3123/4964/1241 +f 3126/4965/1242 3125/4966/1242 3124/4967/1242 +f 3126/4965/1242 3124/4967/1242 3127/4968/1242 +f 3130/4969/1243 3129/4970/1243 3128/4971/1243 +f 3130/4969/1243 3128/4971/1243 3131/4972/1243 +f 3134/4973/1244 3133/4974/1244 3132/4975/1244 +f 3134/4973/1244 3132/4975/1244 3135/4976/1244 +f 3138/4977/1245 3137/4978/1245 3136/4979/1245 +f 3138/4977/1245 3136/4979/1245 3139/4980/1245 +f 3142/4981/1246 3141/4982/1246 3140/4983/1246 +f 3142/4981/1246 3140/4983/1246 3143/4984/1246 +f 3146/4985/1247 3145/4986/1247 3144/4987/1247 +f 3146/4985/1247 3144/4987/1247 3147/4988/1247 +f 3150/4989/1248 3149/4990/1248 3148/4991/1248 +f 3150/4989/1248 3148/4991/1248 3151/4992/1248 +f 3154/4993/1249 3153/4994/1249 3152/4995/1249 +f 3154/4993/1249 3152/4995/1249 3155/4996/1249 +f 3158/4997/1250 3157/4998/1250 3156/4999/1250 +f 3158/4997/1250 3156/4999/1250 3159/5000/1250 +f 3162/5001/1251 3161/5002/1251 3160/5003/1251 +f 3162/5001/1251 3160/5003/1251 3163/5004/1251 +f 3166/5005/1252 3165/5006/1252 3164/5007/1252 +f 3166/5005/1252 3164/5007/1252 3167/5008/1252 +f 3170/5009/1253 3169/5010/1253 3168/5011/1253 +f 3170/5009/1253 3168/5011/1253 3171/5012/1253 +f 3174/5013/1254 3173/5014/1254 3172/5015/1254 +f 3174/5013/1254 3172/5015/1254 3175/5016/1254 +f 3178/5017/1255 3177/5018/1255 3176/5019/1255 +f 3178/5017/1255 3176/5019/1255 3179/5020/1255 +f 3182/5021/1256 3181/5022/1256 3180/5023/1256 +f 3182/5021/1256 3180/5023/1256 3183/5024/1256 +f 3186/5025/1257 3185/5026/1257 3184/5027/1257 +f 3186/5025/1257 3184/5027/1257 3187/5028/1257 +f 3190/5029/1258 3189/5030/1258 3188/5031/1258 +f 3190/5029/1258 3188/5031/1258 3191/5032/1258 +f 3194/5033/1259 3193/5034/1259 3192/5035/1259 +f 3194/5033/1259 3192/5035/1259 3195/5036/1259 +f 3195/5037/1260 3192/5038/1260 3188/5039/1260 +f 3195/5037/1260 3188/5039/1260 3189/5040/1260 +f 3194/5041/1261 3190/5042/1261 3191/5043/1261 +f 3194/5041/1261 3191/5043/1261 3193/5044/1261 +f 3198/5045/1262 3197/5046/1262 3196/5047/1262 +f 3198/5045/1262 3196/5047/1262 3199/5048/1262 +f 3201/5049/1263 3200/5050/1263 3196/5051/1263 +f 3201/5049/1263 3196/5051/1263 3197/5052/1263 +f 3204/5053/1264 3203/5054/1264 3202/5055/1264 +f 3204/5053/1264 3202/5055/1264 3205/5056/1264 +f 3206/5057/1265 3205/5058/1265 3202/5059/1265 +f 3206/5057/1265 3202/5059/1265 3207/5060/1265 +f 3210/5061/1266 3209/5062/1266 3208/5063/1266 +f 3210/5061/1266 3208/5063/1266 3211/5064/1266 +f 3213/5065/1267 3212/5066/1267 3206/5067/1267 +f 3213/5065/1267 3206/5067/1267 3214/5068/1267 +f 3209/5069/1268 3216/5070/1268 3215/5071/1268 +f 3209/5069/1268 3215/5071/1268 3208/5072/1268 +f 3210/5073/1269 3211/5074/1269 3217/5075/1269 +f 3210/5073/1269 3217/5075/1269 3218/5076/1269 +f 3218/5077/1270 3217/5078/1270 3215/5079/1270 +f 3218/5077/1270 3215/5079/1270 3216/5080/1270 +f 3221/5081/1271 3220/5082/1271 3219/5083/1271 +f 3221/5081/1271 3219/5083/1271 3222/5084/1271 +f 3225/5085/1272 3224/5086/1272 3223/5087/1272 +f 3225/5085/1272 3223/5087/1272 3226/5088/1272 +f 3229/5089/1273 3228/5090/1273 3227/5091/1273 +f 3229/5089/1273 3227/5091/1273 3230/5092/1273 +f 3230/5093/1274 3227/5094/1274 3223/5095/1274 +f 3230/5093/1274 3223/5095/1274 3224/5096/1274 +f 3233/5097/1275 3232/5098/1275 3231/5099/1275 +f 3233/5097/1275 3231/5099/1275 3234/5100/1275 +f 3235/5101/1276 3234/5102/1276 3231/5103/1276 +f 3235/5101/1276 3231/5103/1276 3236/5104/1276 +f 3239/5105/1277 3238/5106/1277 3237/5107/1277 +f 3239/5105/1277 3237/5107/1277 3240/5108/1277 +f 3242/5109/1278 3241/5110/1278 3235/5111/1278 +f 3242/5109/1278 3235/5111/1278 3243/5112/1278 +f 3238/5113/1279 3245/5114/1279 3244/5115/1279 +f 3238/5113/1279 3244/5115/1279 3237/5116/1279 +f 3239/5117/1280 3240/5118/1280 3246/5119/1280 +f 3239/5117/1280 3246/5119/1280 3247/5120/1280 +f 3247/5121/1281 3246/5122/1281 3244/5123/1281 +f 3247/5121/1281 3244/5123/1281 3245/5124/1281 +f 3229/5125/1282 3225/5126/1282 3226/5127/1282 +f 3229/5125/1282 3226/5127/1282 3228/5128/1282 +f 3250/5129/1283 3249/5130/1283 3248/5131/1283 +f 3250/5129/1283 3248/5131/1283 3251/5132/1283 +f 3254/5133/1284 3253/5134/1284 3252/5135/1284 +f 3254/5133/1284 3252/5135/1284 3255/5136/1284 +f 3257/5137/1285 3256/5138/1285 3253/5139/1285 +f 3257/5137/1285 3253/5139/1285 3254/5140/1285 +f 3258/5141/1286 3255/5142/1286 3252/5143/1286 +f 3258/5141/1286 3252/5143/1286 3259/5144/1286 +f 3262/5145/1287 3261/5146/1287 3260/5147/1287 +f 3262/5145/1287 3260/5147/1287 3263/5148/1287 +f 3257/5149/1288 3258/5150/1288 3259/5151/1288 +f 3257/5149/1288 3259/5151/1288 3256/5152/1288 +f 3261/5153/1289 3265/5154/1289 3264/5155/1289 +f 3261/5153/1289 3264/5155/1289 3260/5156/1289 +f 3262/5157/1290 3263/5158/1290 3266/5159/1290 +f 3262/5157/1290 3266/5159/1290 3267/5160/1290 +f 3267/5161/1291 3266/5162/1291 3264/5163/1291 +f 3267/5161/1291 3264/5163/1291 3265/5164/1291 +f 3211/5165/1292 3208/5166/1292 3190/5167/1292 +f 3211/5165/1292 3190/5167/1292 3194/5168/1292 +f 3263/5169/1293 3260/5170/1293 3225/5171/1293 +f 3263/5169/1293 3225/5171/1293 3229/5172/1293 +f 3211/5173/1294 3194/5174/1294 3195/5175/1294 +f 3211/5173/1294 3195/5175/1294 3217/5176/1294 +f 3217/5177/1295 3195/5178/1295 3189/5179/1295 +f 3217/5177/1295 3189/5179/1295 3215/5180/1295 +f 3191/5181/1296 3188/5182/1296 3268/5183/1296 +f 3191/5181/1296 3268/5183/1296 3185/5184/1296 +f 3208/5185/1297 3215/5186/1297 3189/5187/1297 +f 3208/5185/1297 3189/5187/1297 3190/5188/1297 +f 3193/5189/1298 3191/5190/1298 3185/5191/1298 +f 3193/5189/1298 3185/5191/1298 3186/5192/1298 +f 3193/5193/1299 3186/5194/1299 3269/5195/1299 +f 3193/5193/1299 3269/5195/1299 3192/5196/1299 +f 3192/5197/1300 3269/5198/1300 3268/5199/1300 +f 3192/5197/1300 3268/5199/1300 3188/5200/1300 +f 3240/5201/1301 3237/5202/1301 3198/5203/1301 +f 3240/5201/1301 3198/5203/1301 3270/5204/1301 +f 3272/5205/1302 3271/5206/1302 3212/5207/1302 +f 3272/5205/1302 3212/5207/1302 3213/5208/1302 +f 3240/5209/1303 3270/5210/1303 3201/5211/1303 +f 3240/5209/1303 3201/5211/1303 3246/5212/1303 +f 3246/5213/1304 3201/5214/1304 3197/5215/1304 +f 3246/5213/1304 3197/5215/1304 3244/5216/1304 +f 3270/5217/1305 3273/5218/1305 3200/5219/1305 +f 3270/5217/1305 3200/5219/1305 3201/5220/1305 +f 3214/5221/1306 3274/5222/1306 3203/5223/1306 +f 3214/5221/1306 3203/5223/1306 3204/5224/1306 +f 3220/5225/1307 3204/5226/1307 3205/5227/1307 +f 3220/5225/1307 3205/5227/1307 3219/5228/1307 +f 3213/5229/1308 3214/5230/1308 3204/5231/1308 +f 3213/5229/1308 3204/5231/1308 3220/5232/1308 +f 3207/5233/1309 3202/5234/1309 3216/5235/1309 +f 3207/5233/1309 3216/5235/1309 3209/5236/1309 +f 3212/5237/1310 3219/5238/1310 3205/5239/1310 +f 3212/5237/1310 3205/5239/1310 3206/5240/1310 +f 3214/5241/1311 3206/5242/1311 3207/5243/1311 +f 3214/5241/1311 3207/5243/1311 3274/5244/1311 +f 3274/5245/1312 3207/5246/1312 3209/5247/1312 +f 3274/5245/1312 3209/5247/1312 3210/5248/1312 +f 3274/5249/1313 3210/5250/1313 3218/5251/1313 +f 3274/5249/1313 3218/5251/1313 3203/5252/1313 +f 3203/5253/1314 3218/5254/1314 3216/5255/1314 +f 3203/5253/1314 3216/5255/1314 3202/5256/1314 +f 3199/5257/1315 3196/5258/1315 3222/5259/1315 +f 3199/5257/1315 3222/5259/1315 3271/5260/1315 +f 3237/5261/1316 3244/5262/1316 3197/5263/1316 +f 3237/5261/1316 3197/5263/1316 3198/5264/1316 +f 3270/5265/1317 3198/5266/1317 3199/5267/1317 +f 3270/5265/1317 3199/5267/1317 3273/5268/1317 +f 3273/5269/1318 3199/5270/1318 3271/5271/1318 +f 3273/5269/1318 3271/5271/1318 3272/5272/1318 +f 3273/5273/1319 3272/5274/1319 3221/5275/1319 +f 3273/5273/1319 3221/5275/1319 3200/5276/1319 +f 3200/5277/1320 3221/5278/1320 3222/5279/1320 +f 3200/5277/1320 3222/5279/1320 3196/5280/1320 +f 3271/5281/1321 3222/5282/1321 3219/5283/1321 +f 3271/5281/1321 3219/5283/1321 3212/5284/1321 +f 3272/5285/1322 3213/5286/1322 3220/5287/1322 +f 3272/5285/1322 3220/5287/1322 3221/5288/1322 +f 3276/5289/1323 3275/5290/1323 3241/5291/1323 +f 3276/5289/1323 3241/5291/1323 3242/5292/1323 +f 3263/5293/1324 3229/5294/1324 3230/5295/1324 +f 3263/5293/1324 3230/5295/1324 3266/5296/1324 +f 3266/5297/1325 3230/5298/1325 3224/5299/1325 +f 3266/5297/1325 3224/5299/1325 3264/5300/1325 +f 3243/5301/1326 3277/5302/1326 3232/5303/1326 +f 3243/5301/1326 3232/5303/1326 3233/5304/1326 +f 3249/5305/1327 3233/5306/1327 3234/5307/1327 +f 3249/5305/1327 3234/5307/1327 3248/5308/1327 +f 3242/5309/1328 3243/5310/1328 3233/5311/1328 +f 3242/5309/1328 3233/5311/1328 3249/5312/1328 +f 3236/5313/1329 3231/5314/1329 3245/5315/1329 +f 3236/5313/1329 3245/5315/1329 3238/5316/1329 +f 3241/5317/1330 3248/5318/1330 3234/5319/1330 +f 3241/5317/1330 3234/5319/1330 3235/5320/1330 +f 3243/5321/1331 3235/5322/1331 3236/5323/1331 +f 3243/5321/1331 3236/5323/1331 3277/5324/1331 +f 3277/5325/1332 3236/5326/1332 3238/5327/1332 +f 3277/5325/1332 3238/5327/1332 3239/5328/1332 +f 3277/5329/1333 3239/5330/1333 3247/5331/1333 +f 3277/5329/1333 3247/5331/1333 3232/5332/1333 +f 3232/5333/1334 3247/5334/1334 3245/5335/1334 +f 3232/5333/1334 3245/5335/1334 3231/5336/1334 +f 3226/5337/1335 3223/5338/1335 3251/5339/1335 +f 3226/5337/1335 3251/5339/1335 3275/5340/1335 +f 3260/5341/1336 3264/5342/1336 3224/5343/1336 +f 3260/5341/1336 3224/5343/1336 3225/5344/1336 +f 3228/5345/1337 3226/5346/1337 3275/5347/1337 +f 3228/5345/1337 3275/5347/1337 3276/5348/1337 +f 3228/5349/1338 3276/5350/1338 3250/5351/1338 +f 3228/5349/1338 3250/5351/1338 3227/5352/1338 +f 3227/5353/1339 3250/5354/1339 3251/5355/1339 +f 3227/5353/1339 3251/5355/1339 3223/5356/1339 +f 3275/5357/1340 3251/5358/1340 3248/5359/1340 +f 3275/5357/1340 3248/5359/1340 3241/5360/1340 +f 3276/5361/1341 3242/5362/1341 3249/5363/1341 +f 3276/5361/1341 3249/5363/1341 3250/5364/1341 +f 3278/5365/1342 3254/5366/1342 3255/5367/1342 +f 3278/5365/1342 3255/5367/1342 3279/5368/1342 +f 3280/5369/1343 3257/5370/1343 3254/5371/1343 +f 3280/5369/1343 3254/5371/1343 3278/5372/1343 +f 3280/5373/1344 3281/5374/1344 3258/5375/1344 +f 3280/5373/1344 3258/5375/1344 3257/5376/1344 +f 3259/5377/1345 3252/5378/1345 3265/5379/1345 +f 3259/5377/1345 3265/5379/1345 3261/5380/1345 +f 3281/5381/1346 3279/5382/1346 3255/5383/1346 +f 3281/5381/1346 3255/5383/1346 3258/5384/1346 +f 3256/5385/1347 3259/5386/1347 3261/5387/1347 +f 3256/5385/1347 3261/5387/1347 3262/5388/1347 +f 3256/5389/1348 3262/5390/1348 3267/5391/1348 +f 3256/5389/1348 3267/5391/1348 3253/5392/1348 +f 3253/5393/1349 3267/5394/1349 3265/5395/1349 +f 3253/5393/1349 3265/5395/1349 3252/5396/1349 +f 3283/5397/1350 3282/5398/1350 3281/5399/1350 +f 3283/5397/1350 3281/5399/1350 3280/5400/1350 +f 3282/5401/1351 3284/5402/1351 3279/5403/1351 +f 3282/5401/1351 3279/5403/1351 3281/5404/1351 +f 3283/5405/1352 3280/5406/1352 3278/5407/1352 +f 3283/5405/1352 3278/5407/1352 3285/5408/1352 +f 3285/5409/1353 3278/5410/1353 3279/5411/1353 +f 3285/5409/1353 3279/5411/1353 3284/5412/1353 +f 3286/5413/1354 3187/5414/1354 3184/5415/1354 +f 3286/5413/1354 3184/5415/1354 3287/5416/1354 +f 3287/5417/1355 3184/5418/1355 3185/5419/1355 +f 3287/5417/1355 3185/5419/1355 3268/5420/1355 +f 3186/5421/1356 3187/5422/1356 3286/5423/1356 +f 3186/5421/1356 3286/5423/1356 3269/5424/1356 +f 3269/5425/1357 3286/5426/1357 3287/5427/1357 +f 3269/5425/1357 3287/5427/1357 3268/5428/1357 +f 3290/5429/1358 3289/5430/1358 3288/5431/1358 +f 3290/5429/1358 3288/5431/1358 3291/5432/1358 +f 3292/5433/1359 3291/5434/1359 3288/5435/1359 +f 3292/5433/1359 3288/5435/1359 3293/5436/1359 +f 3296/5437/1360 3295/5438/1360 3294/5439/1360 +f 3296/5437/1360 3294/5439/1360 3297/5440/1360 +f 3295/5441/1361 3299/5442/1361 3298/5443/1361 +f 3295/5441/1361 3298/5443/1361 3294/5444/1361 +f 3296/5445/1362 3297/5446/1362 3300/5447/1362 +f 3296/5445/1362 3300/5447/1362 3301/5448/1362 +f 3301/5449/1363 3300/5450/1363 3298/5451/1363 +f 3301/5449/1363 3298/5451/1363 3299/5452/1363 +f 3303/5453/1364 3302/5454/1364 3289/5455/1364 +f 3303/5453/1364 3289/5455/1364 3290/5456/1364 +f 3304/5457/1365 3290/5458/1365 3291/5459/1365 +f 3304/5457/1365 3291/5459/1365 3305/5460/1365 +f 3306/5461/1366 3303/5462/1366 3290/5463/1366 +f 3306/5461/1366 3290/5463/1366 3304/5464/1366 +f 3306/5465/1367 3307/5466/1367 3292/5467/1367 +f 3306/5465/1367 3292/5467/1367 3303/5468/1367 +f 3293/5469/1368 3288/5470/1368 3299/5471/1368 +f 3293/5469/1368 3299/5471/1368 3295/5472/1368 +f 3307/5473/1369 3305/5474/1369 3291/5475/1369 +f 3307/5473/1369 3291/5475/1369 3292/5476/1369 +f 3303/5477/1370 3292/5478/1370 3293/5479/1370 +f 3303/5477/1370 3293/5479/1370 3302/5480/1370 +f 3302/5481/1371 3293/5482/1371 3295/5483/1371 +f 3302/5481/1371 3295/5483/1371 3296/5484/1371 +f 3302/5485/1372 3296/5486/1372 3301/5487/1372 +f 3302/5485/1372 3301/5487/1372 3289/5488/1372 +f 3299/5489/1373 3288/5490/1373 3289/5491/1373 +f 3299/5489/1373 3289/5491/1373 3301/5492/1373 +f 3309/5493/1374 3308/5494/1374 3307/5495/1374 +f 3309/5493/1374 3307/5495/1374 3306/5496/1374 +f 3308/5497/1375 3310/5498/1375 3305/5499/1375 +f 3308/5497/1375 3305/5499/1375 3307/5500/1375 +f 3309/5501/1376 3306/5502/1376 3304/5503/1376 +f 3309/5501/1376 3304/5503/1376 3311/5504/1376 +f 3311/5505/1377 3304/5506/1377 3305/5507/1377 +f 3311/5505/1377 3305/5507/1377 3310/5508/1377 +f 3294/5509/1378 3298/5510/1378 3300/5511/1378 +f 3294/5509/1378 3300/5511/1378 3297/5512/1378 +f 3315/5513/1379 3314/5514/1379 3313/5515/1379 +f 3315/5513/1379 3313/5515/1379 3316/5516/1379 +f 3319/5517/1380 3318/5518/1380 3317/5519/1380 +f 3319/5517/1380 3317/5519/1380 3320/5520/1380 +f 3323/5521/1381 3322/5522/1381 3321/5523/1381 +f 3323/5521/1381 3321/5523/1381 3324/5524/1381 +f 3327/5525/1382 3326/5526/1382 3325/5527/1382 +f 3327/5525/1382 3325/5527/1382 3328/5528/1382 +f 3331/5529/1383 3330/5530/1383 3329/5531/1383 +f 3331/5529/1383 3329/5531/1383 3332/5532/1383 +f 3335/5533/1384 3334/5534/1384 3333/5535/1384 +f 3335/5533/1384 3333/5535/1384 3336/5536/1384 +f 3339/5537/1385 3338/5538/1385 3337/5539/1385 +f 3339/5537/1385 3337/5539/1385 3340/5540/1385 +f 3343/5541/1386 3342/5542/1386 3341/5543/1386 +f 3343/5541/1386 3341/5543/1386 3344/5544/1386 +f 3347/5545/1387 3346/5546/1387 3345/5547/1387 +f 3347/5545/1387 3345/5547/1387 3348/5548/1387 +f 3351/5549/1388 3350/5550/1388 3349/5551/1388 +f 3351/5549/1388 3349/5551/1388 3352/5552/1388 +f 3355/5553/1389 3354/5554/1389 3353/5555/1389 +f 3355/5553/1389 3353/5555/1389 3356/5556/1389 +f 3359/5557/1390 3358/5558/1390 3357/5559/1390 +f 3359/5557/1390 3357/5559/1390 3360/5560/1390 +f 3363/5561/1391 3362/5562/1391 3361/5563/1391 +f 3363/5561/1391 3361/5563/1391 3364/5564/1391 +f 3367/5565/1392 3366/5566/1392 3365/5567/1392 +f 3367/5565/1392 3365/5567/1392 3368/5568/1392 +f 3371/5569/1393 3370/5570/1393 3369/5571/1393 +f 3371/5569/1393 3369/5571/1393 3372/5572/1393 +f 3375/5573/1394 3374/5574/1394 3373/5575/1394 +f 3375/5573/1394 3373/5575/1394 3376/5576/1394 +f 3379/5577/1395 3378/5578/1395 3377/5579/1395 +f 3379/5577/1395 3377/5579/1395 3380/5580/1395 +f 3383/5581/1396 3382/5582/1396 3381/5583/1396 +f 3383/5581/1396 3381/5583/1396 3384/5584/1396 +f 3387/5585/1397 3386/5586/1397 3385/5587/1397 +f 3387/5585/1397 3385/5587/1397 3388/5588/1397 +f 3391/5589/1398 3390/5590/1398 3389/5591/1398 +f 3391/5589/1398 3389/5591/1398 3392/5592/1398 +f 3395/5593/1399 3394/5594/1399 3393/5595/1399 +f 3395/5593/1399 3393/5595/1399 3396/5596/1399 +f 3399/5597/1400 3398/5598/1400 3397/5599/1400 +f 3399/5597/1400 3397/5599/1400 3400/5600/1400 +f 3403/5601/1401 3402/5602/1401 3401/5603/1401 +f 3403/5601/1401 3401/5603/1401 3404/5604/1401 +f 3407/5605/1402 3406/5606/1402 3405/5607/1402 +f 3407/5605/1402 3405/5607/1402 3408/5608/1402 +f 3411/5609/1403 3410/5610/1403 3409/5611/1403 +f 3411/5609/1403 3409/5611/1403 3412/5612/1403 +f 3415/5613/1404 3414/5614/1404 3413/5615/1404 +f 3415/5613/1404 3413/5615/1404 3416/5616/1404 +f 3419/5617/1405 3418/5618/1405 3417/5619/1405 +f 3419/5617/1405 3417/5619/1405 3420/5620/1405 +f 3423/5621/1406 3422/5622/1406 3421/5623/1406 +f 3423/5621/1406 3421/5623/1406 3424/5624/1406 +f 3427/5625/1407 3426/5626/1407 3425/5627/1407 +f 3427/5625/1407 3425/5627/1407 3428/5628/1407 +f 3431/5629/1408 3430/5630/1408 3429/5631/1408 +f 3431/5629/1408 3429/5631/1408 3432/5632/1408 +f 3435/5633/1409 3434/5634/1409 3433/5635/1409 +f 3435/5633/1409 3433/5635/1409 3436/5636/1409 +f 3439/5637/1410 3438/5638/1410 3437/5639/1410 +f 3439/5637/1410 3437/5639/1410 3440/5640/1410 +f 3443/5641/1411 3442/5642/1411 3441/5643/1411 +f 3443/5641/1411 3441/5643/1411 3444/5644/1411 +f 3447/5645/1412 3446/5646/1412 3445/5647/1412 +f 3447/5645/1412 3445/5647/1412 3448/5648/1412 +f 3451/5649/1413 3450/5650/1413 3449/5651/1413 +f 3451/5649/1413 3449/5651/1413 3452/5652/1413 +f 3455/5653/1414 3454/5654/1414 3453/5655/1414 +f 3455/5653/1414 3453/5655/1414 3456/5656/1414 +f 3459/5657/1415 3458/5658/1415 3457/5659/1415 +f 3459/5657/1415 3457/5659/1415 3460/5660/1415 +f 3463/5661/1416 3462/5662/1416 3461/5663/1416 +f 3463/5661/1416 3461/5663/1416 3464/5664/1416 +f 3467/5665/1417 3466/5666/1417 3465/5667/1417 +f 3467/5665/1417 3465/5667/1417 3468/5668/1417 +f 3471/5669/1418 3470/5670/1418 3469/5671/1418 +f 3471/5669/1418 3469/5671/1418 3472/5672/1418 +f 3475/5673/1419 3474/5674/1419 3473/5675/1419 +f 3475/5673/1419 3473/5675/1419 3476/5676/1419 +f 3479/5677/1420 3478/5678/1420 3477/5679/1420 +f 3479/5677/1420 3477/5679/1420 3480/5680/1420 +f 3483/5681/1421 3482/5682/1421 3481/5683/1421 +f 3483/5681/1421 3481/5683/1421 3484/5684/1421 +f 3487/5685/1422 3486/5686/1422 3485/5687/1422 +f 3487/5685/1422 3485/5687/1422 3488/5688/1422 +f 3491/5689/1423 3490/5690/1423 3489/5691/1423 +f 3491/5689/1423 3489/5691/1423 3492/5692/1423 +f 3495/5693/1424 3494/5694/1424 3493/5695/1424 +f 3495/5693/1424 3493/5695/1424 3496/5696/1424 +f 3499/5697/1425 3498/5698/1425 3497/5699/1425 +f 3499/5697/1425 3497/5699/1425 3500/5700/1425 +f 3503/5701/1426 3502/5702/1426 3501/5703/1426 +f 3503/5701/1426 3501/5703/1426 3504/5704/1426 +f 3507/5705/1427 3506/5706/1427 3505/5707/1427 +f 3507/5705/1427 3505/5707/1427 3508/5708/1427 +f 3511/5709/1428 3510/5710/1428 3509/5711/1428 +f 3511/5709/1428 3509/5711/1428 3512/5712/1428 +f 3515/5713/1429 3514/5714/1429 3513/5715/1429 +f 3515/5713/1429 3513/5715/1429 3516/5716/1429 +f 3519/5717/1430 3518/5718/1430 3517/5719/1430 +f 3519/5717/1430 3517/5719/1430 3520/5720/1430 +f 3523/5721/1431 3522/5722/1431 3521/5723/1431 +f 3523/5721/1431 3521/5723/1431 3524/5724/1431 +f 3527/5725/1432 3526/5726/1432 3525/5727/1432 +f 3527/5725/1432 3525/5727/1432 3528/5728/1432 +f 3531/5729/1433 3530/5730/1433 3529/5731/1433 +f 3531/5729/1433 3529/5731/1433 3532/5732/1433 +f 3535/5733/1434 3534/5734/1434 3533/5735/1434 +f 3535/5733/1434 3533/5735/1434 3536/5736/1434 +f 3539/5737/1435 3538/5738/1435 3537/5739/1435 +f 3539/5737/1435 3537/5739/1435 3540/5740/1435 +f 3543/5741/1436 3542/5742/1436 3541/5743/1436 +f 3543/5741/1436 3541/5743/1436 3544/5744/1436 +f 3547/5745/1437 3546/5746/1437 3545/5747/1437 +f 3547/5745/1437 3545/5747/1437 3548/5748/1437 +f 3551/5749/1438 3550/5750/1438 3549/5751/1438 +f 3551/5749/1438 3549/5751/1438 3552/5752/1438 +f 3555/5753/1439 3554/5754/1439 3553/5755/1439 +f 3555/5753/1439 3553/5755/1439 3556/5756/1439 +f 3559/5757/1440 3558/5758/1440 3557/5759/1440 +f 3559/5757/1440 3557/5759/1440 3560/5760/1440 +f 3563/5761/1441 3562/5762/1441 3561/5763/1441 +f 3563/5761/1441 3561/5763/1441 3564/5764/1441 +f 3567/5765/1442 3566/5766/1442 3565/5767/1442 +f 3567/5765/1442 3565/5767/1442 3568/5768/1442 +f 3571/5769/1443 3570/5770/1443 3569/5771/1443 +f 3571/5769/1443 3569/5771/1443 3572/5772/1443 +f 3575/5773/1444 3574/5774/1444 3573/5775/1444 +f 3575/5773/1444 3573/5775/1444 3576/5776/1444 +f 3579/5777/1445 3578/5778/1445 3577/5779/1445 +f 3579/5777/1445 3577/5779/1445 3580/5780/1445 +f 3583/5781/1446 3582/5782/1446 3581/5783/1446 +f 3583/5781/1446 3581/5783/1446 3584/5784/1446 +f 3587/5785/1447 3586/5786/1447 3585/5787/1447 +f 3587/5785/1447 3585/5787/1447 3588/5788/1447 +f 3591/5789/1448 3590/5790/1448 3589/5791/1448 +f 3591/5789/1448 3589/5791/1448 3592/5792/1448 +f 3595/5793/1449 3594/5794/1449 3593/5795/1449 +f 3595/5793/1449 3593/5795/1449 3596/5796/1449 +f 3599/5797/1450 3598/5798/1450 3597/5799/1450 +f 3599/5797/1450 3597/5799/1450 3600/5800/1450 +f 3603/5801/1451 3602/5802/1451 3601/5803/1451 +f 3603/5801/1451 3601/5803/1451 3604/5804/1451 +f 3607/5805/1452 3606/5806/1452 3605/5807/1452 +f 3607/5805/1452 3605/5807/1452 3608/5808/1452 +f 3611/5809/1453 3610/5810/1453 3609/5811/1453 +f 3611/5809/1453 3609/5811/1453 3612/5812/1453 +f 3615/5813/1454 3614/5814/1454 3613/5815/1454 +f 3615/5813/1454 3613/5815/1454 3616/5816/1454 +f 3619/5817/1455 3618/5818/1455 3617/5819/1455 +f 3619/5817/1455 3617/5819/1455 3620/5820/1455 +f 3623/5821/1456 3622/5822/1456 3621/5823/1456 +f 3623/5821/1456 3621/5823/1456 3624/5824/1456 +f 3627/5825/1457 3626/5826/1457 3625/5827/1457 +f 3627/5825/1457 3625/5827/1457 3628/5828/1457 +f 3631/5829/1458 3630/5830/1458 3629/5831/1458 +f 3631/5829/1458 3629/5831/1458 3632/5832/1458 +f 3634/5833/1459 3633/5834/1459 3312/5835/1459 +f 3634/5833/1459 3312/5835/1459 3635/5836/1459 +f 4/5837/1460 3637/5838/1460 3636/5839/1460 +f 4/5837/1460 3636/5839/1460 3638/5840/1460 +f 3641/5841/1461 3640/5842/1461 3639/5843/1461 +f 3641/5841/1461 3639/5843/1461 3642/5844/1461 +f 3645/5845/1462 3644/5846/1462 3643/5847/1462 +f 3645/5845/1462 3643/5847/1462 3646/5848/1462 +f 3649/5849/1463 3648/5850/1463 3647/5851/1463 +f 3649/5849/1463 3647/5851/1463 3650/5852/1463 +f 3653/5853/1464 3652/5854/1464 3651/5855/1464 +f 3653/5853/1464 3651/5855/1464 3654/5856/1464 +f 3657/5857/1465 3656/5858/1465 3655/5859/1465 +f 3657/5857/1465 3655/5859/1465 3658/5860/1465 +f 3661/5861/1466 3660/5862/1466 3659/5863/1466 +f 3661/5861/1466 3659/5863/1466 3662/5864/1466 +f 3665/5865/1467 3664/5866/1467 3663/5867/1467 +f 3665/5865/1467 3663/5867/1467 3666/5868/1467 +f 3669/5869/1468 3668/5870/1468 3667/5871/1468 +f 3669/5869/1468 3667/5871/1468 3670/5872/1468 +f 3673/5873/1469 3672/5874/1469 3671/5875/1469 +f 3673/5873/1469 3671/5875/1469 3674/5876/1469 +f 3677/5877/1470 3676/5878/1470 3675/5879/1470 +f 3677/5877/1470 3675/5879/1470 3678/5880/1470 +f 3681/5881/1471 3680/5882/1471 3679/5883/1471 +f 3681/5881/1471 3679/5883/1471 3682/5884/1471 +f 3685/5885/1472 3684/5886/1472 3683/5887/1472 +f 3685/5885/1472 3683/5887/1472 3686/5888/1472 +f 3689/5889/1473 3688/5890/1473 3687/5891/1473 +f 3689/5889/1473 3687/5891/1473 3690/5892/1473 +f 3693/5893/1474 3692/5894/1474 3691/5895/1474 +f 3693/5893/1474 3691/5895/1474 3694/5896/1474 +f 3697/5897/1475 3696/5898/1475 3695/5899/1475 +f 3697/5897/1475 3695/5899/1475 3698/5900/1475 +f 3701/5901/1476 3700/5902/1476 3699/5903/1476 +f 3701/5901/1476 3699/5903/1476 3702/5904/1476 +f 3705/5905/1477 3704/5906/1477 3703/5907/1477 +f 3705/5905/1477 3703/5907/1477 3706/5908/1477 +f 3709/5909/1478 3708/5910/1478 3707/5911/1478 +f 3709/5909/1478 3707/5911/1478 3710/5912/1478 +f 3713/5913/1479 3712/5914/1479 3711/5915/1479 +f 3713/5913/1479 3711/5915/1479 3714/5916/1479 +f 3717/5917/1480 3716/5918/1480 3715/5919/1480 +f 3717/5917/1480 3715/5919/1480 3718/5920/1480 +f 3721/5921/1481 3720/5922/1481 3719/5923/1481 +f 3721/5921/1481 3719/5923/1481 3722/5924/1481 +f 3725/5925/1482 3724/5926/1482 3723/5927/1482 +f 3725/5925/1482 3723/5927/1482 3726/5928/1482 +f 3729/5929/1483 3728/5930/1483 3727/5931/1483 +f 3729/5929/1483 3727/5931/1483 3730/5932/1483 +f 3733/5933/1484 3732/5934/1484 3731/5935/1484 +f 3733/5933/1484 3731/5935/1484 3734/5936/1484 +f 3737/5937/1485 3736/5938/1485 3735/5939/1485 +f 3737/5937/1485 3735/5939/1485 3738/5940/1485 +f 3741/5941/1486 3740/5942/1486 3739/5943/1486 +f 3741/5941/1486 3739/5943/1486 3742/5944/1486 +f 3745/5945/1487 3744/5946/1487 3743/5947/1487 +f 3745/5945/1487 3743/5947/1487 3746/5948/1487 +f 3749/5949/1488 3748/5950/1488 3747/5951/1488 +f 3749/5949/1488 3747/5951/1488 3750/5952/1488 +f 3753/5953/1489 3752/5954/1489 3751/5955/1489 +f 3753/5953/1489 3751/5955/1489 3754/5956/1489 +f 3757/5957/1490 3756/5958/1490 3755/5959/1490 +f 3757/5957/1490 3755/5959/1490 3758/5960/1490 +f 3761/5961/1491 3760/5962/1491 3759/5963/1491 +f 3761/5961/1491 3759/5963/1491 3762/5964/1491 +f 3765/5965/1492 3764/5966/1492 3763/5967/1492 +f 3765/5965/1492 3763/5967/1492 3766/5968/1492 +f 3769/5969/1493 3768/5970/1493 3767/5971/1493 +f 3769/5969/1493 3767/5971/1493 3770/5972/1493 +f 3773/5973/1494 3772/5974/1494 3771/5975/1494 +f 3773/5973/1494 3771/5975/1494 3774/5976/1494 +f 3777/5977/1495 3776/5978/1495 3775/5979/1495 +f 3777/5977/1495 3775/5979/1495 3778/5980/1495 +f 3781/5981/1496 3780/5982/1496 3779/5983/1496 +f 3781/5981/1496 3779/5983/1496 3782/5984/1496 +f 3785/5985/1497 3784/5986/1497 3783/5987/1497 +f 3785/5985/1497 3783/5987/1497 10/5988/1497 +f 3788/5989/1498 3787/5990/1498 3786/5991/1498 +f 3788/5989/1498 3786/5991/1498 3789/5992/1498 +f 3792/5993/1499 3791/5994/1499 3790/5995/1499 +f 3792/5993/1499 3790/5995/1499 3793/5996/1499 +f 3796/5997/1500 3795/5998/1500 3794/5999/1500 +f 3796/5997/1500 3794/5999/1500 3797/6000/1500 +f 3800/6001/1501 3799/6002/1501 3798/6003/1501 +f 3800/6001/1501 3798/6003/1501 3801/6004/1501 +f 3804/6005/1502 3803/6006/1502 3802/6007/1502 +f 3804/6005/1502 3802/6007/1502 3805/6008/1502 +f 3808/6009/1503 3807/6010/1503 3806/6011/1503 +f 3808/6009/1503 3806/6011/1503 3809/6012/1503 +f 3812/6013/1504 3811/6014/1504 3810/6015/1504 +f 3812/6013/1504 3810/6015/1504 3813/6016/1504 +f 3816/6017/1505 3815/6018/1505 3814/6019/1505 +f 3816/6017/1505 3814/6019/1505 3817/6020/1505 +f 3820/6021/1506 3819/6022/1506 3818/6023/1506 +f 3820/6021/1506 3818/6023/1506 3821/6024/1506 +f 3824/6025/1507 3823/6026/1507 3822/6027/1507 +f 3824/6025/1507 3822/6027/1507 3825/6028/1507 +f 3828/6029/1508 3827/6030/1508 3826/6031/1508 +f 3828/6029/1508 3826/6031/1508 3829/6032/1508 +f 3832/6033/1509 3831/6034/1509 3830/6035/1509 +f 3832/6033/1509 3830/6035/1509 3833/6036/1509 +f 3836/6037/1510 3835/6038/1510 3834/6039/1510 +f 3836/6037/1510 3834/6039/1510 3837/6040/1510 +f 3840/6041/1511 3839/6042/1511 3838/6043/1511 +f 3840/6041/1511 3838/6043/1511 3841/6044/1511 +f 3844/6045/1512 3843/6046/1512 3842/6047/1512 +f 3844/6045/1512 3842/6047/1512 3845/6048/1512 +f 3848/6049/1513 3847/6050/1513 3846/6051/1513 +f 3848/6049/1513 3846/6051/1513 3849/6052/1513 +f 3852/6053/1514 3851/6054/1514 3850/6055/1514 +f 3852/6053/1514 3850/6055/1514 3853/6056/1514 +f 3856/6057/1515 3855/6058/1515 3854/6059/1515 +f 3856/6057/1515 3854/6059/1515 3857/6060/1515 +f 3860/6061/1516 3859/6062/1516 3858/6063/1516 +f 3860/6061/1516 3858/6063/1516 3861/6064/1516 +f 3864/6065/1517 3863/6066/1517 3862/6067/1517 +f 3864/6065/1517 3862/6067/1517 3865/6068/1517 +f 3868/6069/1518 3867/6070/1518 3866/6071/1518 +f 3868/6069/1518 3866/6071/1518 3869/6072/1518 +f 3872/6073/1519 3871/6074/1519 3870/6075/1519 +f 3872/6073/1519 3870/6075/1519 3873/6076/1519 +f 3876/6077/1520 3875/6078/1520 3874/6079/1520 +f 3876/6077/1520 3874/6079/1520 3877/6080/1520 +f 3880/6081/1521 3879/6082/1521 3878/6083/1521 +f 3880/6081/1521 3878/6083/1521 3881/6084/1521 +f 3881/6085/1522 3878/6086/1522 3874/6087/1522 +f 3881/6085/1522 3874/6087/1522 3875/6088/1522 +f 3880/6089/1523 3876/6090/1523 3877/6091/1523 +f 3880/6089/1523 3877/6091/1523 3879/6092/1523 +f 3884/6093/1524 3883/6094/1524 3882/6095/1524 +f 3884/6093/1524 3882/6095/1524 3885/6096/1524 +f 3886/6097/1525 3885/6098/1525 3882/6099/1525 +f 3886/6097/1525 3882/6099/1525 3887/6100/1525 +f 3890/6101/1526 3889/6102/1526 3888/6103/1526 +f 3890/6101/1526 3888/6103/1526 3891/6104/1526 +f 3893/6105/1527 3892/6106/1527 3886/6107/1527 +f 3893/6105/1527 3886/6107/1527 3894/6108/1527 +f 3889/6109/1528 3896/6110/1528 3895/6111/1528 +f 3889/6109/1528 3895/6111/1528 3888/6112/1528 +f 3890/6113/1529 3891/6114/1529 3897/6115/1529 +f 3890/6113/1529 3897/6115/1529 3898/6116/1529 +f 3898/6117/1530 3897/6118/1530 3895/6119/1530 +f 3898/6117/1530 3895/6119/1530 3896/6120/1530 +f 3901/6121/1531 3900/6122/1531 3899/6123/1531 +f 3901/6121/1531 3899/6123/1531 3902/6124/1531 +f 3891/6125/1532 3888/6126/1532 3876/6127/1532 +f 3891/6125/1532 3876/6127/1532 3880/6128/1532 +f 3891/6129/1533 3880/6130/1533 3881/6131/1533 +f 3891/6129/1533 3881/6131/1533 3897/6132/1533 +f 3897/6133/1534 3881/6134/1534 3875/6135/1534 +f 3897/6133/1534 3875/6135/1534 3895/6136/1534 +f 3877/6137/1535 3874/6138/1535 3903/6139/1535 +f 3877/6137/1535 3903/6139/1535 3871/6140/1535 +f 3888/6141/1536 3895/6142/1536 3875/6143/1536 +f 3888/6141/1536 3875/6143/1536 3876/6144/1536 +f 3879/6145/1537 3877/6146/1537 3871/6147/1537 +f 3879/6145/1537 3871/6147/1537 3872/6148/1537 +f 3879/6149/1538 3872/6150/1538 3904/6151/1538 +f 3879/6149/1538 3904/6151/1538 3878/6152/1538 +f 3878/6153/1539 3904/6154/1539 3903/6155/1539 +f 3878/6153/1539 3903/6155/1539 3874/6156/1539 +f 3906/6157/1540 3905/6158/1540 3892/6159/1540 +f 3906/6157/1540 3892/6159/1540 3893/6160/1540 +f 3894/6161/1541 3907/6162/1541 3883/6163/1541 +f 3894/6161/1541 3883/6163/1541 3884/6164/1541 +f 3900/6165/1542 3884/6166/1542 3885/6167/1542 +f 3900/6165/1542 3885/6167/1542 3899/6168/1542 +f 3893/6169/1543 3894/6170/1543 3884/6171/1543 +f 3893/6169/1543 3884/6171/1543 3900/6172/1543 +f 3887/6173/1544 3882/6174/1544 3896/6175/1544 +f 3887/6173/1544 3896/6175/1544 3889/6176/1544 +f 3892/6177/1545 3899/6178/1545 3885/6179/1545 +f 3892/6177/1545 3885/6179/1545 3886/6180/1545 +f 3894/6181/1546 3886/6182/1546 3887/6183/1546 +f 3894/6181/1546 3887/6183/1546 3907/6184/1546 +f 3907/6185/1547 3887/6186/1547 3889/6187/1547 +f 3907/6185/1547 3889/6187/1547 3890/6188/1547 +f 3907/6189/1548 3890/6190/1548 3898/6191/1548 +f 3907/6189/1548 3898/6191/1548 3883/6192/1548 +f 3883/6193/1549 3898/6194/1549 3896/6195/1549 +f 3883/6193/1549 3896/6195/1549 3882/6196/1549 +f 3905/6197/1550 3902/6198/1550 3899/6199/1550 +f 3905/6197/1550 3899/6199/1550 3892/6200/1550 +f 3906/6201/1551 3893/6202/1551 3900/6203/1551 +f 3906/6201/1551 3900/6203/1551 3901/6204/1551 +f 3908/6205/1552 3873/6206/1552 3870/6207/1552 +f 3908/6205/1552 3870/6207/1552 3909/6208/1552 +f 3909/6209/1553 3870/6210/1553 3871/6211/1553 +f 3909/6209/1553 3871/6211/1553 3903/6212/1553 +f 3872/6213/1554 3873/6214/1554 3908/6215/1554 +f 3872/6213/1554 3908/6215/1554 3904/6216/1554 +f 3904/6217/1555 3908/6218/1555 3909/6219/1555 +f 3904/6217/1555 3909/6219/1555 3903/6220/1555 +f 3912/6221/1556 3911/6222/1556 3910/6223/1556 +f 3912/6221/1556 3910/6223/1556 3913/6224/1556 +f 3914/6225/1557 3913/6226/1557 3910/6227/1557 +f 3914/6225/1557 3910/6227/1557 3915/6228/1557 +f 3918/6229/1558 3917/6230/1558 3916/6231/1558 +f 3918/6229/1558 3916/6231/1558 3919/6232/1558 +f 3917/6233/1559 3921/6234/1559 3920/6235/1559 +f 3917/6233/1559 3920/6235/1559 3916/6236/1559 +f 3918/6237/1560 3919/6238/1560 3922/6239/1560 +f 3918/6237/1560 3922/6239/1560 3923/6240/1560 +f 3923/6241/1561 3922/6242/1561 3920/6243/1561 +f 3923/6241/1561 3920/6243/1561 3921/6244/1561 +f 3925/6245/1562 3924/6246/1562 3911/6247/1562 +f 3925/6245/1562 3911/6247/1562 3912/6248/1562 +f 3926/6249/1563 3912/6250/1563 3913/6251/1563 +f 3926/6249/1563 3913/6251/1563 3927/6252/1563 +f 3928/6253/1564 3925/6254/1564 3912/6255/1564 +f 3928/6253/1564 3912/6255/1564 3926/6256/1564 +f 3928/6257/1565 3929/6258/1565 3914/6259/1565 +f 3928/6257/1565 3914/6259/1565 3925/6260/1565 +f 3915/6261/1566 3910/6262/1566 3921/6263/1566 +f 3915/6261/1566 3921/6263/1566 3917/6264/1566 +f 3929/6265/1567 3927/6266/1567 3913/6267/1567 +f 3929/6265/1567 3913/6267/1567 3914/6268/1567 +f 3925/6269/1568 3914/6270/1568 3915/6271/1568 +f 3925/6269/1568 3915/6271/1568 3924/6272/1568 +f 3924/6273/1569 3915/6274/1569 3917/6275/1569 +f 3924/6273/1569 3917/6275/1569 3918/6276/1569 +f 3924/6277/1570 3918/6278/1570 3923/6279/1570 +f 3924/6277/1570 3923/6279/1570 3911/6280/1570 +f 3921/6281/1571 3910/6282/1571 3911/6283/1571 +f 3921/6281/1571 3911/6283/1571 3923/6284/1571 +f 3931/6285/1572 3930/6286/1572 3929/6287/1572 +f 3931/6285/1572 3929/6287/1572 3928/6288/1572 +f 3930/6289/1573 3932/6290/1573 3927/6291/1573 +f 3930/6289/1573 3927/6291/1573 3929/6292/1573 +f 3931/6293/1574 3928/6294/1574 3926/6295/1574 +f 3931/6293/1574 3926/6295/1574 3933/6296/1574 +f 3933/6297/1575 3926/6298/1575 3927/6299/1575 +f 3933/6297/1575 3927/6299/1575 3932/6300/1575 +f 3916/6301/1576 3920/6302/1576 3922/6303/1576 +f 3916/6301/1576 3922/6303/1576 3919/6304/1576 usemtl wooden_chain_fence -f 3934/6305/1577 3935/6306/1577 3937/6307/1577 3936/6308/1577 -f 3939/6309/1578 3938/6310/1578 3940/6311/1578 3941/6312/1578 -f 3939/6313/1579 3935/6314/1579 3934/6315/1579 3938/6316/1579 -f 3940/6317/1580 3936/6318/1580 3937/6319/1580 3941/6320/1580 -f 3938/6321/1581 3934/6322/1581 3936/6323/1581 3940/6324/1581 -f 3935/6325/1582 3942/6326/1582 3943/6327/1582 3937/6328/1582 -f 3944/6329/1583 3939/6330/1583 3941/6331/1583 3945/6332/1583 -f 3944/6333/1584 3942/6334/1584 3935/6335/1584 3939/6336/1584 -f 3941/6337/1585 3937/6338/1585 3943/6339/1585 3945/6340/1585 -f 3942/6341/1586 3946/6342/1586 3947/6343/1586 3943/6344/1586 -f 3948/6345/1587 3944/6346/1587 3945/6347/1587 3949/6348/1587 -f 3948/6349/1588 3946/6350/1588 3942/6351/1588 3944/6352/1588 -f 3945/6353/1589 3943/6354/1589 3947/6355/1589 3949/6356/1589 -f 3948/6357/1590 3946/6358/1590 3947/6359/1590 3949/6360/1590 -f 3953/6361/1591 3951/6362/1591 3950/6363/1591 3952/6364/1591 -f 3956/6365/1592 3954/6366/1592 3955/6367/1592 3957/6368/1592 -f 3950/6369/1593 3951/6370/1593 3955/6371/1593 3954/6372/1593 -f 3953/6373/1594 3952/6374/1594 3956/6375/1594 3957/6376/1594 -f 3952/6377/1595 3950/6378/1595 3954/6379/1595 3956/6380/1595 -f 3959/6381/1596 3958/6382/1596 3951/6383/1596 3953/6384/1596 -f 3957/6385/1597 3955/6386/1597 3960/6387/1597 3961/6388/1597 -f 3951/6389/1598 3958/6390/1598 3960/6391/1598 3955/6392/1598 -f 3959/6393/1599 3953/6394/1599 3957/6395/1599 3961/6396/1599 -f 3963/6397/1600 3962/6398/1600 3958/6399/1600 3959/6400/1600 -f 3961/6401/1601 3960/6402/1601 3964/6403/1601 3965/6404/1601 -f 3958/6405/1602 3962/6406/1602 3964/6407/1602 3960/6408/1602 -f 3963/6409/1603 3959/6410/1603 3961/6411/1603 3965/6412/1603 -f 3963/6413/1604 3962/6414/1604 3964/6415/1604 3965/6416/1604 +f 3934/6305/1577 3935/6306/1577 3937/6307/1577 +f 3934/6305/1577 3937/6307/1577 3936/6308/1577 +f 3939/6309/1578 3938/6310/1578 3940/6311/1578 +f 3939/6309/1578 3940/6311/1578 3941/6312/1578 +f 3939/6313/1579 3935/6314/1579 3934/6315/1579 +f 3939/6313/1579 3934/6315/1579 3938/6316/1579 +f 3940/6317/1580 3936/6318/1580 3937/6319/1580 +f 3940/6317/1580 3937/6319/1580 3941/6320/1580 +f 3938/6321/1581 3934/6322/1581 3936/6323/1581 +f 3938/6321/1581 3936/6323/1581 3940/6324/1581 +f 3935/6325/1582 3942/6326/1582 3943/6327/1582 +f 3935/6325/1582 3943/6327/1582 3937/6328/1582 +f 3944/6329/1583 3939/6330/1583 3941/6331/1583 +f 3944/6329/1583 3941/6331/1583 3945/6332/1583 +f 3944/6333/1584 3942/6334/1584 3935/6335/1584 +f 3944/6333/1584 3935/6335/1584 3939/6336/1584 +f 3941/6337/1585 3937/6338/1585 3943/6339/1585 +f 3941/6337/1585 3943/6339/1585 3945/6340/1585 +f 3942/6341/1586 3946/6342/1586 3947/6343/1586 +f 3942/6341/1586 3947/6343/1586 3943/6344/1586 +f 3948/6345/1587 3944/6346/1587 3945/6347/1587 +f 3948/6345/1587 3945/6347/1587 3949/6348/1587 +f 3948/6349/1588 3946/6350/1588 3942/6351/1588 +f 3948/6349/1588 3942/6351/1588 3944/6352/1588 +f 3945/6353/1589 3943/6354/1589 3947/6355/1589 +f 3945/6353/1589 3947/6355/1589 3949/6356/1589 +f 3948/6357/1590 3946/6358/1590 3947/6359/1590 +f 3948/6357/1590 3947/6359/1590 3949/6360/1590 +f 3953/6361/1591 3951/6362/1591 3950/6363/1591 +f 3953/6361/1591 3950/6363/1591 3952/6364/1591 +f 3956/6365/1592 3954/6366/1592 3955/6367/1592 +f 3956/6365/1592 3955/6367/1592 3957/6368/1592 +f 3950/6369/1593 3951/6370/1593 3955/6371/1593 +f 3950/6369/1593 3955/6371/1593 3954/6372/1593 +f 3953/6373/1594 3952/6374/1594 3956/6375/1594 +f 3953/6373/1594 3956/6375/1594 3957/6376/1594 +f 3952/6377/1595 3950/6378/1595 3954/6379/1595 +f 3952/6377/1595 3954/6379/1595 3956/6380/1595 +f 3959/6381/1596 3958/6382/1596 3951/6383/1596 +f 3959/6381/1596 3951/6383/1596 3953/6384/1596 +f 3957/6385/1597 3955/6386/1597 3960/6387/1597 +f 3957/6385/1597 3960/6387/1597 3961/6388/1597 +f 3951/6389/1598 3958/6390/1598 3960/6391/1598 +f 3951/6389/1598 3960/6391/1598 3955/6392/1598 +f 3959/6393/1599 3953/6394/1599 3957/6395/1599 +f 3959/6393/1599 3957/6395/1599 3961/6396/1599 +f 3963/6397/1600 3962/6398/1600 3958/6399/1600 +f 3963/6397/1600 3958/6399/1600 3959/6400/1600 +f 3961/6401/1601 3960/6402/1601 3964/6403/1601 +f 3961/6401/1601 3964/6403/1601 3965/6404/1601 +f 3958/6405/1602 3962/6406/1602 3964/6407/1602 +f 3958/6405/1602 3964/6407/1602 3960/6408/1602 +f 3963/6409/1603 3959/6410/1603 3961/6411/1603 +f 3963/6409/1603 3961/6411/1603 3965/6412/1603 +f 3963/6413/1604 3962/6414/1604 3964/6415/1604 +f 3963/6413/1604 3964/6415/1604 3965/6416/1604 usemtl metal_decoration2_razor_wire -f 3966/6417/1605 3967/6418/1605 3968/6419/1605 3969/6420/1605 -f 3970/6421/1606 3971/6422/1606 3972/6423/1606 3973/6424/1606 -f 3974/6425/1607 3975/6426/1607 3976/6427/1607 3977/6428/1607 -f 3978/6429/1608 3979/6430/1608 3980/6431/1608 3981/6432/1608 -f 3982/6433/1609 3983/6434/1609 3984/6435/1609 3985/6436/1609 -f 3986/6437/1610 3987/6438/1610 3988/6439/1610 3989/6440/1610 -f 3990/6441/1611 3991/6442/1611 3992/6443/1611 3993/6444/1611 -f 3994/6445/1612 3995/6446/1612 3996/6447/1612 3997/6448/1612 -f 3998/6449/1613 3999/6450/1613 4000/6451/1613 4001/6452/1613 -f 4002/6453/1614 4003/6454/1614 4004/6455/1614 4005/6456/1614 -f 4006/6457/1615 4007/6458/1615 4008/6459/1615 4009/6460/1615 -f 4010/6461/1616 4011/6462/1616 4012/6463/1616 4013/6464/1616 -f 4014/6465/1617 4015/6466/1617 4016/6467/1617 4017/6468/1617 -f 4018/6469/1618 4019/6470/1618 4020/6471/1618 4021/6472/1618 -f 4022/6473/1619 4023/6474/1619 4024/6475/1619 4025/6476/1619 -f 4026/6477/1620 4027/6478/1620 4028/6479/1620 4029/6480/1620 -f 4030/6481/1621 4031/6482/1621 4032/6483/1621 4033/6484/1621 -f 4034/6485/1622 4035/6486/1622 4036/6487/1622 4037/6488/1622 -f 4038/6489/1623 4039/6490/1623 4040/6491/1623 4041/6492/1623 -f 4042/6493/1624 4043/6494/1624 4044/6495/1624 4045/6496/1624 -f 4046/6497/1625 4047/6498/1625 4048/6499/1625 4049/6500/1625 -f 4050/6501/1626 4051/6502/1626 4052/6503/1626 4053/6504/1626 -f 4054/6505/1627 4055/6506/1627 4056/6507/1627 4057/6508/1627 -f 4058/6509/1628 4059/6510/1628 4060/6511/1628 4061/6512/1628 -f 4062/6513/1629 4063/6514/1629 4064/6515/1629 4065/6516/1629 -f 4066/6517/1630 4067/6518/1630 4068/6519/1630 4069/6520/1630 -f 4070/6521/1631 4071/6522/1631 4072/6523/1631 4073/6524/1631 -f 4074/6525/1632 4075/6526/1632 4076/6527/1632 4077/6528/1632 -f 4078/6529/1633 4079/6530/1633 4080/6531/1633 4081/6532/1633 -f 4082/6533/1634 4083/6534/1634 4084/6535/1634 4085/6536/1634 -f 4086/6537/1635 4087/6538/1635 3/6539/1635 4088/6540/1635 -f 4089/6541/1636 4090/6542/1636 4091/6543/1636 4092/6544/1636 -f 4093/6545/1637 4094/6546/1637 4095/6547/1637 4096/6548/1637 -f 4097/6549/1638 4098/6550/1638 4099/6551/1638 4100/6552/1638 -f 4101/6553/1639 4102/6554/1639 4103/6555/1639 4104/6556/1639 -f 4105/6557/1640 4106/6558/1640 4107/6559/1640 4108/6560/1640 -f 4109/6561/1641 4110/6562/1641 4111/6563/1641 4112/6564/1641 -f 4113/6565/1642 4114/6566/1642 4115/6567/1642 4116/6568/1642 -f 4117/6569/1643 4112/6570/1643 4111/6571/1643 4118/6572/1643 -f 4119/6573/1644 4117/6574/1644 4118/6575/1644 4120/6576/1644 -f 4109/6577/1645 4121/6578/1645 4122/6579/1645 4119/6580/1645 -f 4123/6581/1646 4124/6582/1646 4112/6583/1646 4117/6584/1646 -f 4122/6585/1647 4123/6586/1647 4117/6587/1647 4119/6588/1647 -f 4110/6589/1648 4109/6590/1648 4119/6591/1648 4120/6592/1648 -f 4121/6593/1649 4109/6594/1649 4112/6595/1649 4124/6596/1649 -f 4125/6597/1650 4126/6598/1650 4114/6599/1650 4113/6600/1650 -f 4127/6601/1651 4116/6602/1651 4115/6603/1651 4128/6604/1651 -f 4125/6605/1652 4127/6606/1652 4128/6607/1652 4126/6608/1652 -f 4126/6609/1653 4122/6610/1653 4121/6611/1653 4114/6612/1653 -f 4114/6613/1654 4121/6614/1654 4124/6615/1654 4115/6616/1654 -f 4128/6617/1655 4115/6618/1655 4124/6619/1655 4123/6620/1655 -f 4126/6621/1656 4128/6622/1656 4123/6623/1656 4122/6624/1656 -f 4120/6625/1657 4118/6626/1657 4111/6627/1657 4110/6628/1657 -f 4129/6629/1658 4130/6630/1658 4131/6631/1658 4132/6632/1658 -f 4133/6633/1659 4134/6634/1659 4135/6635/1659 4136/6636/1659 -f 4137/6637/1660 4138/6638/1660 4139/6639/1660 4140/6640/1660 -f 4141/6641/1661 4142/6642/1661 4143/6643/1661 4144/6644/1661 -f 4145/6645/1662 4146/6646/1662 4147/6647/1662 4148/6648/1662 -f 4149/6649/1663 4150/6650/1663 4151/6651/1663 4152/6652/1663 -f 4153/6653/1664 4154/6654/1664 4155/6655/1664 4156/6656/1664 -f 4157/6657/1665 4158/6658/1665 4159/6659/1665 4160/6660/1665 -f 4161/6661/1666 4162/6662/1666 4163/6663/1666 4164/6664/1666 -f 4165/6665/1667 4166/6666/1667 4167/6667/1667 4168/6668/1667 -f 4169/6669/1668 4170/6670/1668 4171/6671/1668 4172/6672/1668 -f 4173/6673/1669 4174/6674/1669 4175/6675/1669 4176/6676/1669 -f 4177/6677/1670 4178/6678/1670 4179/6679/1670 4180/6680/1670 -f 4181/6681/1671 4182/6682/1671 4183/6683/1671 4184/6684/1671 -f 4185/6685/1672 4186/6686/1672 4187/6687/1672 4188/6688/1672 -f 4189/6689/1673 4190/6690/1673 4191/6691/1673 4192/6692/1673 -f 4193/6693/1674 4194/6694/1674 4195/6695/1674 4196/6696/1674 -f 4197/6697/1675 4198/6698/1675 4199/6699/1675 4200/6700/1675 -f 4193/6701/1676 4197/6702/1676 4200/6703/1676 4194/6704/1676 -f 4196/6705/1677 4195/6706/1677 4199/6707/1677 4198/6708/1677 -f 4203/6709/1678 4204/6710/1678 4205/6711/1678 4206/6712/1678 -f 4207/6713/1679 4208/6714/1679 4209/6715/1679 4210/6716/1679 -f 4208/6717/1680 4211/6718/1680 4212/6719/1680 4209/6720/1680 -f 4207/6721/1681 4210/6722/1681 4213/6723/1681 4214/6724/1681 -f 4215/6725/1682 4216/6726/1682 4217/6727/1682 4218/6728/1682 -f 4214/6729/1683 4213/6730/1683 4212/6731/1683 4211/6732/1683 -f 4219/6733/1684 4220/6734/1684 4216/6735/1684 4215/6736/1684 -f 4221/6737/1685 4218/6738/1685 4217/6739/1685 4222/6740/1685 -f 4219/6741/1686 4221/6742/1686 4222/6743/1686 4220/6744/1686 -f 4195/6745/1687 4215/6746/1687 4218/6747/1687 4199/6748/1687 -f 4201/6749/1688 4223/6750/1688 4224/6751/1688 4202/6752/1688 -f 4200/6753/1689 4199/6754/1689 4218/6755/1689 4221/6756/1689 -f 4194/6757/1690 4200/6758/1690 4221/6759/1690 4219/6760/1690 -f 4206/6761/1691 4193/6762/1691 4196/6763/1691 4223/6764/1691 -f 4194/6765/1692 4219/6766/1692 4215/6767/1692 4195/6768/1692 -f 4223/6769/1693 4196/6770/1693 4198/6771/1693 4224/6772/1693 -f 4205/6773/1694 4224/6774/1694 4198/6775/1694 4197/6776/1694 -f 4206/6777/1695 4205/6778/1695 4197/6779/1695 4193/6780/1695 -f 4203/6781/1696 4206/6782/1696 4223/6783/1696 4201/6784/1696 -f 4204/6785/1697 4202/6786/1697 4224/6787/1697 4205/6788/1697 -f 4210/6789/1698 4209/6790/1698 4225/6791/1698 4226/6792/1698 -f 4209/6793/1699 4212/6794/1699 4227/6795/1699 4225/6796/1699 -f 4213/6797/1700 4228/6798/1700 4227/6799/1700 4212/6800/1700 -f 4220/6801/1701 4207/6802/1701 4214/6803/1701 4216/6804/1701 -f 4210/6805/1702 4226/6806/1702 4228/6807/1702 4213/6808/1702 -f 4216/6809/1703 4214/6810/1703 4211/6811/1703 4217/6812/1703 -f 4222/6813/1704 4217/6814/1704 4211/6815/1704 4208/6816/1704 -f 4220/6817/1705 4222/6818/1705 4208/6819/1705 4207/6820/1705 -f 4228/6821/1706 4229/6822/1706 4230/6823/1706 4227/6824/1706 -f 4226/6825/1707 4231/6826/1707 4229/6827/1707 4228/6828/1707 -f 4225/6829/1708 4227/6830/1708 4230/6831/1708 4232/6832/1708 -f 4226/6833/1709 4225/6834/1709 4232/6835/1709 4231/6836/1709 -f 4234/6837/1710 4235/6838/1710 4236/6839/1710 4237/6840/1710 -f 4238/6841/1711 4239/6842/1711 4240/6843/1711 4241/6844/1711 -f 4242/6845/1712 4243/6846/1712 4244/6847/1712 4245/6848/1712 -f 4246/6849/1713 4247/6850/1713 4248/6851/1713 4249/6852/1713 -f 4250/6853/1714 4251/6854/1714 4252/6855/1714 4253/6856/1714 -f 4254/6857/1715 4255/6858/1715 4256/6859/1715 4257/6860/1715 -f 4258/6861/1716 4259/6862/1716 4260/6863/1716 4261/6864/1716 -f 4262/6865/1717 4263/6866/1717 4264/6867/1717 4265/6868/1717 -f 4266/6869/1718 4267/6870/1718 4268/6871/1718 4269/6872/1718 -f 4270/6873/1719 4271/6874/1719 4272/6875/1719 4273/6876/1719 -f 4274/6877/1720 4275/6878/1720 4276/6879/1720 4277/6880/1720 -f 4278/6881/1721 4279/6882/1721 4280/6883/1721 4281/6884/1721 -f 4282/6885/1722 4283/6886/1722 4284/6887/1722 4285/6888/1722 -f 4286/6889/1723 4287/6890/1723 4288/6891/1723 4289/6892/1723 -f 4290/6893/1724 4291/6894/1724 4292/6895/1724 4293/6896/1724 -f 4294/6897/1725 4295/6898/1725 4296/6899/1725 4297/6900/1725 -f 4298/6901/1726 4299/6902/1726 4300/6903/1726 4301/6904/1726 -f 4302/6905/1727 4303/6906/1727 4304/6907/1727 4305/6908/1727 -f 4306/6909/1728 4307/6910/1728 4308/6911/1728 4309/6912/1728 -f 4310/6913/1729 4311/6914/1729 4312/6915/1729 4313/6916/1729 -f 4233/6917/1730 4314/6918/1730 4315/6919/1730 4316/6920/1730 -f 4317/6921/1731 4318/6922/1731 4319/6923/1731 4320/6924/1731 -f 4321/6925/1732 4322/6926/1732 4323/6927/1732 4324/6928/1732 -f 4325/6929/1733 4326/6930/1733 4327/6931/1733 4328/6932/1733 -f 4329/6933/1734 4330/6934/1734 4331/6935/1734 4332/6936/1734 -f 4333/6937/1735 4334/6938/1735 4335/6939/1735 4336/6940/1735 -f 4337/6941/1736 4338/6942/1736 4339/6943/1736 4340/6944/1736 -f 4341/6945/1737 4342/6946/1737 4343/6947/1737 4344/6948/1737 -f 4345/6949/1738 4346/6950/1738 4347/6951/1738 4348/6952/1738 -f 4349/6953/1739 4350/6954/1739 4351/6955/1739 4352/6956/1739 -f 4353/6957/1740 4354/6958/1740 4355/6959/1740 4356/6960/1740 -f 4357/6961/1741 4358/6962/1741 4359/6963/1741 4360/6964/1741 -f 4361/6965/1742 4362/6966/1742 4363/6967/1742 4364/6968/1742 -f 4365/6969/1743 4366/6970/1743 4367/6971/1743 4368/6972/1743 -f 4369/6973/1744 4370/6974/1744 4371/6975/1744 4372/6976/1744 -f 4373/6977/1745 4374/6978/1745 4375/6979/1745 4376/6980/1745 -f 4377/6981/1746 4378/6982/1746 4379/6983/1746 4380/6984/1746 -f 4381/6985/1747 4382/6986/1747 4383/6987/1747 4384/6988/1747 -f 4385/6989/1748 4380/6990/1748 4379/6991/1748 4386/6992/1748 -f 4387/6993/1749 4385/6994/1749 4386/6995/1749 4388/6996/1749 -f 4377/6997/1750 4389/6998/1750 4390/6999/1750 4387/7000/1750 -f 4391/7001/1751 4392/7002/1751 4380/7003/1751 4385/7004/1751 -f 4390/7005/1752 4391/7006/1752 4385/7007/1752 4387/7008/1752 -f 4378/7009/1753 4377/7010/1753 4387/7011/1753 4388/7012/1753 -f 4389/7013/1754 4377/7014/1754 4380/7015/1754 4392/7016/1754 -f 4393/7017/1755 4394/7018/1755 4382/7019/1755 4381/7020/1755 -f 4395/7021/1756 4384/7022/1756 4383/7023/1756 4396/7024/1756 -f 4393/7025/1757 4395/7026/1757 4396/7027/1757 4394/7028/1757 -f 4394/7029/1758 4390/7030/1758 4389/7031/1758 4382/7032/1758 -f 4382/7033/1759 4389/7034/1759 4392/7035/1759 4383/7036/1759 -f 4396/7037/1760 4383/7038/1760 4392/7039/1760 4391/7040/1760 -f 4394/7041/1761 4396/7042/1761 4391/7043/1761 4390/7044/1761 -f 4388/7045/1762 4386/7046/1762 4379/7047/1762 4378/7048/1762 -f 4397/7049/1763 4398/7050/1763 4399/7051/1763 4400/7052/1763 -f 4401/7053/1764 4402/7054/1764 4403/7055/1764 4404/7056/1764 -f 4405/7057/1765 4406/7058/1765 4407/7059/1765 4408/7060/1765 -f 4409/7061/1766 4410/7062/1766 4411/7063/1766 4412/7064/1766 -f 4413/7065/1767 4414/7066/1767 4415/7067/1767 4416/7068/1767 -f 4417/7069/1768 4418/7070/1768 4419/7071/1768 4420/7072/1768 -f 4421/7073/1769 4422/7074/1769 4423/7075/1769 4424/7076/1769 -f 4425/7077/1770 4426/7078/1770 4427/7079/1770 4428/7080/1770 -f 4429/7081/1771 4430/7082/1771 4431/7083/1771 4432/7084/1771 -f 4433/7085/1772 4434/7086/1772 4435/7087/1772 4436/7088/1772 -f 4437/7089/1773 4438/7090/1773 4439/7091/1773 4440/7092/1773 -f 4441/7093/1774 4442/7094/1774 4443/7095/1774 4444/7096/1774 -f 4445/7097/1775 4446/7098/1775 4447/7099/1775 4448/7100/1775 -f 4449/7101/1776 4450/7102/1776 4451/7103/1776 4452/7104/1776 -f 4453/7105/1777 4454/7106/1777 4455/7107/1777 4456/7108/1777 -f 4457/7109/1778 4458/7110/1778 4459/7111/1778 4460/7112/1778 -f 4461/7113/1779 4462/7114/1779 4463/7115/1779 4464/7116/1779 -f 4465/7117/1780 4466/7118/1780 4467/7119/1780 4468/7120/1780 -f 4469/7121/1781 4470/7122/1781 4471/7123/1781 4472/7124/1781 -f 4465/7125/1782 4469/7126/1782 4472/7127/1782 4466/7128/1782 -f 4468/7129/1783 4467/7130/1783 4471/7131/1783 4470/7132/1783 -f 4473/7133/1784 4474/7134/1784 4475/7135/1784 4476/7136/1784 -f 4473/7137/1785 4477/7138/1785 4478/7139/1785 4474/7140/1785 -f 4479/7141/1786 4480/7142/1786 4481/7143/1786 4482/7144/1786 -f 4479/7145/1787 4482/7146/1787 4483/7147/1787 4484/7148/1787 -f 4485/7149/1788 4486/7150/1788 4487/7151/1788 4488/7152/1788 -f 4483/7153/1789 4489/7154/1789 4490/7155/1789 4491/7156/1789 -f 4492/7157/1790 4493/7158/1790 4486/7159/1790 4485/7160/1790 -f 4494/7161/1791 4488/7162/1791 4487/7163/1791 4495/7164/1791 -f 4492/7165/1792 4494/7166/1792 4495/7167/1792 4493/7168/1792 -f 4496/7169/1793 4497/7170/1793 4498/7171/1793 4499/7172/1793 -f 4500/7173/1794 4501/7174/1794 4502/7175/1794 4503/7176/1794 -f 4504/7177/1795 4505/7178/1795 4506/7179/1795 4507/7180/1795 -f 4500/7181/1796 4504/7182/1796 4507/7183/1796 4501/7184/1796 -f 4508/7185/1797 4509/7186/1797 4510/7187/1797 4511/7188/1797 -f 4508/7189/1798 4511/7190/1798 4512/7191/1798 4513/7192/1798 -f 4514/7193/1799 4515/7194/1799 4516/7195/1799 4517/7196/1799 -f 4512/7197/1800 4518/7198/1800 4519/7199/1800 4520/7200/1800 -f 4521/7201/1801 4522/7202/1801 4515/7203/1801 4514/7204/1801 -f 4523/7205/1802 4517/7206/1802 4516/7207/1802 4524/7208/1802 -f 4521/7209/1803 4523/7210/1803 4524/7211/1803 4522/7212/1803 -f 4503/7213/1804 4502/7214/1804 4506/7215/1804 4505/7216/1804 -f 4525/7217/1805 4526/7218/1805 4527/7219/1805 4528/7220/1805 -f 4529/7221/1806 4530/7222/1806 4531/7223/1806 4532/7224/1806 -f 4530/7225/1807 4533/7226/1807 4534/7227/1807 4531/7228/1807 -f 4529/7229/1808 4532/7230/1808 4535/7231/1808 4536/7232/1808 -f 4537/7233/1809 4538/7234/1809 4539/7235/1809 4540/7236/1809 -f 4536/7237/1810 4535/7238/1810 4534/7239/1810 4533/7240/1810 -f 4541/7241/1811 4542/7242/1811 4538/7243/1811 4537/7244/1811 -f 4543/7245/1812 4540/7246/1812 4539/7247/1812 4544/7248/1812 -f 4541/7249/1813 4543/7250/1813 4544/7251/1813 4542/7252/1813 -f 4467/7253/1814 4485/7254/1814 4488/7255/1814 4471/7256/1814 -f 4502/7257/1815 4537/7258/1815 4540/7259/1815 4506/7260/1815 -f 4472/7261/1816 4471/7262/1816 4488/7263/1816 4494/7264/1816 -f 4466/7265/1817 4472/7266/1817 4494/7267/1817 4492/7268/1817 -f 4545/7269/1818 4465/7270/1818 4468/7271/1818 4462/7272/1818 -f 4466/7273/1819 4492/7274/1819 4485/7275/1819 4467/7276/1819 -f 4462/7277/1820 4468/7278/1820 4470/7279/1820 4463/7280/1820 -f 4546/7281/1821 4463/7282/1821 4470/7283/1821 4469/7284/1821 -f 4545/7285/1822 4546/7286/1822 4469/7287/1822 4465/7288/1822 -f 4475/7289/1823 4514/7290/1823 4517/7291/1823 4547/7292/1823 -f 4489/7293/1824 4548/7294/1824 4549/7295/1824 4490/7296/1824 -f 4478/7297/1825 4547/7298/1825 4517/7299/1825 4523/7300/1825 -f 4474/7301/1826 4478/7302/1826 4523/7303/1826 4521/7304/1826 -f 4477/7305/1827 4550/7306/1827 4547/7307/1827 4478/7308/1827 -f 4480/7309/1828 4551/7310/1828 4491/7311/1828 4481/7312/1828 -f 4482/7313/1829 4481/7314/1829 4497/7315/1829 4496/7316/1829 -f 4481/7317/1830 4491/7318/1830 4490/7319/1830 4497/7320/1830 -f 4493/7321/1831 4479/7322/1831 4484/7323/1831 4486/7324/1831 -f 4482/7325/1832 4496/7326/1832 4489/7327/1832 4483/7328/1832 -f 4484/7329/1833 4483/7330/1833 4491/7331/1833 4551/7332/1833 -f 4486/7333/1834 4484/7334/1834 4551/7335/1834 4487/7336/1834 -f 4495/7337/1835 4487/7338/1835 4551/7339/1835 4480/7340/1835 -f 4493/7341/1836 4495/7342/1836 4480/7343/1836 4479/7344/1836 -f 4499/7345/1837 4473/7346/1837 4476/7347/1837 4548/7348/1837 -f 4474/7349/1838 4521/7350/1838 4514/7351/1838 4475/7352/1838 -f 4476/7353/1839 4475/7354/1839 4547/7355/1839 4550/7356/1839 -f 4548/7357/1840 4476/7358/1840 4550/7359/1840 4549/7360/1840 -f 4498/7361/1841 4549/7362/1841 4550/7363/1841 4477/7364/1841 -f 4499/7365/1842 4498/7366/1842 4477/7367/1842 4473/7368/1842 -f 4496/7369/1843 4499/7370/1843 4548/7371/1843 4489/7372/1843 -f 4497/7373/1844 4490/7374/1844 4549/7375/1844 4498/7376/1844 -f 4518/7377/1845 4552/7378/1845 4553/7379/1845 4519/7380/1845 -f 4507/7381/1846 4506/7382/1846 4540/7383/1846 4543/7384/1846 -f 4501/7385/1847 4507/7386/1847 4543/7387/1847 4541/7388/1847 -f 4509/7389/1848 4554/7390/1848 4520/7391/1848 4510/7392/1848 -f 4511/7393/1849 4510/7394/1849 4526/7395/1849 4525/7396/1849 -f 4510/7397/1850 4520/7398/1850 4519/7399/1850 4526/7400/1850 -f 4522/7401/1851 4508/7402/1851 4513/7403/1851 4515/7404/1851 -f 4511/7405/1852 4525/7406/1852 4518/7407/1852 4512/7408/1852 -f 4513/7409/1853 4512/7410/1853 4520/7411/1853 4554/7412/1853 -f 4515/7413/1854 4513/7414/1854 4554/7415/1854 4516/7416/1854 -f 4524/7417/1855 4516/7418/1855 4554/7419/1855 4509/7420/1855 -f 4522/7421/1856 4524/7422/1856 4509/7423/1856 4508/7424/1856 -f 4528/7425/1857 4500/7426/1857 4503/7427/1857 4552/7428/1857 -f 4501/7429/1858 4541/7430/1858 4537/7431/1858 4502/7432/1858 -f 4552/7433/1859 4503/7434/1859 4505/7435/1859 4553/7436/1859 -f 4527/7437/1860 4553/7438/1860 4505/7439/1860 4504/7440/1860 -f 4528/7441/1861 4527/7442/1861 4504/7443/1861 4500/7444/1861 -f 4525/7445/1862 4528/7446/1862 4552/7447/1862 4518/7448/1862 -f 4526/7449/1863 4519/7450/1863 4553/7451/1863 4527/7452/1863 -f 4532/7453/1864 4531/7454/1864 4555/7455/1864 4556/7456/1864 -f 4531/7457/1865 4534/7458/1865 4557/7459/1865 4555/7460/1865 -f 4535/7461/1866 4558/7462/1866 4557/7463/1866 4534/7464/1866 -f 4542/7465/1867 4529/7466/1867 4536/7467/1867 4538/7468/1867 -f 4532/7469/1868 4556/7470/1868 4558/7471/1868 4535/7472/1868 -f 4538/7473/1869 4536/7474/1869 4533/7475/1869 4539/7476/1869 -f 4544/7477/1870 4539/7478/1870 4533/7479/1870 4530/7480/1870 -f 4542/7481/1871 4544/7482/1871 4530/7483/1871 4529/7484/1871 -f 4558/7485/1872 4559/7486/1872 4560/7487/1872 4557/7488/1872 -f 4556/7489/1873 4561/7490/1873 4559/7491/1873 4558/7492/1873 -f 4555/7493/1874 4557/7494/1874 4560/7495/1874 4562/7496/1874 -f 4556/7497/1875 4555/7498/1875 4562/7499/1875 4561/7500/1875 -f 4461/7501/1876 4464/7502/1876 4563/7503/1876 4564/7504/1876 -f 4462/7505/1877 4461/7506/1877 4564/7507/1877 4545/7508/1877 -f 4563/7509/1878 4464/7510/1878 4463/7511/1878 4546/7512/1878 -f 4564/7513/1879 4563/7514/1879 4546/7515/1879 4545/7516/1879 -f 4565/7517/1880 4566/7518/1880 4567/7519/1880 4568/7520/1880 -f 4565/7521/1881 4568/7522/1881 4569/7523/1881 4570/7524/1881 -f 4571/7525/1882 4572/7526/1882 4573/7527/1882 4574/7528/1882 -f 4575/7529/1883 4576/7530/1883 4572/7531/1883 4571/7532/1883 -f 4577/7533/1884 4574/7534/1884 4573/7535/1884 4578/7536/1884 -f 4575/7537/1885 4577/7538/1885 4578/7539/1885 4576/7540/1885 -f 4566/7541/1886 4579/7542/1886 4580/7543/1886 4567/7544/1886 -f 4568/7545/1887 4567/7546/1887 4581/7547/1887 4582/7548/1887 -f 4567/7549/1888 4580/7550/1888 4583/7551/1888 4581/7552/1888 -f 4569/7553/1889 4584/7554/1889 4583/7555/1889 4580/7556/1889 -f 4576/7557/1890 4565/7558/1890 4570/7559/1890 4572/7560/1890 -f 4568/7561/1891 4582/7562/1891 4584/7563/1891 4569/7564/1891 -f 4570/7565/1892 4569/7566/1892 4580/7567/1892 4579/7568/1892 -f 4572/7569/1893 4570/7570/1893 4579/7571/1893 4573/7572/1893 -f 4578/7573/1894 4573/7574/1894 4579/7575/1894 4566/7576/1894 -f 4566/7577/1895 4565/7578/1895 4576/7579/1895 4578/7580/1895 -f 4584/7581/1896 4585/7582/1896 4586/7583/1896 4583/7584/1896 -f 4582/7585/1897 4587/7586/1897 4585/7587/1897 4584/7588/1897 -f 4581/7589/1898 4583/7590/1898 4586/7591/1898 4588/7592/1898 -f 4582/7593/1899 4581/7594/1899 4588/7595/1899 4587/7596/1899 -f 4577/7597/1900 4575/7598/1900 4571/7599/1900 4574/7600/1900 -f 4590/7601/1901 4591/7602/1901 4592/7603/1901 4593/7604/1901 -f 4594/7605/1902 4595/7606/1902 4596/7607/1902 4597/7608/1902 -f 4598/7609/1903 4599/7610/1903 4600/7611/1903 4601/7612/1903 -f 4602/7613/1904 4603/7614/1904 4604/7615/1904 4605/7616/1904 -f 4606/7617/1905 4607/7618/1905 4608/7619/1905 4609/7620/1905 -f 4610/7621/1906 4611/7622/1906 4612/7623/1906 4613/7624/1906 -f 4614/7625/1907 4615/7626/1907 4616/7627/1907 4617/7628/1907 -f 4618/7629/1908 4619/7630/1908 4620/7631/1908 4621/7632/1908 -f 4622/7633/1909 4623/7634/1909 4624/7635/1909 4625/7636/1909 -f 4626/7637/1910 4627/7638/1910 4628/7639/1910 4629/7640/1910 -f 4630/7641/1911 4631/7642/1911 4632/7643/1911 4633/7644/1911 -f 4634/7645/1912 4635/7646/1912 4636/7647/1912 4637/7648/1912 -f 4638/7649/1913 4639/7650/1913 4640/7651/1913 4641/7652/1913 -f 4642/7653/1914 4643/7654/1914 4644/7655/1914 4645/7656/1914 -f 4646/7657/1915 4647/7658/1915 4648/7659/1915 4649/7660/1915 -f 4650/7661/1916 4651/7662/1916 4652/7663/1916 4653/7664/1916 -f 4654/7665/1917 4655/7666/1917 4656/7667/1917 4657/7668/1917 -f 4658/7669/1918 4659/7670/1918 4660/7671/1918 4661/7672/1918 -f 4662/7673/1919 4663/7674/1919 4664/7675/1919 4665/7676/1919 -f 4666/7677/1920 4667/7678/1920 4668/7679/1920 4669/7680/1920 -f 4670/7681/1921 4671/7682/1921 4672/7683/1921 4673/7684/1921 -f 4674/7685/1922 4675/7686/1922 4676/7687/1922 4677/7688/1922 -f 4678/7689/1923 4679/7690/1923 4680/7691/1923 4681/7692/1923 -f 4682/7693/1924 4683/7694/1924 4684/7695/1924 4685/7696/1924 -f 4686/7697/1925 4687/7698/1925 4688/7699/1925 4689/7700/1925 -f 4690/7701/1926 4691/7702/1926 4692/7703/1926 4693/7704/1926 -f 4694/7705/1927 4695/7706/1927 4696/7707/1927 4697/7708/1927 -f 4698/7709/1928 4699/7710/1928 4700/7711/1928 4701/7712/1928 -f 4702/7713/1929 4703/7714/1929 4704/7715/1929 4705/7716/1929 -f 4706/7717/1930 4707/7718/1930 4708/7719/1930 4709/7720/1930 -f 4710/7721/1931 4711/7722/1931 4712/7723/1931 4713/7724/1931 -f 4714/7725/1932 4715/7726/1932 4716/7727/1932 4717/7728/1932 -f 4718/7729/1933 4719/7730/1933 4720/7731/1933 4721/7732/1933 -f 4722/7733/1934 4723/7734/1934 4724/7735/1934 4725/7736/1934 -f 4726/7737/1935 4727/7738/1935 4728/7739/1935 4729/7740/1935 -f 4730/7741/1936 4731/7742/1936 4732/7743/1936 4733/7744/1936 -f 4734/7745/1937 4735/7746/1937 4736/7747/1937 4737/7748/1937 -f 4738/7749/1938 4739/7750/1938 4740/7751/1938 4741/7752/1938 -f 4742/7753/1939 4743/7754/1939 4744/7755/1939 4745/7756/1939 -f 4746/7757/1940 4747/7758/1940 4748/7759/1940 4749/7760/1940 -f 4750/7761/1941 4751/7762/1941 4752/7763/1941 4753/7764/1941 -f 4754/7765/1942 4755/7766/1942 4756/7767/1942 4757/7768/1942 -f 4758/7769/1943 4759/7770/1943 4760/7771/1943 4761/7772/1943 -f 4762/7773/1944 4763/7774/1944 4764/7775/1944 4765/7776/1944 -f 4766/7777/1945 4767/7778/1945 4768/7779/1945 4769/7780/1945 -f 4770/7781/1946 4771/7782/1946 4772/7783/1946 4773/7784/1946 -f 4774/7785/1947 4775/7786/1947 4776/7787/1947 4777/7788/1947 -f 4778/7789/1948 4779/7790/1948 4780/7791/1948 4781/7792/1948 -f 4782/7793/1949 4783/7794/1949 4784/7795/1949 4785/7796/1949 -f 4786/7797/1950 4787/7798/1950 4788/7799/1950 4789/7800/1950 -f 4790/7801/1951 4791/7802/1951 4792/7803/1951 4793/7804/1951 -f 4794/7805/1952 4795/7806/1952 4796/7807/1952 4797/7808/1952 -f 4798/7809/1953 4799/7810/1953 4800/7811/1953 4801/7812/1953 -f 4802/7813/1954 4803/7814/1954 4804/7815/1954 4805/7816/1954 -f 4806/7817/1955 4807/7818/1955 4808/7819/1955 4809/7820/1955 -f 4810/7821/1956 4811/7822/1956 4812/7823/1956 4813/7824/1956 -f 4814/7825/1957 4815/7826/1957 4816/7827/1957 4817/7828/1957 -f 4818/7829/1958 4819/7830/1958 4820/7831/1958 4821/7832/1958 -f 4822/7833/1959 4823/7834/1959 4824/7835/1959 4825/7836/1959 -f 4826/7837/1960 4827/7838/1960 4828/7839/1960 4829/7840/1960 -f 4830/7841/1961 4831/7842/1961 4832/7843/1961 4833/7844/1961 -f 4834/7845/1962 4835/7846/1962 4836/7847/1962 4837/7848/1962 -f 4838/7849/1963 4839/7850/1963 4840/7851/1963 4841/7852/1963 -f 4842/7853/1964 4843/7854/1964 4844/7855/1964 4845/7856/1964 -f 4846/7857/1965 4847/7858/1965 4848/7859/1965 4849/7860/1965 -f 4850/7861/1966 4851/7862/1966 4852/7863/1966 4853/7864/1966 -f 4854/7865/1967 4855/7866/1967 4856/7867/1967 4857/7868/1967 -f 4858/7869/1968 4859/7870/1968 4860/7871/1968 4861/7872/1968 -f 4862/7873/1969 4863/7874/1969 4864/7875/1969 4865/7876/1969 -f 4866/7877/1970 4867/7878/1970 4868/7879/1970 4869/7880/1970 -f 4870/7881/1971 4871/7882/1971 4872/7883/1971 4873/7884/1971 -f 4874/7885/1972 4875/7886/1972 4876/7887/1972 4877/7888/1972 -f 4878/7889/1973 4879/7890/1973 4880/7891/1973 4881/7892/1973 -f 4882/7893/1974 4883/7894/1974 4884/7895/1974 4885/7896/1974 -f 4886/7897/1975 4887/7898/1975 4888/7899/1975 4889/7900/1975 -f 4890/7901/1976 4891/7902/1976 4892/7903/1976 4893/7904/1976 -f 4894/7905/1977 4895/7906/1977 4896/7907/1977 4897/7908/1977 -f 4898/7909/1978 4899/7910/1978 4900/7911/1978 4901/7912/1978 -f 4902/7913/1979 4903/7914/1979 4904/7915/1979 4905/7916/1979 -f 4906/7917/1980 4907/7918/1980 4908/7919/1980 4909/7920/1980 -f 4589/7921/1981 4910/7922/1981 4911/7923/1981 4912/7924/1981 -f 4913/7925/1982 4914/7926/1982 4915/7927/1982 4916/7928/1982 -f 4917/7929/1983 4918/7930/1983 4919/7931/1983 4920/7932/1983 -f 4921/7933/1984 4922/7934/1984 4923/7935/1984 4924/7936/1984 -f 4925/7937/1985 4926/7938/1985 4927/7939/1985 4928/7940/1985 -f 4929/7941/1986 4930/7942/1986 4931/7943/1986 4932/7944/1986 -f 4933/7945/1987 4934/7946/1987 4935/7947/1987 4936/7948/1987 -f 4937/7949/1988 4938/7950/1988 4939/7951/1988 4940/7952/1988 -f 4941/7953/1989 4942/7954/1989 4943/7955/1989 4944/7956/1989 -f 4945/7957/1990 4946/7958/1990 4947/7959/1990 4948/7960/1990 -f 4949/7961/1991 4950/7962/1991 4951/7963/1991 4952/7964/1991 -f 4953/7965/1992 4954/7966/1992 4955/7967/1992 4956/7968/1992 -f 4957/7969/1993 4958/7970/1993 4959/7971/1993 4960/7972/1993 -f 4961/7973/1994 4962/7974/1994 4963/7975/1994 4964/7976/1994 -f 4965/7977/1995 4966/7978/1995 4967/7979/1995 4968/7980/1995 -f 4969/7981/1996 4970/7982/1996 4971/7983/1996 4972/7984/1996 -f 4973/7985/1997 4974/7986/1997 4975/7987/1997 4976/7988/1997 -f 4977/7989/1998 4978/7990/1998 4979/7991/1998 4980/7992/1998 -f 4981/7993/1999 4982/7994/1999 4983/7995/1999 4984/7996/1999 -f 4985/7997/2000 4986/7998/2000 4987/7999/2000 4988/8000/2000 -f 4989/8001/2001 4990/8002/2001 4991/8003/2001 4992/8004/2001 -f 4993/8005/2002 4994/8006/2002 4995/8007/2002 4996/8008/2002 -f 4997/8009/2003 4998/8010/2003 4999/8011/2003 5000/8012/2003 -f 5001/8013/2004 5002/8014/2004 5003/8015/2004 5004/8016/2004 -f 5005/8017/2005 5006/8018/2005 5007/8019/2005 5008/8020/2005 -f 5009/8021/2006 5010/8022/2006 5011/8023/2006 5012/8024/2006 -f 5013/8025/2007 5014/8026/2007 5015/8027/2007 5016/8028/2007 -f 5017/8029/2008 5018/8030/2008 5019/8031/2008 5020/8032/2008 -f 5021/8033/2009 5022/8034/2009 5023/8035/2009 5024/8036/2009 -f 5025/8037/2010 5026/8038/2010 5027/8039/2010 5028/8040/2010 -f 5029/8041/2011 5030/8042/2011 5031/8043/2011 5032/8044/2011 -f 5033/8045/2012 5034/8046/2012 5035/8047/2012 5036/8048/2012 -f 5037/8049/2013 5038/8050/2013 5039/8051/2013 5040/8052/2013 -f 5041/8053/2014 5042/8054/2014 5043/8055/2014 5044/8056/2014 -f 5045/8057/2015 5046/8058/2015 5047/8059/2015 5048/8060/2015 -f 5049/8061/2016 5050/8062/2016 5051/8063/2016 5052/8064/2016 -f 5053/8065/2017 5054/8066/2017 5055/8067/2017 5056/8068/2017 -f 5057/8069/2018 5058/8070/2018 5059/8071/2018 5060/8072/2018 -f 5061/8073/2019 5062/8074/2019 5063/8075/2019 5064/8076/2019 -f 5065/8077/2020 5066/8078/2020 5067/8079/2020 5068/8080/2020 -f 5069/8081/2021 5070/8082/2021 5071/8083/2021 5072/8084/2021 -f 5073/8085/2022 5074/8086/2022 5075/8087/2022 5076/8088/2022 -f 5077/8089/2023 5072/8090/2023 5071/8091/2023 5078/8092/2023 -f 5079/8093/2024 5077/8094/2024 5078/8095/2024 5080/8096/2024 -f 5069/8097/2025 5081/8098/2025 5082/8099/2025 5079/8100/2025 -f 5083/8101/2026 5084/8102/2026 5072/8103/2026 5077/8104/2026 -f 5082/8105/2027 5083/8106/2027 5077/8107/2027 5079/8108/2027 -f 5070/8109/2028 5069/8110/2028 5079/8111/2028 5080/8112/2028 -f 5081/8113/2029 5069/8114/2029 5072/8115/2029 5084/8116/2029 -f 5085/8117/2030 5086/8118/2030 5074/8119/2030 5073/8120/2030 -f 5087/8121/2031 5076/8122/2031 5075/8123/2031 5088/8124/2031 -f 5085/8125/2032 5087/8126/2032 5088/8127/2032 5086/8128/2032 -f 5086/8129/2033 5082/8130/2033 5081/8131/2033 5074/8132/2033 -f 5074/8133/2034 5081/8134/2034 5084/8135/2034 5075/8136/2034 -f 5088/8137/2035 5075/8138/2035 5084/8139/2035 5083/8140/2035 -f 5086/8141/2036 5088/8142/2036 5083/8143/2036 5082/8144/2036 -f 5080/8145/2037 5078/8146/2037 5071/8147/2037 5070/8148/2037 -f 5089/8149/2038 5090/8150/2038 5091/8151/2038 5092/8152/2038 -f 5093/8153/2039 5094/8154/2039 5095/8155/2039 5096/8156/2039 -f 5097/8157/2040 5098/8158/2040 5099/8159/2040 5100/8160/2040 -f 5101/8161/2041 5102/8162/2041 5103/8163/2041 5104/8164/2041 -f 5105/8165/2042 5106/8166/2042 5107/8167/2042 5108/8168/2042 -f 5109/8169/2043 5110/8170/2043 5111/8171/2043 5112/8172/2043 -f 5113/8173/2044 5114/8174/2044 5115/8175/2044 5116/8176/2044 -f 5/8177/2045 5117/8178/2045 5118/8179/2045 5119/8180/2045 -f 5120/8181/2046 5121/8182/2046 5122/8183/2046 5123/8184/2046 -f 5124/8185/2047 5125/8186/2047 5126/8187/2047 5127/8188/2047 -f 5128/8189/2048 5129/8190/2048 5130/8191/2048 5131/8192/2048 -f 5132/8193/2049 5133/8194/2049 5134/8195/2049 5135/8196/2049 -f 5136/8197/2050 5137/8198/2050 5138/8199/2050 5139/8200/2050 -f 5140/8201/2051 5141/8202/2051 5142/8203/2051 5143/8204/2051 -f 5144/8205/2052 5145/8206/2052 5146/8207/2052 5147/8208/2052 -f 5148/8209/2053 5149/8210/2053 5150/8211/2053 5151/8212/2053 -f 5152/8213/2054 5153/8214/2054 5154/8215/2054 5155/8216/2054 -f 5156/8217/2055 5157/8218/2055 5158/8219/2055 5159/8220/2055 -f 5160/8221/2056 5161/8222/2056 5162/8223/2056 5163/8224/2056 -f 5156/8225/2057 5160/8226/2057 5163/8227/2057 5157/8228/2057 -f 5159/8229/2058 5158/8230/2058 5162/8231/2058 5161/8232/2058 -f 5164/8233/2059 5165/8234/2059 5166/8235/2059 5167/8236/2059 -f 5164/8237/2060 5168/8238/2060 5169/8239/2060 5165/8240/2060 -f 5170/8241/2061 5171/8242/2061 5172/8243/2061 5173/8244/2061 -f 5170/8245/2062 5173/8246/2062 5174/8247/2062 5175/8248/2062 -f 5176/8249/2063 5177/8250/2063 5178/8251/2063 5179/8252/2063 -f 5174/8253/2064 5180/8254/2064 5181/8255/2064 5182/8256/2064 -f 5183/8257/2065 5184/8258/2065 5177/8259/2065 5176/8260/2065 -f 5185/8261/2066 5179/8262/2066 5178/8263/2066 5186/8264/2066 -f 5183/8265/2067 5185/8266/2067 5186/8267/2067 5184/8268/2067 -f 5187/8269/2068 5188/8270/2068 5189/8271/2068 5190/8272/2068 -f 5191/8273/2069 5192/8274/2069 5193/8275/2069 5194/8276/2069 -f 5195/8277/2070 5196/8278/2070 5197/8279/2070 5198/8280/2070 -f 5191/8281/2071 5195/8282/2071 5198/8283/2071 5192/8284/2071 -f 5199/8285/2072 5200/8286/2072 5201/8287/2072 5202/8288/2072 -f 5199/8289/2073 5202/8290/2073 5203/8291/2073 5204/8292/2073 -f 5205/8293/2074 5206/8294/2074 5207/8295/2074 5208/8296/2074 -f 5203/8297/2075 5209/8298/2075 5210/8299/2075 5211/8300/2075 -f 5212/8301/2076 5213/8302/2076 5206/8303/2076 5205/8304/2076 -f 5214/8305/2077 5208/8306/2077 5207/8307/2077 5215/8308/2077 -f 5212/8309/2078 5214/8310/2078 5215/8311/2078 5213/8312/2078 -f 5194/8313/2079 5193/8314/2079 5197/8315/2079 5196/8316/2079 -f 5216/8317/2080 5217/8318/2080 5218/8319/2080 5219/8320/2080 -f 5220/8321/2081 5221/8322/2081 5222/8323/2081 5223/8324/2081 -f 5221/8325/2082 5224/8326/2082 5225/8327/2082 5222/8328/2082 -f 5220/8329/2083 5223/8330/2083 5226/8331/2083 5227/8332/2083 -f 5228/8333/2084 5229/8334/2084 5230/8335/2084 5231/8336/2084 -f 5227/8337/2085 5226/8338/2085 5225/8339/2085 5224/8340/2085 -f 5232/8341/2086 5233/8342/2086 5229/8343/2086 5228/8344/2086 -f 5234/8345/2087 5231/8346/2087 5230/8347/2087 5235/8348/2087 -f 5232/8349/2088 5234/8350/2088 5235/8351/2088 5233/8352/2088 -f 5158/8353/2089 5176/8354/2089 5179/8355/2089 5162/8356/2089 -f 5193/8357/2090 5228/8358/2090 5231/8359/2090 5197/8360/2090 -f 5163/8361/2091 5162/8362/2091 5179/8363/2091 5185/8364/2091 -f 5157/8365/2092 5163/8366/2092 5185/8367/2092 5183/8368/2092 -f 5236/8369/2093 5156/8370/2093 5159/8371/2093 5153/8372/2093 -f 5157/8373/2094 5183/8374/2094 5176/8375/2094 5158/8376/2094 -f 5153/8377/2095 5159/8378/2095 5161/8379/2095 5154/8380/2095 -f 5237/8381/2096 5154/8382/2096 5161/8383/2096 5160/8384/2096 -f 5236/8385/2097 5237/8386/2097 5160/8387/2097 5156/8388/2097 -f 5166/8389/2098 5205/8390/2098 5208/8391/2098 5238/8392/2098 -f 5180/8393/2099 5239/8394/2099 5240/8395/2099 5181/8396/2099 -f 5169/8397/2100 5238/8398/2100 5208/8399/2100 5214/8400/2100 -f 5165/8401/2101 5169/8402/2101 5214/8403/2101 5212/8404/2101 -f 5168/8405/2102 5241/8406/2102 5238/8407/2102 5169/8408/2102 -f 5171/8409/2103 5242/8410/2103 5182/8411/2103 5172/8412/2103 -f 5173/8413/2104 5172/8414/2104 5188/8415/2104 5187/8416/2104 -f 5172/8417/2105 5182/8418/2105 5181/8419/2105 5188/8420/2105 -f 5184/8421/2106 5170/8422/2106 5175/8423/2106 5177/8424/2106 -f 5173/8425/2107 5187/8426/2107 5180/8427/2107 5174/8428/2107 -f 5175/8429/2108 5174/8430/2108 5182/8431/2108 5242/8432/2108 -f 5177/8433/2109 5175/8434/2109 5242/8435/2109 5178/8436/2109 -f 5186/8437/2110 5178/8438/2110 5242/8439/2110 5171/8440/2110 -f 5184/8441/2111 5186/8442/2111 5171/8443/2111 5170/8444/2111 -f 5190/8445/2112 5164/8446/2112 5167/8447/2112 5239/8448/2112 -f 5165/8449/2113 5212/8450/2113 5205/8451/2113 5166/8452/2113 -f 5167/8453/2114 5166/8454/2114 5238/8455/2114 5241/8456/2114 -f 5239/8457/2115 5167/8458/2115 5241/8459/2115 5240/8460/2115 -f 5189/8461/2116 5240/8462/2116 5241/8463/2116 5168/8464/2116 -f 5190/8465/2117 5189/8466/2117 5168/8467/2117 5164/8468/2117 -f 5187/8469/2118 5190/8470/2118 5239/8471/2118 5180/8472/2118 -f 5188/8473/2119 5181/8474/2119 5240/8475/2119 5189/8476/2119 -f 5209/8477/2120 5243/8478/2120 5244/8479/2120 5210/8480/2120 -f 5198/8481/2121 5197/8482/2121 5231/8483/2121 5234/8484/2121 -f 5192/8485/2122 5198/8486/2122 5234/8487/2122 5232/8488/2122 -f 5200/8489/2123 5245/8490/2123 5211/8491/2123 5201/8492/2123 -f 5202/8493/2124 5201/8494/2124 5217/8495/2124 5216/8496/2124 -f 5201/8497/2125 5211/8498/2125 5210/8499/2125 5217/8500/2125 -f 5213/8501/2126 5199/8502/2126 5204/8503/2126 5206/8504/2126 -f 5202/8505/2127 5216/8506/2127 5209/8507/2127 5203/8508/2127 -f 5204/8509/2128 5203/8510/2128 5211/8511/2128 5245/8512/2128 -f 5206/8513/2129 5204/8514/2129 5245/8515/2129 5207/8516/2129 -f 5215/8517/2130 5207/8518/2130 5245/8519/2130 5200/8520/2130 -f 5213/8521/2131 5215/8522/2131 5200/8523/2131 5199/8524/2131 -f 5219/8525/2132 5191/8526/2132 5194/8527/2132 5243/8528/2132 -f 5192/8529/2133 5232/8530/2133 5228/8531/2133 5193/8532/2133 -f 5243/8533/2134 5194/8534/2134 5196/8535/2134 5244/8536/2134 -f 5218/8537/2135 5244/8538/2135 5196/8539/2135 5195/8540/2135 -f 5219/8541/2136 5218/8542/2136 5195/8543/2136 5191/8544/2136 -f 5216/8545/2137 5219/8546/2137 5243/8547/2137 5209/8548/2137 -f 5217/8549/2138 5210/8550/2138 5244/8551/2138 5218/8552/2138 -f 5223/8553/2139 5222/8554/2139 5246/8555/2139 5247/8556/2139 -f 5222/8557/2140 5225/8558/2140 5248/8559/2140 5246/8560/2140 -f 5226/8561/2141 5249/8562/2141 5248/8563/2141 5225/8564/2141 -f 5233/8565/2142 5220/8566/2142 5227/8567/2142 5229/8568/2142 -f 5223/8569/2143 5247/8570/2143 5249/8571/2143 5226/8572/2143 -f 5229/8573/2144 5227/8574/2144 5224/8575/2144 5230/8576/2144 -f 5235/8577/2145 5230/8578/2145 5224/8579/2145 5221/8580/2145 -f 5233/8581/2146 5235/8582/2146 5221/8583/2146 5220/8584/2146 -f 5249/8585/2147 5250/8586/2147 5251/8587/2147 5248/8588/2147 -f 5247/8589/2148 5252/8590/2148 5250/8591/2148 5249/8592/2148 -f 5246/8593/2149 5248/8594/2149 5251/8595/2149 5253/8596/2149 -f 5247/8597/2150 5246/8598/2150 5253/8599/2150 5252/8600/2150 -f 5152/8601/2151 5155/8602/2151 5254/8603/2151 5255/8604/2151 -f 5153/8605/2152 5152/8606/2152 5255/8607/2152 5236/8608/2152 -f 5254/8609/2153 5155/8610/2153 5154/8611/2153 5237/8612/2153 -f 5255/8613/2154 5254/8614/2154 5237/8615/2154 5236/8616/2154 -f 5256/8617/2155 5257/8618/2155 5258/8619/2155 5259/8620/2155 -f 5256/8621/2156 5259/8622/2156 5260/8623/2156 5261/8624/2156 -f 5262/8625/2157 5263/8626/2157 5264/8627/2157 5265/8628/2157 -f 5266/8629/2158 5267/8630/2158 5263/8631/2158 5262/8632/2158 -f 5268/8633/2159 5265/8634/2159 5264/8635/2159 5269/8636/2159 -f 5266/8637/2160 5268/8638/2160 5269/8639/2160 5267/8640/2160 -f 5257/8641/2161 5270/8642/2161 5271/8643/2161 5258/8644/2161 -f 5259/8645/2162 5258/8646/2162 5272/8647/2162 5273/8648/2162 -f 5258/8649/2163 5271/8650/2163 5274/8651/2163 5272/8652/2163 -f 5260/8653/2164 5275/8654/2164 5274/8655/2164 5271/8656/2164 -f 5267/8657/2165 5256/8658/2165 5261/8659/2165 5263/8660/2165 -f 5259/8661/2166 5273/8662/2166 5275/8663/2166 5260/8664/2166 -f 5261/8665/2167 5260/8666/2167 5271/8667/2167 5270/8668/2167 -f 5263/8669/2168 5261/8670/2168 5270/8671/2168 5264/8672/2168 -f 5269/8673/2169 5264/8674/2169 5270/8675/2169 5257/8676/2169 -f 5257/8677/2170 5256/8678/2170 5267/8679/2170 5269/8680/2170 -f 5275/8681/2171 5276/8682/2171 5277/8683/2171 5274/8684/2171 -f 5273/8685/2172 5278/8686/2172 5276/8687/2172 5275/8688/2172 -f 5272/8689/2173 5274/8690/2173 5277/8691/2173 5279/8692/2173 -f 5273/8693/2174 5272/8694/2174 5279/8695/2174 5278/8696/2174 -f 5268/8697/2175 5266/8698/2175 5262/8699/2175 5265/8700/2175 -f 5281/8701/2176 5282/8702/2176 5283/8703/2176 5284/8704/2176 -f 5285/8705/2177 5286/8706/2177 5287/8707/2177 5288/8708/2177 -f 5289/8709/2178 5290/8710/2178 5291/8711/2178 5292/8712/2178 -f 5293/8713/2179 5294/8714/2179 5295/8715/2179 5296/8716/2179 -f 5297/8717/2180 5298/8718/2180 5299/8719/2180 5300/8720/2180 -f 5301/8721/2181 5302/8722/2181 5303/8723/2181 5304/8724/2181 -f 5305/8725/2182 5306/8726/2182 5307/8727/2182 5308/8728/2182 -f 5309/8729/2183 5310/8730/2183 5311/8731/2183 5312/8732/2183 -f 5313/8733/2184 5314/8734/2184 5315/8735/2184 5316/8736/2184 -f 5317/8737/2185 5318/8738/2185 5319/8739/2185 5320/8740/2185 -f 5321/8741/2186 5322/8742/2186 5323/8743/2186 5324/8744/2186 -f 5325/8745/2187 5326/8746/2187 5327/8747/2187 5328/8748/2187 -f 5329/8749/2188 5330/8750/2188 5331/8751/2188 5332/8752/2188 -f 5333/8753/2189 5334/8754/2189 5335/8755/2189 5336/8756/2189 -f 5337/8757/2190 5338/8758/2190 5339/8759/2190 5340/8760/2190 -f 5341/8761/2191 5342/8762/2191 5343/8763/2191 5344/8764/2191 -f 5345/8765/2192 5346/8766/2192 5347/8767/2192 5348/8768/2192 -f 5349/8769/2193 5350/8770/2193 5351/8771/2193 5352/8772/2193 -f 5353/8773/2194 5354/8774/2194 5355/8775/2194 5356/8776/2194 -f 5357/8777/2195 5358/8778/2195 5359/8779/2195 5360/8780/2195 -f 5361/8781/2196 5362/8782/2196 5363/8783/2196 5364/8784/2196 -f 5365/8785/2197 5366/8786/2197 5367/8787/2197 5368/8788/2197 -f 5369/8789/2198 5370/8790/2198 5371/8791/2198 5372/8792/2198 -f 5373/8793/2199 5374/8794/2199 5375/8795/2199 5376/8796/2199 -f 5377/8797/2200 5378/8798/2200 5379/8799/2200 5380/8800/2200 -f 5381/8801/2201 5382/8802/2201 5383/8803/2201 5384/8804/2201 -f 5385/8805/2202 5386/8806/2202 5387/8807/2202 5388/8808/2202 -f 5389/8809/2203 5390/8810/2203 5391/8811/2203 5392/8812/2203 -f 5393/8813/2204 5394/8814/2204 5395/8815/2204 5396/8816/2204 -f 5397/8817/2205 5398/8818/2205 5399/8819/2205 5400/8820/2205 -f 5401/8821/2206 5402/8822/2206 5403/8823/2206 5404/8824/2206 -f 5405/8825/2207 5406/8826/2207 5407/8827/2207 5408/8828/2207 -f 5409/8829/2208 5410/8830/2208 5411/8831/2208 5412/8832/2208 -f 5413/8833/2209 5414/8834/2209 5415/8835/2209 5416/8836/2209 -f 5417/8837/2210 5418/8838/2210 5419/8839/2210 5420/8840/2210 -f 5421/8841/2211 5422/8842/2211 5423/8843/2211 5424/8844/2211 -f 5425/8845/2212 5426/8846/2212 5427/8847/2212 5428/8848/2212 -f 5429/8849/2213 5430/8850/2213 5431/8851/2213 5432/8852/2213 -f 5433/8853/2214 5434/8854/2214 5435/8855/2214 5436/8856/2214 -f 5437/8857/2215 5438/8858/2215 5439/8859/2215 5440/8860/2215 -f 5441/8861/2216 5442/8862/2216 5443/8863/2216 5444/8864/2216 -f 5445/8865/2217 5446/8866/2217 5447/8867/2217 5448/8868/2217 -f 5449/8869/2218 5450/8870/2218 5451/8871/2218 5452/8872/2218 -f 5453/8873/2219 5454/8874/2219 5455/8875/2219 5456/8876/2219 -f 5457/8877/2220 5458/8878/2220 5459/8879/2220 5460/8880/2220 -f 5461/8881/2221 5462/8882/2221 5463/8883/2221 5464/8884/2221 -f 5465/8885/2222 5466/8886/2222 5467/8887/2222 5468/8888/2222 -f 5469/8889/2223 5470/8890/2223 5471/8891/2223 5472/8892/2223 -f 5473/8893/2224 5474/8894/2224 5475/8895/2224 5476/8896/2224 -f 5477/8897/2225 5478/8898/2225 5479/8899/2225 5480/8900/2225 -f 5481/8901/2226 5482/8902/2226 5483/8903/2226 5484/8904/2226 -f 5485/8905/2227 5486/8906/2227 5487/8907/2227 5488/8908/2227 -f 5489/8909/2228 5490/8910/2228 5491/8911/2228 5492/8912/2228 -f 5493/8913/2229 5494/8914/2229 5495/8915/2229 5496/8916/2229 -f 5497/8917/2230 5498/8918/2230 5499/8919/2230 5500/8920/2230 -f 5501/8921/2231 5502/8922/2231 5503/8923/2231 5504/8924/2231 -f 5505/8925/2232 5506/8926/2232 5507/8927/2232 5508/8928/2232 -f 5509/8929/2233 5510/8930/2233 5511/8931/2233 5512/8932/2233 -f 5513/8933/2234 5514/8934/2234 5515/8935/2234 5516/8936/2234 -f 5517/8937/2235 5518/8938/2235 5519/8939/2235 5520/8940/2235 -f 5521/8941/2236 5522/8942/2236 5523/8943/2236 5524/8944/2236 -f 5525/8945/2237 5526/8946/2237 5527/8947/2237 5528/8948/2237 -f 5529/8949/2238 5530/8950/2238 5531/8951/2238 5532/8952/2238 -f 5533/8953/2239 5534/8954/2239 5535/8955/2239 5536/8956/2239 -f 5537/8957/2240 5538/8958/2240 5539/8959/2240 5540/8960/2240 -f 5541/8961/2241 5542/8962/2241 5543/8963/2241 5544/8964/2241 -f 5545/8965/2242 5546/8966/2242 5547/8967/2242 5548/8968/2242 -f 5549/8969/2243 5550/8970/2243 5551/8971/2243 5552/8972/2243 -f 5553/8973/2244 5554/8974/2244 5555/8975/2244 5556/8976/2244 -f 5557/8977/2245 5558/8978/2245 5559/8979/2245 5560/8980/2245 -f 5561/8981/2246 5562/8982/2246 5563/8983/2246 5564/8984/2246 -f 5565/8985/2247 5566/8986/2247 5567/8987/2247 5568/8988/2247 -f 5569/8989/2248 5570/8990/2248 5571/8991/2248 5572/8992/2248 -f 5573/8993/2249 5574/8994/2249 5575/8995/2249 5576/8996/2249 -f 5577/8997/2250 5578/8998/2250 5579/8999/2250 5580/9000/2250 -f 5581/9001/2251 7/9002/2251 5582/9003/2251 5583/9004/2251 -f 5584/9005/2252 5585/9006/2252 5586/9007/2252 5587/9008/2252 -f 5588/9009/2253 5589/9010/2253 5590/9011/2253 5591/9012/2253 -f 5592/9013/2254 5593/9014/2254 5594/9015/2254 5595/9016/2254 -f 5596/9017/2255 5597/9018/2255 5598/9019/2255 5599/9020/2255 -f 5280/9021/2256 5600/9022/2256 5601/9023/2256 5602/9024/2256 -f 5603/9025/2257 5604/9026/2257 5605/9027/2257 5606/9028/2257 -f 5607/9029/2258 5608/9030/2258 5609/9031/2258 5610/9032/2258 -f 5611/9033/2259 5612/9034/2259 5613/9035/2259 5614/9036/2259 -f 5615/9037/2260 5616/9038/2260 5617/9039/2260 5618/9040/2260 -f 5619/9041/2261 5620/9042/2261 5621/9043/2261 5622/9044/2261 -f 5623/9045/2262 5624/9046/2262 5625/9047/2262 5626/9048/2262 -f 5627/9049/2263 5628/9050/2263 5629/9051/2263 5630/9052/2263 -f 5631/9053/2264 5632/9054/2264 5633/9055/2264 5634/9056/2264 -f 5635/9057/2265 5636/9058/2265 5637/9059/2265 5638/9060/2265 -f 5639/9061/2266 5640/9062/2266 5641/9063/2266 5642/9064/2266 -f 5643/9065/2267 5644/9066/2267 5645/9067/2267 5646/9068/2267 -f 5647/9069/2268 5648/9070/2268 5649/9071/2268 5650/9072/2268 -f 5651/9073/2269 5652/9074/2269 5653/9075/2269 5654/9076/2269 -f 5655/9077/2270 5656/9078/2270 5657/9079/2270 5658/9080/2270 -f 5659/9081/2271 5660/9082/2271 5661/9083/2271 5662/9084/2271 -f 5663/9085/2272 5664/9086/2272 5665/9087/2272 5666/9088/2272 -f 5667/9089/2273 5668/9090/2273 5669/9091/2273 5670/9092/2273 -f 5671/9093/2274 5672/9094/2274 5673/9095/2274 5674/9096/2274 -f 5675/9097/2275 5676/9098/2275 5677/9099/2275 5678/9100/2275 -f 5679/9101/2276 5680/9102/2276 5681/9103/2276 5682/9104/2276 -f 5683/9105/2277 5684/9106/2277 5685/9107/2277 5686/9108/2277 -f 5687/9109/2278 5688/9110/2278 5689/9111/2278 5690/9112/2278 -f 5691/9113/2279 5692/9114/2279 5693/9115/2279 5694/9116/2279 -f 5695/9117/2280 5696/9118/2280 5697/9119/2280 5698/9120/2280 -f 5699/9121/2281 5700/9122/2281 5701/9123/2281 5702/9124/2281 -f 5703/9125/2282 5704/9126/2282 5705/9127/2282 5706/9128/2282 -f 5707/9129/2283 5708/9130/2283 5709/9131/2283 5710/9132/2283 -f 5711/9133/2284 5712/9134/2284 5713/9135/2284 5714/9136/2284 -f 5715/9137/2285 5716/9138/2285 5717/9139/2285 5718/9140/2285 -f 5719/9141/2286 5720/9142/2286 5721/9143/2286 5722/9144/2286 -f 5723/9145/2287 5724/9146/2287 5725/9147/2287 5726/9148/2287 -f 5727/9149/2288 5728/9150/2288 5729/9151/2288 5730/9152/2288 -f 5731/9153/2289 5732/9154/2289 5733/9155/2289 5734/9156/2289 -f 5735/9157/2290 5736/9158/2290 5737/9159/2290 5738/9160/2290 -f 5739/9161/2291 5740/9162/2291 5741/9163/2291 5742/9164/2291 -f 5743/9165/2292 5744/9166/2292 5745/9167/2292 5746/9168/2292 -f 5747/9169/2293 5748/9170/2293 5749/9171/2293 5750/9172/2293 -f 5751/9173/2294 5752/9174/2294 5753/9175/2294 5754/9176/2294 -f 5755/9177/2295 5756/9178/2295 5757/9179/2295 5758/9180/2295 -f 5759/9181/2296 5760/9182/2296 5761/9183/2296 5762/9184/2296 -f 5763/9185/2297 5764/9186/2297 5765/9187/2297 5766/9188/2297 -f 5767/9189/2298 5768/9190/2298 5769/9191/2298 5770/9192/2298 -f 5771/9193/2299 5772/9194/2299 5773/9195/2299 5774/9196/2299 -f 5775/9197/2300 5776/9198/2300 5777/9199/2300 5778/9200/2300 -f 5779/9201/2301 5780/9202/2301 5781/9203/2301 5782/9204/2301 -f 5783/9205/2302 5784/9206/2302 5785/9207/2302 5786/9208/2302 -f 5787/9209/2303 5788/9210/2303 5789/9211/2303 5790/9212/2303 -f 5791/9213/2304 5792/9214/2304 5793/9215/2304 5794/9216/2304 -f 5795/9217/2305 5796/9218/2305 5797/9219/2305 5798/9220/2305 -f 5799/9221/2306 5800/9222/2306 5801/9223/2306 5802/9224/2306 -f 5803/9225/2307 5804/9226/2307 5805/9227/2307 5806/9228/2307 -f 5807/9229/2308 5808/9230/2308 5809/9231/2308 5810/9232/2308 -f 5811/9233/2309 5812/9234/2309 5813/9235/2309 5814/9236/2309 -f 5815/9237/2310 5816/9238/2310 5817/9239/2310 5818/9240/2310 -f 5819/9241/2311 5820/9242/2311 5821/9243/2311 5822/9244/2311 -f 9/9245/2312 5823/9246/2312 5824/9247/2312 5825/9248/2312 -f 5826/9249/2313 5827/9250/2313 5828/9251/2313 5829/9252/2313 -f 5830/9253/2314 5831/9254/2314 5832/9255/2314 5833/9256/2314 -f 5834/9257/2315 5835/9258/2315 5836/9259/2315 5837/9260/2315 -f 5838/9261/2316 5839/9262/2316 5840/9263/2316 5841/9264/2316 -f 5842/9265/2317 5843/9266/2317 5844/9267/2317 5845/9268/2317 -f 5846/9269/2318 5847/9270/2318 5848/9271/2318 5849/9272/2318 -f 5842/9273/2319 5846/9274/2319 5849/9275/2319 5843/9276/2319 -f 5845/9277/2320 5844/9278/2320 5848/9279/2320 5847/9280/2320 -f 5850/9281/2321 5851/9282/2321 5852/9283/2321 5853/9284/2321 -f 5850/9285/2322 5853/9286/2322 5854/9287/2322 5855/9288/2322 -f 5856/9289/2323 5857/9290/2323 5858/9291/2323 5859/9292/2323 -f 5854/9293/2324 5860/9294/2324 5861/9295/2324 5862/9296/2324 -f 5863/9297/2325 5864/9298/2325 5857/9299/2325 5856/9300/2325 -f 5865/9301/2326 5859/9302/2326 5858/9303/2326 5866/9304/2326 -f 5863/9305/2327 5865/9306/2327 5866/9307/2327 5864/9308/2327 -f 5867/9309/2328 5868/9310/2328 5869/9311/2328 5870/9312/2328 -f 5844/9313/2329 5856/9314/2329 5859/9315/2329 5848/9316/2329 -f 5849/9317/2330 5848/9318/2330 5859/9319/2330 5865/9320/2330 -f 5843/9321/2331 5849/9322/2331 5865/9323/2331 5863/9324/2331 -f 5871/9325/2332 5842/9326/2332 5845/9327/2332 5839/9328/2332 -f 5843/9329/2333 5863/9330/2333 5856/9331/2333 5844/9332/2333 -f 5839/9333/2334 5845/9334/2334 5847/9335/2334 5840/9336/2334 -f 5872/9337/2335 5840/9338/2335 5847/9339/2335 5846/9340/2335 -f 5871/9341/2336 5872/9342/2336 5846/9343/2336 5842/9344/2336 -f 5860/9345/2337 5873/9346/2337 5874/9347/2337 5861/9348/2337 -f 5851/9349/2338 5875/9350/2338 5862/9351/2338 5852/9352/2338 -f 5853/9353/2339 5852/9354/2339 5868/9355/2339 5867/9356/2339 -f 5852/9357/2340 5862/9358/2340 5861/9359/2340 5868/9360/2340 -f 5864/9361/2341 5850/9362/2341 5855/9363/2341 5857/9364/2341 -f 5853/9365/2342 5867/9366/2342 5860/9367/2342 5854/9368/2342 -f 5855/9369/2343 5854/9370/2343 5862/9371/2343 5875/9372/2343 -f 5857/9373/2344 5855/9374/2344 5875/9375/2344 5858/9376/2344 -f 5866/9377/2345 5858/9378/2345 5875/9379/2345 5851/9380/2345 -f 5864/9381/2346 5866/9382/2346 5851/9383/2346 5850/9384/2346 -f 5867/9385/2347 5870/9386/2347 5873/9387/2347 5860/9388/2347 -f 5868/9389/2348 5861/9390/2348 5874/9391/2348 5869/9392/2348 -f 5838/9393/2349 5841/9394/2349 5876/9395/2349 5877/9396/2349 -f 5839/9397/2350 5838/9398/2350 5877/9399/2350 5871/9400/2350 -f 5876/9401/2351 5841/9402/2351 5840/9403/2351 5872/9404/2351 -f 5877/9405/2352 5876/9406/2352 5872/9407/2352 5871/9408/2352 -f 5878/9409/2353 5879/9410/2353 5880/9411/2353 5881/9412/2353 -f 5878/9413/2354 5881/9414/2354 5882/9415/2354 5883/9416/2354 -f 5884/9417/2355 5885/9418/2355 5886/9419/2355 5887/9420/2355 -f 5888/9421/2356 5889/9422/2356 5885/9423/2356 5884/9424/2356 -f 5890/9425/2357 5887/9426/2357 5886/9427/2357 5891/9428/2357 -f 5888/9429/2358 5890/9430/2358 5891/9431/2358 5889/9432/2358 -f 5879/9433/2359 5892/9434/2359 5893/9435/2359 5880/9436/2359 -f 5881/9437/2360 5880/9438/2360 5894/9439/2360 5895/9440/2360 -f 5880/9441/2361 5893/9442/2361 5896/9443/2361 5894/9444/2361 -f 5882/9445/2362 5897/9446/2362 5896/9447/2362 5893/9448/2362 -f 5889/9449/2363 5878/9450/2363 5883/9451/2363 5885/9452/2363 -f 5881/9453/2364 5895/9454/2364 5897/9455/2364 5882/9456/2364 -f 5883/9457/2365 5882/9458/2365 5893/9459/2365 5892/9460/2365 -f 5885/9461/2366 5883/9462/2366 5892/9463/2366 5886/9464/2366 -f 5891/9465/2367 5886/9466/2367 5892/9467/2367 5879/9468/2367 -f 5879/9469/2368 5878/9470/2368 5889/9471/2368 5891/9472/2368 -f 5897/9473/2369 5898/9474/2369 5899/9475/2369 5896/9476/2369 -f 5895/9477/2370 5900/9478/2370 5898/9479/2370 5897/9480/2370 -f 5894/9481/2371 5896/9482/2371 5899/9483/2371 5901/9484/2371 -f 5895/9485/2372 5894/9486/2372 5901/9487/2372 5900/9488/2372 -f 5890/9489/2373 5888/9490/2373 5884/9491/2373 5887/9492/2373 -f 5904/9493/2374 5903/9494/2374 5902/9495/2374 5905/9496/2374 -f 5908/9497/2375 5907/9498/2375 5906/9499/2375 5909/9500/2375 -f 5912/9501/2376 5911/9502/2376 5910/9503/2376 5913/9504/2376 -f 5916/9505/2377 5915/9506/2377 5914/9507/2377 5917/9508/2377 -f 5920/9509/2378 5919/9510/2378 5918/9511/2378 5921/9512/2378 -f 5924/9513/2379 5923/9514/2379 5922/9515/2379 5925/9516/2379 -f 5928/9517/2380 5927/9518/2380 5926/9519/2380 5929/9520/2380 -f 5932/9521/2381 5931/9522/2381 5930/9523/2381 5933/9524/2381 -f 5936/9525/2382 5935/9526/2382 5934/9527/2382 5937/9528/2382 -f 5940/9529/2383 5939/9530/2383 5938/9531/2383 5941/9532/2383 -f 5944/9533/2384 5943/9534/2384 5942/9535/2384 5945/9536/2384 -f 5948/9537/2385 5947/9538/2385 5946/9539/2385 5949/9540/2385 -f 5952/9541/2386 5951/9542/2386 5950/9543/2386 5953/9544/2386 -f 5956/9545/2387 5955/9546/2387 5954/9547/2387 5957/9548/2387 -f 5960/9549/2388 5959/9550/2388 5958/9551/2388 5961/9552/2388 -f 5964/9553/2389 5963/9554/2389 5962/9555/2389 5965/9556/2389 -f 5968/9557/2390 5967/9558/2390 5966/9559/2390 5969/9560/2390 -f 5972/9561/2391 5971/9562/2391 5970/9563/2391 5973/9564/2391 -f 5976/9565/2392 5975/9566/2392 5974/9567/2392 5977/9568/2392 -f 5980/9569/2393 5979/9570/2393 5978/9571/2393 5981/9572/2393 -f 5984/9573/2394 5983/9574/2394 5982/9575/2394 5985/9576/2394 -f 5988/9577/2395 5987/9578/2395 5986/9579/2395 5989/9580/2395 -f 5992/9581/2396 5991/9582/2396 5990/9583/2396 5993/9584/2396 -f 5996/9585/2397 5995/9586/2397 5994/9587/2397 5997/9588/2397 -f 6000/9589/2398 5999/9590/2398 5998/9591/2398 6001/9592/2398 -f 6004/9593/2399 6003/9594/2399 6002/9595/2399 6005/9596/2399 -f 6008/9597/2400 6007/9598/2400 6006/9599/2400 6009/9600/2400 -f 6012/9601/2401 6011/9602/2401 6010/9603/2401 6013/9604/2401 -f 6016/9605/2402 6015/9606/2402 6014/9607/2402 6017/9608/2402 -f 6020/9609/2403 6019/9610/2403 6018/9611/2403 6021/9612/2403 -f 6024/9613/2404 6023/9614/2404 6022/9615/2404 6025/9616/2404 -f 6028/9617/2405 6027/9618/2405 6026/9619/2405 6029/9620/2405 -f 6032/9621/2406 6031/9622/2406 6030/9623/2406 6033/9624/2406 -f 6036/9625/2407 6035/9626/2407 6034/9627/2407 6037/9628/2407 -f 6040/9629/2408 6039/9630/2408 6038/9631/2408 6041/9632/2408 -f 6044/9633/2409 6043/9634/2409 6042/9635/2409 6045/9636/2409 -f 6048/9637/2410 6047/9638/2410 6046/9639/2410 6049/9640/2410 -f 6052/9641/2411 6051/9642/2411 6050/9643/2411 6053/9644/2411 -f 6048/9645/2412 6049/9646/2412 6054/9647/2412 6055/9648/2412 -f 6055/9649/2413 6054/9650/2413 6056/9651/2413 6057/9652/2413 -f 6059/9653/2414 6058/9654/2414 6046/9655/2414 6056/9656/2414 -f 6049/9657/2415 6061/9658/2415 6060/9659/2415 6054/9660/2415 -f 6054/9661/2416 6060/9662/2416 6059/9663/2416 6056/9664/2416 -f 6056/9665/2417 6046/9666/2417 6047/9667/2417 6057/9668/2417 -f 6049/9669/2418 6046/9670/2418 6058/9671/2418 6061/9672/2418 -f 6051/9673/2419 6063/9674/2419 6062/9675/2419 6050/9676/2419 -f 6052/9677/2420 6053/9678/2420 6064/9679/2420 6065/9680/2420 -f 6065/9681/2421 6064/9682/2421 6062/9683/2421 6063/9684/2421 -f 6058/9685/2422 6059/9686/2422 6063/9687/2422 6051/9688/2422 -f 6061/9689/2423 6058/9690/2423 6051/9691/2423 6052/9692/2423 -f 6061/9693/2424 6052/9694/2424 6065/9695/2424 6060/9696/2424 -f 6060/9697/2425 6065/9698/2425 6063/9699/2425 6059/9700/2425 -f 6048/9701/2426 6055/9702/2426 6057/9703/2426 6047/9704/2426 -f 6068/9705/2427 6067/9706/2427 6066/9707/2427 6069/9708/2427 -f 6072/9709/2428 6071/9710/2428 6070/9711/2428 6073/9712/2428 -f 6076/9713/2429 6075/9714/2429 6074/9715/2429 6077/9716/2429 -f 6080/9717/2430 6079/9718/2430 6078/9719/2430 6081/9720/2430 -f 6084/9721/2431 6083/9722/2431 6082/9723/2431 6085/9724/2431 -f 6088/9725/2432 6087/9726/2432 6086/9727/2432 6089/9728/2432 -f 6092/9729/2433 6091/9730/2433 6090/9731/2433 6093/9732/2433 -f 6096/9733/2434 6095/9734/2434 6094/9735/2434 6097/9736/2434 -f 6100/9737/2435 6099/9738/2435 6098/9739/2435 6101/9740/2435 -f 6104/9741/2436 6103/9742/2436 6102/9743/2436 6105/9744/2436 -f 6108/9745/2437 6107/9746/2437 6106/9747/2437 6109/9748/2437 -f 6112/9749/2438 6111/9750/2438 6110/9751/2438 6113/9752/2438 -f 2/9753/2439 6115/9754/2439 6114/9755/2439 6116/9756/2439 -f 6119/9757/2440 6118/9758/2440 6117/9759/2440 6120/9760/2440 -f 6123/9761/2441 6122/9762/2441 6121/9763/2441 6124/9764/2441 -f 6127/9765/2442 6126/9766/2442 6125/9767/2442 6128/9768/2442 -f 6131/9769/2443 6130/9770/2443 6129/9771/2443 6132/9772/2443 -f 6135/9773/2444 6134/9774/2444 6133/9775/2444 6136/9776/2444 -f 6136/9777/2445 6133/9778/2445 6129/9779/2445 6130/9780/2445 -f 6135/9781/2446 6131/9782/2446 6132/9783/2446 6134/9784/2446 -f 6141/9785/2447 6140/9786/2447 6139/9787/2447 6142/9788/2447 -f 6145/9789/2448 6144/9790/2448 6143/9791/2448 6146/9792/2448 -f 6148/9793/2449 6147/9794/2449 6144/9795/2449 6145/9796/2449 -f 6149/9797/2450 6146/9798/2450 6143/9799/2450 6150/9800/2450 -f 6153/9801/2451 6152/9802/2451 6151/9803/2451 6154/9804/2451 -f 6148/9805/2452 6149/9806/2452 6150/9807/2452 6147/9808/2452 -f 6152/9809/2453 6156/9810/2453 6155/9811/2453 6151/9812/2453 -f 6153/9813/2454 6154/9814/2454 6157/9815/2454 6158/9816/2454 -f 6158/9817/2455 6157/9818/2455 6155/9819/2455 6156/9820/2455 -f 6154/9821/2456 6151/9822/2456 6131/9823/2456 6135/9824/2456 -f 6160/9825/2457 6159/9826/2457 6137/9827/2457 6138/9828/2457 -f 6154/9829/2458 6135/9830/2458 6136/9831/2458 6157/9832/2458 -f 6157/9833/2459 6136/9834/2459 6130/9835/2459 6155/9836/2459 -f 6132/9837/2460 6129/9838/2460 6142/9839/2460 6159/9840/2460 -f 6151/9841/2461 6155/9842/2461 6130/9843/2461 6131/9844/2461 -f 6134/9845/2462 6132/9846/2462 6159/9847/2462 6160/9848/2462 -f 6134/9849/2463 6160/9850/2463 6141/9851/2463 6133/9852/2463 -f 6133/9853/2464 6141/9854/2464 6142/9855/2464 6129/9856/2464 -f 6159/9857/2465 6142/9858/2465 6139/9859/2465 6137/9860/2465 -f 6160/9861/2466 6138/9862/2466 6140/9863/2466 6141/9864/2466 -f 6161/9865/2467 6145/9866/2467 6146/9867/2467 6162/9868/2467 -f 6163/9869/2468 6148/9870/2468 6145/9871/2468 6161/9872/2468 -f 6163/9873/2469 6164/9874/2469 6149/9875/2469 6148/9876/2469 -f 6150/9877/2470 6143/9878/2470 6156/9879/2470 6152/9880/2470 -f 6164/9881/2471 6162/9882/2471 6146/9883/2471 6149/9884/2471 -f 6147/9885/2472 6150/9886/2472 6152/9887/2472 6153/9888/2472 -f 6147/9889/2473 6153/9890/2473 6158/9891/2473 6144/9892/2473 -f 6144/9893/2474 6158/9894/2474 6156/9895/2474 6143/9896/2474 -f 6166/9897/2475 6165/9898/2475 6164/9899/2475 6163/9900/2475 -f 6165/9901/2476 6167/9902/2476 6162/9903/2476 6164/9904/2476 -f 6166/9905/2477 6163/9906/2477 6161/9907/2477 6168/9908/2477 -f 6168/9909/2478 6161/9910/2478 6162/9911/2478 6167/9912/2478 -f 6172/9913/2479 6171/9914/2479 6170/9915/2479 6173/9916/2479 -f 6176/9917/2480 6175/9918/2480 6174/9919/2480 6177/9920/2480 -f 6180/9921/2481 6179/9922/2481 6178/9923/2481 6181/9924/2481 -f 6184/9925/2482 6183/9926/2482 6182/9927/2482 6185/9928/2482 -f 6188/9929/2483 6187/9930/2483 6186/9931/2483 6189/9932/2483 -f 6192/9933/2484 6191/9934/2484 6190/9935/2484 6193/9936/2484 -f 6196/9937/2485 6195/9938/2485 6194/9939/2485 6197/9940/2485 -f 6200/9941/2486 6199/9942/2486 6198/9943/2486 6201/9944/2486 -f 6204/9945/2487 6203/9946/2487 6202/9947/2487 6205/9948/2487 -f 6208/9949/2488 6207/9950/2488 6206/9951/2488 6209/9952/2488 -f 6212/9953/2489 6211/9954/2489 6210/9955/2489 6213/9956/2489 -f 6216/9957/2490 6215/9958/2490 6214/9959/2490 6217/9960/2490 -f 6220/9961/2491 6219/9962/2491 6218/9963/2491 6221/9964/2491 -f 6224/9965/2492 6223/9966/2492 6222/9967/2492 6225/9968/2492 -f 6228/9969/2493 6227/9970/2493 6226/9971/2493 6229/9972/2493 -f 6232/9973/2494 6231/9974/2494 6230/9975/2494 6233/9976/2494 -f 6236/9977/2495 6235/9978/2495 6234/9979/2495 6237/9980/2495 -f 6240/9981/2496 6239/9982/2496 6238/9983/2496 6241/9984/2496 -f 6244/9985/2497 6243/9986/2497 6242/9987/2497 6245/9988/2497 -f 6248/9989/2498 6247/9990/2498 6246/9991/2498 6249/9992/2498 -f 6251/9993/2499 6250/9994/2499 6169/9995/2499 6252/9996/2499 -f 6255/9997/2500 6254/9998/2500 6253/9999/2500 6256/10000/2500 -f 6259/10001/2501 6258/10002/2501 6257/10003/2501 6260/10004/2501 -f 6263/10005/2502 6262/10006/2502 6261/10007/2502 6264/10008/2502 -f 6267/10009/2503 6266/10010/2503 6265/10011/2503 6268/10012/2503 -f 6271/10013/2504 6270/10014/2504 6269/10015/2504 6272/10016/2504 -f 6275/10017/2505 6274/10018/2505 6273/10019/2505 6276/10020/2505 -f 6279/10021/2506 6278/10022/2506 6277/10023/2506 6280/10024/2506 -f 6283/10025/2507 6282/10026/2507 6281/10027/2507 6284/10028/2507 -f 6287/10029/2508 6286/10030/2508 6285/10031/2508 6288/10032/2508 -f 6291/10033/2509 6290/10034/2509 6289/10035/2509 6292/10036/2509 -f 6295/10037/2510 6294/10038/2510 6293/10039/2510 6296/10040/2510 -f 6299/10041/2511 6298/10042/2511 6297/10043/2511 6300/10044/2511 -f 6303/10045/2512 6302/10046/2512 6301/10047/2512 6304/10048/2512 -f 6307/10049/2513 6306/10050/2513 6305/10051/2513 6308/10052/2513 -f 6311/10053/2514 6310/10054/2514 6309/10055/2514 6312/10056/2514 -f 6315/10057/2515 6314/10058/2515 6313/10059/2515 6316/10060/2515 -f 6319/10061/2516 6318/10062/2516 6317/10063/2516 6320/10064/2516 -f 6315/10065/2517 6316/10066/2517 6321/10067/2517 6322/10068/2517 -f 6322/10069/2518 6321/10070/2518 6323/10071/2518 6324/10072/2518 -f 6326/10073/2519 6325/10074/2519 6313/10075/2519 6323/10076/2519 -f 6316/10077/2520 6328/10078/2520 6327/10079/2520 6321/10080/2520 -f 6321/10081/2521 6327/10082/2521 6326/10083/2521 6323/10084/2521 -f 6323/10085/2522 6313/10086/2522 6314/10087/2522 6324/10088/2522 -f 6316/10089/2523 6313/10090/2523 6325/10091/2523 6328/10092/2523 -f 6318/10093/2524 6330/10094/2524 6329/10095/2524 6317/10096/2524 -f 6319/10097/2525 6320/10098/2525 6331/10099/2525 6332/10100/2525 -f 6332/10101/2526 6331/10102/2526 6329/10103/2526 6330/10104/2526 -f 6325/10105/2527 6326/10106/2527 6330/10107/2527 6318/10108/2527 -f 6328/10109/2528 6325/10110/2528 6318/10111/2528 6319/10112/2528 -f 6328/10113/2529 6319/10114/2529 6332/10115/2529 6327/10116/2529 -f 6327/10117/2530 6332/10118/2530 6330/10119/2530 6326/10120/2530 -f 6315/10121/2531 6322/10122/2531 6324/10123/2531 6314/10124/2531 -f 6335/10125/2532 6334/10126/2532 6333/10127/2532 6336/10128/2532 -f 6339/10129/2533 6338/10130/2533 6337/10131/2533 6340/10132/2533 -f 6343/10133/2534 6342/10134/2534 6341/10135/2534 6344/10136/2534 -f 6347/10137/2535 6346/10138/2535 6345/10139/2535 6348/10140/2535 -f 6351/10141/2536 6350/10142/2536 6349/10143/2536 6352/10144/2536 -f 6355/10145/2537 6354/10146/2537 6353/10147/2537 6356/10148/2537 -f 6359/10149/2538 6358/10150/2538 6357/10151/2538 6360/10152/2538 -f 6363/10153/2539 6362/10154/2539 6361/10155/2539 6364/10156/2539 -f 6367/10157/2540 6366/10158/2540 6365/10159/2540 6368/10160/2540 -f 6371/10161/2541 6370/10162/2541 6369/10163/2541 6372/10164/2541 -f 6375/10165/2542 6374/10166/2542 6373/10167/2542 6376/10168/2542 -f 6379/10169/2543 6378/10170/2543 6377/10171/2543 6380/10172/2543 -f 6383/10173/2544 6382/10174/2544 6381/10175/2544 6384/10176/2544 -f 6387/10177/2545 6386/10178/2545 6385/10179/2545 6388/10180/2545 -f 6391/10181/2546 6390/10182/2546 6389/10183/2546 6392/10184/2546 -f 6395/10185/2547 6394/10186/2547 6393/10187/2547 6396/10188/2547 -f 6399/10189/2548 6398/10190/2548 6397/10191/2548 6400/10192/2548 -f 6403/10193/2549 6402/10194/2549 6401/10195/2549 6404/10196/2549 -f 6407/10197/2550 6406/10198/2550 6405/10199/2550 6408/10200/2550 -f 6408/10201/2551 6405/10202/2551 6401/10203/2551 6402/10204/2551 -f 6407/10205/2552 6403/10206/2552 6404/10207/2552 6406/10208/2552 -f 6411/10209/2553 6410/10210/2553 6409/10211/2553 6412/10212/2553 -f 6414/10213/2554 6413/10214/2554 6409/10215/2554 6410/10216/2554 -f 6417/10217/2555 6416/10218/2555 6415/10219/2555 6418/10220/2555 -f 6419/10221/2556 6418/10222/2556 6415/10223/2556 6420/10224/2556 -f 6423/10225/2557 6422/10226/2557 6421/10227/2557 6424/10228/2557 -f 6426/10229/2558 6425/10230/2558 6419/10231/2558 6427/10232/2558 -f 6422/10233/2559 6429/10234/2559 6428/10235/2559 6421/10236/2559 -f 6423/10237/2560 6424/10238/2560 6430/10239/2560 6431/10240/2560 -f 6431/10241/2561 6430/10242/2561 6428/10243/2561 6429/10244/2561 -f 6434/10245/2562 6433/10246/2562 6432/10247/2562 6435/10248/2562 -f 6438/10249/2563 6437/10250/2563 6436/10251/2563 6439/10252/2563 -f 6442/10253/2564 6441/10254/2564 6440/10255/2564 6443/10256/2564 -f 6443/10257/2565 6440/10258/2565 6436/10259/2565 6437/10260/2565 -f 6446/10261/2566 6445/10262/2566 6444/10263/2566 6447/10264/2566 -f 6448/10265/2567 6447/10266/2567 6444/10267/2567 6449/10268/2567 -f 6452/10269/2568 6451/10270/2568 6450/10271/2568 6453/10272/2568 -f 6455/10273/2569 6454/10274/2569 6448/10275/2569 6456/10276/2569 -f 6451/10277/2570 6458/10278/2570 6457/10279/2570 6450/10280/2570 -f 6452/10281/2571 6453/10282/2571 6459/10283/2571 6460/10284/2571 -f 6460/10285/2572 6459/10286/2572 6457/10287/2572 6458/10288/2572 -f 6442/10289/2573 6438/10290/2573 6439/10291/2573 6441/10292/2573 -f 6463/10293/2574 6462/10294/2574 6461/10295/2574 6464/10296/2574 -f 6467/10297/2575 6466/10298/2575 6465/10299/2575 6468/10300/2575 -f 6470/10301/2576 6469/10302/2576 6466/10303/2576 6467/10304/2576 -f 6471/10305/2577 6468/10306/2577 6465/10307/2577 6472/10308/2577 -f 6475/10309/2578 6474/10310/2578 6473/10311/2578 6476/10312/2578 -f 6470/10313/2579 6471/10314/2579 6472/10315/2579 6469/10316/2579 -f 6474/10317/2580 6478/10318/2580 6477/10319/2580 6473/10320/2580 -f 6475/10321/2581 6476/10322/2581 6479/10323/2581 6480/10324/2581 -f 6480/10325/2582 6479/10326/2582 6477/10327/2582 6478/10328/2582 -f 6424/10329/2583 6421/10330/2583 6403/10331/2583 6407/10332/2583 -f 6476/10333/2584 6473/10334/2584 6438/10335/2584 6442/10336/2584 -f 6424/10337/2585 6407/10338/2585 6408/10339/2585 6430/10340/2585 -f 6430/10341/2586 6408/10342/2586 6402/10343/2586 6428/10344/2586 -f 6404/10345/2587 6401/10346/2587 6481/10347/2587 6398/10348/2587 -f 6421/10349/2588 6428/10350/2588 6402/10351/2588 6403/10352/2588 -f 6406/10353/2589 6404/10354/2589 6398/10355/2589 6399/10356/2589 -f 6406/10357/2590 6399/10358/2590 6482/10359/2590 6405/10360/2590 -f 6405/10361/2591 6482/10362/2591 6481/10363/2591 6401/10364/2591 -f 6453/10365/2592 6450/10366/2592 6411/10367/2592 6483/10368/2592 -f 6485/10369/2593 6484/10370/2593 6425/10371/2593 6426/10372/2593 -f 6453/10373/2594 6483/10374/2594 6414/10375/2594 6459/10376/2594 -f 6459/10377/2595 6414/10378/2595 6410/10379/2595 6457/10380/2595 -f 6483/10381/2596 6486/10382/2596 6413/10383/2596 6414/10384/2596 -f 6427/10385/2597 6487/10386/2597 6416/10387/2597 6417/10388/2597 -f 6433/10389/2598 6417/10390/2598 6418/10391/2598 6432/10392/2598 -f 6426/10393/2599 6427/10394/2599 6417/10395/2599 6433/10396/2599 -f 6420/10397/2600 6415/10398/2600 6429/10399/2600 6422/10400/2600 -f 6425/10401/2601 6432/10402/2601 6418/10403/2601 6419/10404/2601 -f 6427/10405/2602 6419/10406/2602 6420/10407/2602 6487/10408/2602 -f 6487/10409/2603 6420/10410/2603 6422/10411/2603 6423/10412/2603 -f 6487/10413/2604 6423/10414/2604 6431/10415/2604 6416/10416/2604 -f 6416/10417/2605 6431/10418/2605 6429/10419/2605 6415/10420/2605 -f 6412/10421/2606 6409/10422/2606 6435/10423/2606 6484/10424/2606 -f 6450/10425/2607 6457/10426/2607 6410/10427/2607 6411/10428/2607 -f 6483/10429/2608 6411/10430/2608 6412/10431/2608 6486/10432/2608 -f 6486/10433/2609 6412/10434/2609 6484/10435/2609 6485/10436/2609 -f 6486/10437/2610 6485/10438/2610 6434/10439/2610 6413/10440/2610 -f 6413/10441/2611 6434/10442/2611 6435/10443/2611 6409/10444/2611 -f 6484/10445/2612 6435/10446/2612 6432/10447/2612 6425/10448/2612 -f 6485/10449/2613 6426/10450/2613 6433/10451/2613 6434/10452/2613 -f 6489/10453/2614 6488/10454/2614 6454/10455/2614 6455/10456/2614 -f 6476/10457/2615 6442/10458/2615 6443/10459/2615 6479/10460/2615 -f 6479/10461/2616 6443/10462/2616 6437/10463/2616 6477/10464/2616 -f 6456/10465/2617 6490/10466/2617 6445/10467/2617 6446/10468/2617 -f 6462/10469/2618 6446/10470/2618 6447/10471/2618 6461/10472/2618 -f 6455/10473/2619 6456/10474/2619 6446/10475/2619 6462/10476/2619 -f 6449/10477/2620 6444/10478/2620 6458/10479/2620 6451/10480/2620 -f 6454/10481/2621 6461/10482/2621 6447/10483/2621 6448/10484/2621 -f 6456/10485/2622 6448/10486/2622 6449/10487/2622 6490/10488/2622 -f 6490/10489/2623 6449/10490/2623 6451/10491/2623 6452/10492/2623 -f 6490/10493/2624 6452/10494/2624 6460/10495/2624 6445/10496/2624 -f 6445/10497/2625 6460/10498/2625 6458/10499/2625 6444/10500/2625 -f 6439/10501/2626 6436/10502/2626 6464/10503/2626 6488/10504/2626 -f 6473/10505/2627 6477/10506/2627 6437/10507/2627 6438/10508/2627 -f 6441/10509/2628 6439/10510/2628 6488/10511/2628 6489/10512/2628 -f 6441/10513/2629 6489/10514/2629 6463/10515/2629 6440/10516/2629 -f 6440/10517/2630 6463/10518/2630 6464/10519/2630 6436/10520/2630 -f 6488/10521/2631 6464/10522/2631 6461/10523/2631 6454/10524/2631 -f 6489/10525/2632 6455/10526/2632 6462/10527/2632 6463/10528/2632 -f 6491/10529/2633 6467/10530/2633 6468/10531/2633 6492/10532/2633 -f 6493/10533/2634 6470/10534/2634 6467/10535/2634 6491/10536/2634 -f 6493/10537/2635 6494/10538/2635 6471/10539/2635 6470/10540/2635 -f 6472/10541/2636 6465/10542/2636 6478/10543/2636 6474/10544/2636 -f 6494/10545/2637 6492/10546/2637 6468/10547/2637 6471/10548/2637 -f 6469/10549/2638 6472/10550/2638 6474/10551/2638 6475/10552/2638 -f 6469/10553/2639 6475/10554/2639 6480/10555/2639 6466/10556/2639 -f 6466/10557/2640 6480/10558/2640 6478/10559/2640 6465/10560/2640 -f 6496/10561/2641 6495/10562/2641 6494/10563/2641 6493/10564/2641 -f 6495/10565/2642 6497/10566/2642 6492/10567/2642 6494/10568/2642 -f 6496/10569/2643 6493/10570/2643 6491/10571/2643 6498/10572/2643 -f 6498/10573/2644 6491/10574/2644 6492/10575/2644 6497/10576/2644 -f 6499/10577/2645 6400/10578/2645 6397/10579/2645 6500/10580/2645 -f 6500/10581/2646 6397/10582/2646 6398/10583/2646 6481/10584/2646 -f 6399/10585/2647 6400/10586/2647 6499/10587/2647 6482/10588/2647 -f 6482/10589/2648 6499/10590/2648 6500/10591/2648 6481/10592/2648 -f 6503/10593/2649 6502/10594/2649 6501/10595/2649 6504/10596/2649 -f 6505/10597/2650 6504/10598/2650 6501/10599/2650 6506/10600/2650 -f 6509/10601/2651 6508/10602/2651 6507/10603/2651 6510/10604/2651 -f 6508/10605/2652 6512/10606/2652 6511/10607/2652 6507/10608/2652 -f 6509/10609/2653 6510/10610/2653 6513/10611/2653 6514/10612/2653 -f 6514/10613/2654 6513/10614/2654 6511/10615/2654 6512/10616/2654 -f 6516/10617/2655 6515/10618/2655 6502/10619/2655 6503/10620/2655 -f 6517/10621/2656 6503/10622/2656 6504/10623/2656 6518/10624/2656 -f 6519/10625/2657 6516/10626/2657 6503/10627/2657 6517/10628/2657 -f 6519/10629/2658 6520/10630/2658 6505/10631/2658 6516/10632/2658 -f 6506/10633/2659 6501/10634/2659 6512/10635/2659 6508/10636/2659 -f 6520/10637/2660 6518/10638/2660 6504/10639/2660 6505/10640/2660 -f 6516/10641/2661 6505/10642/2661 6506/10643/2661 6515/10644/2661 -f 6515/10645/2662 6506/10646/2662 6508/10647/2662 6509/10648/2662 -f 6515/10649/2663 6509/10650/2663 6514/10651/2663 6502/10652/2663 -f 6512/10653/2664 6501/10654/2664 6502/10655/2664 6514/10656/2664 -f 6522/10657/2665 6521/10658/2665 6520/10659/2665 6519/10660/2665 -f 6521/10661/2666 6523/10662/2666 6518/10663/2666 6520/10664/2666 -f 6522/10665/2667 6519/10666/2667 6517/10667/2667 6524/10668/2667 -f 6524/10669/2668 6517/10670/2668 6518/10671/2668 6523/10672/2668 -f 6507/10673/2669 6511/10674/2669 6513/10675/2669 6510/10676/2669 -f 6528/10677/2670 6527/10678/2670 6526/10679/2670 6529/10680/2670 -f 6532/10681/2671 6531/10682/2671 6530/10683/2671 6533/10684/2671 -f 6536/10685/2672 6535/10686/2672 6534/10687/2672 6537/10688/2672 -f 6540/10689/2673 6539/10690/2673 6538/10691/2673 6541/10692/2673 -f 6544/10693/2674 6543/10694/2674 6542/10695/2674 6545/10696/2674 -f 6548/10697/2675 6547/10698/2675 6546/10699/2675 6549/10700/2675 -f 6552/10701/2676 6551/10702/2676 6550/10703/2676 6553/10704/2676 -f 6556/10705/2677 6555/10706/2677 6554/10707/2677 6557/10708/2677 -f 6560/10709/2678 6559/10710/2678 6558/10711/2678 6561/10712/2678 -f 6564/10713/2679 6563/10714/2679 6562/10715/2679 6565/10716/2679 -f 6568/10717/2680 6567/10718/2680 6566/10719/2680 6569/10720/2680 -f 6572/10721/2681 6571/10722/2681 6570/10723/2681 6573/10724/2681 -f 6576/10725/2682 6575/10726/2682 6574/10727/2682 6577/10728/2682 -f 6580/10729/2683 6579/10730/2683 6578/10731/2683 6581/10732/2683 -f 6584/10733/2684 6583/10734/2684 6582/10735/2684 6585/10736/2684 -f 6588/10737/2685 6587/10738/2685 6586/10739/2685 6589/10740/2685 -f 6592/10741/2686 6591/10742/2686 6590/10743/2686 6593/10744/2686 -f 6596/10745/2687 6595/10746/2687 6594/10747/2687 6597/10748/2687 -f 6600/10749/2688 6599/10750/2688 6598/10751/2688 6601/10752/2688 -f 6604/10753/2689 6603/10754/2689 6602/10755/2689 6605/10756/2689 -f 6608/10757/2690 6607/10758/2690 6606/10759/2690 6609/10760/2690 -f 6612/10761/2691 6611/10762/2691 6610/10763/2691 6613/10764/2691 -f 6616/10765/2692 6615/10766/2692 6614/10767/2692 6617/10768/2692 -f 6620/10769/2693 6619/10770/2693 6618/10771/2693 6621/10772/2693 -f 6624/10773/2694 6623/10774/2694 6622/10775/2694 6625/10776/2694 -f 6628/10777/2695 6627/10778/2695 6626/10779/2695 6629/10780/2695 -f 6632/10781/2696 6631/10782/2696 6630/10783/2696 6633/10784/2696 -f 6636/10785/2697 6635/10786/2697 6634/10787/2697 6637/10788/2697 -f 6640/10789/2698 6639/10790/2698 6638/10791/2698 6641/10792/2698 -f 6644/10793/2699 6643/10794/2699 6642/10795/2699 6645/10796/2699 -f 6648/10797/2700 6647/10798/2700 6646/10799/2700 6649/10800/2700 -f 6652/10801/2701 6651/10802/2701 6650/10803/2701 6653/10804/2701 -f 6656/10805/2702 6655/10806/2702 6654/10807/2702 6657/10808/2702 -f 6660/10809/2703 6659/10810/2703 6658/10811/2703 6661/10812/2703 -f 6664/10813/2704 6663/10814/2704 6662/10815/2704 6665/10816/2704 -f 6668/10817/2705 6667/10818/2705 6666/10819/2705 6669/10820/2705 -f 6672/10821/2706 6671/10822/2706 6670/10823/2706 6673/10824/2706 -f 6676/10825/2707 6675/10826/2707 6674/10827/2707 6677/10828/2707 -f 6680/10829/2708 6679/10830/2708 6678/10831/2708 6681/10832/2708 -f 6684/10833/2709 6683/10834/2709 6682/10835/2709 6685/10836/2709 -f 6688/10837/2710 6687/10838/2710 6686/10839/2710 6689/10840/2710 -f 6692/10841/2711 6691/10842/2711 6690/10843/2711 6693/10844/2711 -f 6696/10845/2712 6695/10846/2712 6694/10847/2712 6697/10848/2712 -f 6700/10849/2713 6699/10850/2713 6698/10851/2713 6701/10852/2713 -f 6704/10853/2714 6703/10854/2714 6702/10855/2714 6705/10856/2714 -f 6708/10857/2715 6707/10858/2715 6706/10859/2715 6709/10860/2715 -f 6712/10861/2716 6711/10862/2716 6710/10863/2716 6713/10864/2716 -f 6716/10865/2717 6715/10866/2717 6714/10867/2717 6717/10868/2717 -f 6720/10869/2718 6719/10870/2718 6718/10871/2718 6721/10872/2718 -f 6724/10873/2719 6723/10874/2719 6722/10875/2719 6725/10876/2719 -f 6728/10877/2720 6727/10878/2720 6726/10879/2720 6729/10880/2720 -f 6732/10881/2721 6731/10882/2721 6730/10883/2721 6733/10884/2721 -f 6736/10885/2722 6735/10886/2722 6734/10887/2722 6737/10888/2722 -f 6740/10889/2723 6739/10890/2723 6738/10891/2723 6741/10892/2723 -f 6744/10893/2724 6743/10894/2724 6742/10895/2724 6745/10896/2724 -f 6748/10897/2725 6747/10898/2725 6746/10899/2725 6749/10900/2725 -f 6752/10901/2726 6751/10902/2726 6750/10903/2726 6753/10904/2726 -f 6756/10905/2727 6755/10906/2727 6754/10907/2727 6757/10908/2727 -f 6760/10909/2728 6759/10910/2728 6758/10911/2728 6761/10912/2728 -f 6764/10913/2729 6763/10914/2729 6762/10915/2729 6765/10916/2729 -f 6768/10917/2730 6767/10918/2730 6766/10919/2730 6769/10920/2730 -f 6772/10921/2731 6771/10922/2731 6770/10923/2731 6773/10924/2731 -f 6776/10925/2732 6775/10926/2732 6774/10927/2732 6777/10928/2732 -f 6780/10929/2733 6779/10930/2733 6778/10931/2733 6781/10932/2733 -f 6784/10933/2734 6783/10934/2734 6782/10935/2734 6785/10936/2734 -f 6788/10937/2735 6787/10938/2735 6786/10939/2735 6789/10940/2735 -f 6792/10941/2736 6791/10942/2736 6790/10943/2736 6793/10944/2736 -f 6796/10945/2737 6795/10946/2737 6794/10947/2737 6797/10948/2737 -f 6800/10949/2738 6799/10950/2738 6798/10951/2738 6801/10952/2738 -f 6804/10953/2739 6803/10954/2739 6802/10955/2739 6805/10956/2739 -f 6808/10957/2740 6807/10958/2740 6806/10959/2740 6809/10960/2740 -f 6812/10961/2741 6811/10962/2741 6810/10963/2741 6813/10964/2741 -f 6816/10965/2742 6815/10966/2742 6814/10967/2742 6817/10968/2742 -f 6820/10969/2743 6819/10970/2743 6818/10971/2743 6821/10972/2743 -f 6824/10973/2744 6823/10974/2744 6822/10975/2744 6825/10976/2744 -f 6828/10977/2745 6827/10978/2745 6826/10979/2745 6829/10980/2745 -f 6832/10981/2746 6831/10982/2746 6830/10983/2746 6833/10984/2746 -f 6836/10985/2747 6835/10986/2747 6834/10987/2747 6837/10988/2747 -f 6840/10989/2748 6839/10990/2748 6838/10991/2748 6841/10992/2748 -f 6844/10993/2749 6843/10994/2749 6842/10995/2749 6845/10996/2749 -f 6847/10997/2750 6846/10998/2750 6525/10999/2750 6848/11000/2750 -f 6851/11001/2751 6850/11002/2751 6849/11003/2751 6852/11004/2751 -f 6855/11005/2752 6854/11006/2752 6853/11007/2752 6856/11008/2752 -f 6859/11009/2753 6858/11010/2753 6857/11011/2753 6860/11012/2753 -f 6863/11013/2754 6862/11014/2754 6861/11015/2754 6864/11016/2754 -f 6867/11017/2755 6866/11018/2755 6865/11019/2755 6868/11020/2755 -f 6871/11021/2756 6870/11022/2756 6869/11023/2756 6872/11024/2756 -f 6875/11025/2757 6874/11026/2757 6873/11027/2757 6876/11028/2757 -f 6879/11029/2758 6878/11030/2758 6877/11031/2758 6880/11032/2758 -f 6883/11033/2759 6882/11034/2759 6881/11035/2759 6884/11036/2759 -f 6887/11037/2760 6886/11038/2760 6885/11039/2760 6888/11040/2760 -f 6891/11041/2761 6890/11042/2761 6889/11043/2761 6892/11044/2761 -f 6895/11045/2762 6894/11046/2762 6893/11047/2762 6896/11048/2762 -f 6899/11049/2763 6898/11050/2763 6897/11051/2763 6900/11052/2763 -f 6903/11053/2764 6902/11054/2764 6901/11055/2764 6904/11056/2764 -f 6907/11057/2765 6906/11058/2765 6905/11059/2765 6908/11060/2765 -f 6911/11061/2766 6910/11062/2766 6909/11063/2766 6912/11064/2766 -f 6915/11065/2767 6914/11066/2767 6913/11067/2767 6916/11068/2767 -f 6919/11069/2768 6918/11070/2768 6917/11071/2768 6920/11072/2768 -f 6923/11073/2769 6922/11074/2769 6921/11075/2769 6924/11076/2769 -f 6927/11077/2770 6926/11078/2770 6925/11079/2770 6928/11080/2770 -f 6931/11081/2771 6930/11082/2771 6929/11083/2771 6932/11084/2771 -f 6935/11085/2772 6934/11086/2772 6933/11087/2772 6936/11088/2772 -f 6939/11089/2773 6938/11090/2773 6937/11091/2773 6940/11092/2773 -f 6943/11093/2774 6942/11094/2774 6941/11095/2774 6944/11096/2774 -f 6947/11097/2775 6946/11098/2775 6945/11099/2775 6948/11100/2775 -f 6951/11101/2776 6950/11102/2776 6949/11103/2776 6952/11104/2776 -f 6955/11105/2777 6954/11106/2777 6953/11107/2777 6956/11108/2777 -f 6959/11109/2778 6958/11110/2778 6957/11111/2778 6960/11112/2778 -f 6963/11113/2779 6962/11114/2779 6961/11115/2779 6964/11116/2779 -f 6967/11117/2780 6966/11118/2780 6965/11119/2780 6968/11120/2780 -f 6971/11121/2781 6970/11122/2781 6969/11123/2781 6972/11124/2781 -f 6975/11125/2782 6974/11126/2782 6973/11127/2782 6976/11128/2782 -f 6979/11129/2783 6978/11130/2783 6977/11131/2783 6980/11132/2783 -f 6983/11133/2784 6982/11134/2784 6981/11135/2784 6984/11136/2784 -f 6987/11137/2785 6986/11138/2785 6985/11139/2785 6988/11140/2785 -f 6991/11141/2786 6990/11142/2786 6989/11143/2786 6992/11144/2786 -f 6995/11145/2787 6994/11146/2787 6993/11147/2787 6996/11148/2787 -f 6999/11149/2788 6998/11150/2788 6997/11151/2788 7000/11152/2788 -f 7003/11153/2789 7002/11154/2789 7001/11155/2789 7004/11156/2789 -f 7007/11157/2790 7006/11158/2790 7005/11159/2790 7008/11160/2790 -f 7011/11161/2791 7010/11162/2791 7009/11163/2791 7012/11164/2791 -f 7007/11165/2792 7008/11166/2792 7013/11167/2792 7014/11168/2792 -f 7014/11169/2793 7013/11170/2793 7015/11171/2793 7016/11172/2793 -f 7018/11173/2794 7017/11174/2794 7005/11175/2794 7015/11176/2794 -f 7008/11177/2795 7020/11178/2795 7019/11179/2795 7013/11180/2795 -f 7013/11181/2796 7019/11182/2796 7018/11183/2796 7015/11184/2796 -f 7015/11185/2797 7005/11186/2797 7006/11187/2797 7016/11188/2797 -f 7008/11189/2798 7005/11190/2798 7017/11191/2798 7020/11192/2798 -f 7010/11193/2799 7022/11194/2799 7021/11195/2799 7009/11196/2799 -f 7011/11197/2800 7012/11198/2800 7023/11199/2800 7024/11200/2800 -f 7024/11201/2801 7023/11202/2801 7021/11203/2801 7022/11204/2801 -f 7017/11205/2802 7018/11206/2802 7022/11207/2802 7010/11208/2802 -f 7020/11209/2803 7017/11210/2803 7010/11211/2803 7011/11212/2803 -f 7020/11213/2804 7011/11214/2804 7024/11215/2804 7019/11216/2804 -f 7019/11217/2805 7024/11218/2805 7022/11219/2805 7018/11220/2805 -f 7007/11221/2806 7014/11222/2806 7016/11223/2806 7006/11224/2806 -f 7027/11225/2807 7026/11226/2807 7025/11227/2807 7028/11228/2807 -f 7031/11229/2808 7030/11230/2808 7029/11231/2808 7032/11232/2808 -f 7035/11233/2809 7034/11234/2809 7033/11235/2809 7036/11236/2809 -f 7039/11237/2810 7038/11238/2810 7037/11239/2810 7040/11240/2810 -f 7043/11241/2811 7042/11242/2811 7041/11243/2811 7044/11244/2811 -f 7047/11245/2812 7046/11246/2812 7045/11247/2812 7048/11248/2812 -f 7051/11249/2813 7050/11250/2813 7049/11251/2813 7052/11252/2813 -f 7055/11253/2814 7054/11254/2814 7053/11255/2814 7056/11256/2814 -f 7059/11257/2815 7058/11258/2815 7057/11259/2815 7060/11260/2815 -f 7063/11261/2816 7062/11262/2816 7061/11263/2816 7064/11264/2816 -f 7067/11265/2817 7066/11266/2817 7065/11267/2817 7068/11268/2817 -f 7071/11269/2818 7070/11270/2818 7069/11271/2818 7072/11272/2818 -f 7075/11273/2819 7074/11274/2819 7073/11275/2819 7076/11276/2819 -f 7079/11277/2820 7078/11278/2820 7077/11279/2820 7080/11280/2820 -f 7083/11281/2821 7082/11282/2821 7081/11283/2821 7084/11284/2821 -f 7087/11285/2822 7086/11286/2822 7085/11287/2822 7088/11288/2822 -f 7091/11289/2823 7090/11290/2823 7089/11291/2823 7092/11292/2823 -f 7095/11293/2824 7094/11294/2824 7093/11295/2824 7096/11296/2824 -f 7099/11297/2825 7098/11298/2825 7097/11299/2825 7100/11300/2825 -f 7100/11301/2826 7097/11302/2826 7093/11303/2826 7094/11304/2826 -f 7099/11305/2827 7095/11306/2827 7096/11307/2827 7098/11308/2827 -f 7103/11309/2828 7102/11310/2828 7101/11311/2828 7104/11312/2828 -f 7106/11313/2829 7105/11314/2829 7101/11315/2829 7102/11316/2829 -f 7109/11317/2830 7108/11318/2830 7107/11319/2830 7110/11320/2830 -f 7111/11321/2831 7110/11322/2831 7107/11323/2831 7112/11324/2831 -f 7115/11325/2832 7114/11326/2832 7113/11327/2832 7116/11328/2832 -f 7118/11329/2833 7117/11330/2833 7111/11331/2833 7119/11332/2833 -f 7114/11333/2834 7121/11334/2834 7120/11335/2834 7113/11336/2834 -f 7115/11337/2835 7116/11338/2835 7122/11339/2835 7123/11340/2835 -f 7123/11341/2836 7122/11342/2836 7120/11343/2836 7121/11344/2836 -f 7126/11345/2837 7125/11346/2837 7124/11347/2837 7127/11348/2837 -f 7130/11349/2838 7129/11350/2838 7128/11351/2838 7131/11352/2838 -f 7134/11353/2839 7133/11354/2839 7132/11355/2839 7135/11356/2839 -f 7135/11357/2840 7132/11358/2840 7128/11359/2840 7129/11360/2840 -f 7138/11361/2841 7137/11362/2841 7136/11363/2841 7139/11364/2841 -f 7140/11365/2842 7139/11366/2842 7136/11367/2842 7141/11368/2842 -f 7144/11369/2843 7143/11370/2843 7142/11371/2843 7145/11372/2843 -f 7147/11373/2844 7146/11374/2844 7140/11375/2844 7148/11376/2844 -f 7143/11377/2845 7150/11378/2845 7149/11379/2845 7142/11380/2845 -f 7144/11381/2846 7145/11382/2846 7151/11383/2846 7152/11384/2846 -f 7152/11385/2847 7151/11386/2847 7149/11387/2847 7150/11388/2847 -f 7134/11389/2848 7130/11390/2848 7131/11391/2848 7133/11392/2848 -f 7155/11393/2849 7154/11394/2849 7153/11395/2849 7156/11396/2849 -f 7159/11397/2850 7158/11398/2850 7157/11399/2850 7160/11400/2850 -f 7162/11401/2851 7161/11402/2851 7158/11403/2851 7159/11404/2851 -f 7163/11405/2852 7160/11406/2852 7157/11407/2852 7164/11408/2852 -f 7167/11409/2853 7166/11410/2853 7165/11411/2853 7168/11412/2853 -f 7162/11413/2854 7163/11414/2854 7164/11415/2854 7161/11416/2854 -f 7166/11417/2855 7170/11418/2855 7169/11419/2855 7165/11420/2855 -f 7167/11421/2856 7168/11422/2856 7171/11423/2856 7172/11424/2856 -f 7172/11425/2857 7171/11426/2857 7169/11427/2857 7170/11428/2857 -f 7116/11429/2858 7113/11430/2858 7095/11431/2858 7099/11432/2858 -f 7168/11433/2859 7165/11434/2859 7130/11435/2859 7134/11436/2859 -f 7116/11437/2860 7099/11438/2860 7100/11439/2860 7122/11440/2860 -f 7122/11441/2861 7100/11442/2861 7094/11443/2861 7120/11444/2861 -f 7096/11445/2862 7093/11446/2862 7173/11447/2862 7090/11448/2862 -f 7113/11449/2863 7120/11450/2863 7094/11451/2863 7095/11452/2863 -f 7098/11453/2864 7096/11454/2864 7090/11455/2864 7091/11456/2864 -f 7098/11457/2865 7091/11458/2865 7174/11459/2865 7097/11460/2865 -f 7097/11461/2866 7174/11462/2866 7173/11463/2866 7093/11464/2866 -f 7145/11465/2867 7142/11466/2867 7103/11467/2867 7175/11468/2867 -f 7177/11469/2868 7176/11470/2868 7117/11471/2868 7118/11472/2868 -f 7145/11473/2869 7175/11474/2869 7106/11475/2869 7151/11476/2869 -f 7151/11477/2870 7106/11478/2870 7102/11479/2870 7149/11480/2870 -f 7175/11481/2871 7178/11482/2871 7105/11483/2871 7106/11484/2871 -f 7119/11485/2872 7179/11486/2872 7108/11487/2872 7109/11488/2872 -f 7125/11489/2873 7109/11490/2873 7110/11491/2873 7124/11492/2873 -f 7118/11493/2874 7119/11494/2874 7109/11495/2874 7125/11496/2874 -f 7112/11497/2875 7107/11498/2875 7121/11499/2875 7114/11500/2875 -f 7117/11501/2876 7124/11502/2876 7110/11503/2876 7111/11504/2876 -f 7119/11505/2877 7111/11506/2877 7112/11507/2877 7179/11508/2877 -f 7179/11509/2878 7112/11510/2878 7114/11511/2878 7115/11512/2878 -f 7179/11513/2879 7115/11514/2879 7123/11515/2879 7108/11516/2879 -f 7108/11517/2880 7123/11518/2880 7121/11519/2880 7107/11520/2880 -f 7104/11521/2881 7101/11522/2881 7127/11523/2881 7176/11524/2881 -f 7142/11525/2882 7149/11526/2882 7102/11527/2882 7103/11528/2882 -f 7175/11529/2883 7103/11530/2883 7104/11531/2883 7178/11532/2883 -f 7178/11533/2884 7104/11534/2884 7176/11535/2884 7177/11536/2884 -f 7178/11537/2885 7177/11538/2885 7126/11539/2885 7105/11540/2885 -f 7105/11541/2886 7126/11542/2886 7127/11543/2886 7101/11544/2886 -f 7176/11545/2887 7127/11546/2887 7124/11547/2887 7117/11548/2887 -f 7177/11549/2888 7118/11550/2888 7125/11551/2888 7126/11552/2888 -f 7181/11553/2889 7180/11554/2889 7146/11555/2889 7147/11556/2889 -f 7168/11557/2890 7134/11558/2890 7135/11559/2890 7171/11560/2890 -f 7171/11561/2891 7135/11562/2891 7129/11563/2891 7169/11564/2891 -f 7148/11565/2892 7182/11566/2892 7137/11567/2892 7138/11568/2892 -f 7154/11569/2893 7138/11570/2893 7139/11571/2893 7153/11572/2893 -f 7147/11573/2894 7148/11574/2894 7138/11575/2894 7154/11576/2894 -f 7141/11577/2895 7136/11578/2895 7150/11579/2895 7143/11580/2895 -f 7146/11581/2896 7153/11582/2896 7139/11583/2896 7140/11584/2896 -f 7148/11585/2897 7140/11586/2897 7141/11587/2897 7182/11588/2897 -f 7182/11589/2898 7141/11590/2898 7143/11591/2898 7144/11592/2898 -f 7182/11593/2899 7144/11594/2899 7152/11595/2899 7137/11596/2899 -f 7137/11597/2900 7152/11598/2900 7150/11599/2900 7136/11600/2900 -f 7131/11601/2901 7128/11602/2901 7156/11603/2901 7180/11604/2901 -f 7165/11605/2902 7169/11606/2902 7129/11607/2902 7130/11608/2902 -f 7133/11609/2903 7131/11610/2903 7180/11611/2903 7181/11612/2903 -f 7133/11613/2904 7181/11614/2904 7155/11615/2904 7132/11616/2904 -f 7132/11617/2905 7155/11618/2905 7156/11619/2905 7128/11620/2905 -f 7180/11621/2906 7156/11622/2906 7153/11623/2906 7146/11624/2906 -f 7181/11625/2907 7147/11626/2907 7154/11627/2907 7155/11628/2907 -f 7183/11629/2908 7159/11630/2908 7160/11631/2908 7184/11632/2908 -f 7185/11633/2909 7162/11634/2909 7159/11635/2909 7183/11636/2909 -f 7185/11637/2910 7186/11638/2910 7163/11639/2910 7162/11640/2910 -f 7164/11641/2911 7157/11642/2911 7170/11643/2911 7166/11644/2911 -f 7186/11645/2912 7184/11646/2912 7160/11647/2912 7163/11648/2912 -f 7161/11649/2913 7164/11650/2913 7166/11651/2913 7167/11652/2913 -f 7161/11653/2914 7167/11654/2914 7172/11655/2914 7158/11656/2914 -f 7158/11657/2915 7172/11658/2915 7170/11659/2915 7157/11660/2915 -f 7188/11661/2916 7187/11662/2916 7186/11663/2916 7185/11664/2916 -f 7187/11665/2917 7189/11666/2917 7184/11667/2917 7186/11668/2917 -f 7188/11669/2918 7185/11670/2918 7183/11671/2918 7190/11672/2918 -f 7190/11673/2919 7183/11674/2919 7184/11675/2919 7189/11676/2919 -f 7191/11677/2920 7092/11678/2920 7089/11679/2920 7192/11680/2920 -f 7192/11681/2921 7089/11682/2921 7090/11683/2921 7173/11684/2921 -f 7091/11685/2922 7092/11686/2922 7191/11687/2922 7174/11688/2922 -f 7174/11689/2923 7191/11690/2923 7192/11691/2923 7173/11692/2923 -f 7195/11693/2924 7194/11694/2924 7193/11695/2924 7196/11696/2924 -f 7197/11697/2925 7196/11698/2925 7193/11699/2925 7198/11700/2925 -f 7201/11701/2926 7200/11702/2926 7199/11703/2926 7202/11704/2926 -f 7200/11705/2927 7204/11706/2927 7203/11707/2927 7199/11708/2927 -f 7201/11709/2928 7202/11710/2928 7205/11711/2928 7206/11712/2928 -f 7206/11713/2929 7205/11714/2929 7203/11715/2929 7204/11716/2929 -f 7208/11717/2930 7207/11718/2930 7194/11719/2930 7195/11720/2930 -f 7209/11721/2931 7195/11722/2931 7196/11723/2931 7210/11724/2931 -f 7211/11725/2932 7208/11726/2932 7195/11727/2932 7209/11728/2932 -f 7211/11729/2933 7212/11730/2933 7197/11731/2933 7208/11732/2933 -f 7198/11733/2934 7193/11734/2934 7204/11735/2934 7200/11736/2934 -f 7212/11737/2935 7210/11738/2935 7196/11739/2935 7197/11740/2935 -f 7208/11741/2936 7197/11742/2936 7198/11743/2936 7207/11744/2936 -f 7207/11745/2937 7198/11746/2937 7200/11747/2937 7201/11748/2937 -f 7207/11749/2938 7201/11750/2938 7206/11751/2938 7194/11752/2938 -f 7204/11753/2939 7193/11754/2939 7194/11755/2939 7206/11756/2939 -f 7214/11757/2940 7213/11758/2940 7212/11759/2940 7211/11760/2940 -f 7213/11761/2941 7215/11762/2941 7210/11763/2941 7212/11764/2941 -f 7214/11765/2942 7211/11766/2942 7209/11767/2942 7216/11768/2942 -f 7216/11769/2943 7209/11770/2943 7210/11771/2943 7215/11772/2943 -f 7199/11773/2944 7203/11774/2944 7205/11775/2944 7202/11776/2944 -f 7220/11777/2945 7219/11778/2945 7218/11779/2945 7221/11780/2945 -f 7224/11781/2946 7223/11782/2946 7222/11783/2946 7225/11784/2946 -f 7228/11785/2947 7227/11786/2947 7226/11787/2947 7229/11788/2947 -f 7232/11789/2948 7231/11790/2948 7230/11791/2948 7233/11792/2948 -f 7236/11793/2949 7235/11794/2949 7234/11795/2949 7237/11796/2949 -f 7240/11797/2950 7239/11798/2950 7238/11799/2950 7241/11800/2950 -f 7244/11801/2951 7243/11802/2951 7242/11803/2951 7245/11804/2951 -f 7248/11805/2952 7247/11806/2952 7246/11807/2952 7249/11808/2952 -f 7252/11809/2953 7251/11810/2953 7250/11811/2953 7253/11812/2953 -f 7256/11813/2954 7255/11814/2954 7254/11815/2954 7257/11816/2954 -f 7260/11817/2955 7259/11818/2955 7258/11819/2955 7261/11820/2955 -f 7264/11821/2956 7263/11822/2956 7262/11823/2956 7265/11824/2956 -f 7268/11825/2957 7267/11826/2957 7266/11827/2957 7269/11828/2957 -f 7272/11829/2958 7271/11830/2958 7270/11831/2958 7273/11832/2958 -f 7276/11833/2959 7275/11834/2959 7274/11835/2959 7277/11836/2959 -f 7280/11837/2960 7279/11838/2960 7278/11839/2960 7281/11840/2960 -f 7284/11841/2961 7283/11842/2961 7282/11843/2961 7285/11844/2961 -f 7288/11845/2962 7287/11846/2962 7286/11847/2962 7289/11848/2962 -f 7292/11849/2963 7291/11850/2963 7290/11851/2963 7293/11852/2963 -f 7296/11853/2964 7295/11854/2964 7294/11855/2964 7297/11856/2964 -f 7300/11857/2965 7299/11858/2965 7298/11859/2965 7301/11860/2965 -f 7304/11861/2966 7303/11862/2966 7302/11863/2966 7305/11864/2966 -f 7308/11865/2967 7307/11866/2967 7306/11867/2967 7309/11868/2967 -f 7312/11869/2968 7311/11870/2968 7310/11871/2968 7313/11872/2968 -f 7316/11873/2969 7315/11874/2969 7314/11875/2969 7317/11876/2969 -f 7320/11877/2970 7319/11878/2970 7318/11879/2970 7321/11880/2970 -f 7324/11881/2971 7323/11882/2971 7322/11883/2971 7325/11884/2971 -f 7328/11885/2972 7327/11886/2972 7326/11887/2972 7329/11888/2972 -f 7332/11889/2973 7331/11890/2973 7330/11891/2973 7333/11892/2973 -f 7336/11893/2974 7335/11894/2974 7334/11895/2974 7337/11896/2974 -f 7340/11897/2975 7339/11898/2975 7338/11899/2975 7341/11900/2975 -f 7344/11901/2976 7343/11902/2976 7342/11903/2976 7345/11904/2976 -f 7348/11905/2977 7347/11906/2977 7346/11907/2977 7349/11908/2977 -f 7352/11909/2978 7351/11910/2978 7350/11911/2978 7353/11912/2978 -f 7356/11913/2979 7355/11914/2979 7354/11915/2979 7357/11916/2979 -f 7360/11917/2980 7359/11918/2980 7358/11919/2980 7361/11920/2980 -f 7364/11921/2981 7363/11922/2981 7362/11923/2981 7365/11924/2981 -f 7368/11925/2982 7367/11926/2982 7366/11927/2982 7369/11928/2982 -f 7372/11929/2983 7371/11930/2983 7370/11931/2983 7373/11932/2983 -f 7376/11933/2984 7375/11934/2984 7374/11935/2984 7377/11936/2984 -f 7380/11937/2985 7379/11938/2985 7378/11939/2985 7381/11940/2985 -f 7384/11941/2986 7383/11942/2986 7382/11943/2986 7385/11944/2986 -f 7388/11945/2987 7387/11946/2987 7386/11947/2987 7389/11948/2987 -f 7392/11949/2988 7391/11950/2988 7390/11951/2988 7393/11952/2988 -f 7396/11953/2989 7395/11954/2989 7394/11955/2989 7397/11956/2989 -f 7400/11957/2990 7399/11958/2990 7398/11959/2990 7401/11960/2990 -f 7404/11961/2991 7403/11962/2991 7402/11963/2991 7405/11964/2991 -f 7408/11965/2992 7407/11966/2992 7406/11967/2992 7409/11968/2992 -f 7412/11969/2993 7411/11970/2993 7410/11971/2993 7413/11972/2993 -f 7416/11973/2994 7415/11974/2994 7414/11975/2994 7417/11976/2994 -f 7420/11977/2995 7419/11978/2995 7418/11979/2995 7421/11980/2995 -f 7424/11981/2996 7423/11982/2996 7422/11983/2996 7425/11984/2996 -f 7428/11985/2997 7427/11986/2997 7426/11987/2997 7429/11988/2997 -f 7432/11989/2998 7431/11990/2998 7430/11991/2998 7433/11992/2998 -f 7436/11993/2999 7435/11994/2999 7434/11995/2999 7437/11996/2999 -f 7440/11997/3000 7439/11998/3000 7438/11999/3000 7441/12000/3000 -f 7444/12001/3001 7443/12002/3001 7442/12003/3001 7445/12004/3001 -f 7448/12005/3002 7447/12006/3002 7446/12007/3002 7449/12008/3002 -f 7452/12009/3003 7451/12010/3003 7450/12011/3003 7453/12012/3003 -f 7456/12013/3004 7455/12014/3004 7454/12015/3004 7457/12016/3004 -f 7460/12017/3005 7459/12018/3005 7458/12019/3005 7461/12020/3005 -f 7464/12021/3006 7463/12022/3006 7462/12023/3006 7465/12024/3006 -f 7468/12025/3007 7467/12026/3007 7466/12027/3007 7469/12028/3007 -f 7472/12029/3008 7471/12030/3008 7470/12031/3008 7473/12032/3008 -f 7476/12033/3009 7475/12034/3009 7474/12035/3009 7477/12036/3009 -f 7480/12037/3010 7479/12038/3010 7478/12039/3010 7481/12040/3010 -f 7484/12041/3011 7483/12042/3011 7482/12043/3011 7485/12044/3011 -f 7488/12045/3012 7487/12046/3012 7486/12047/3012 7489/12048/3012 -f 7492/12049/3013 7491/12050/3013 7490/12051/3013 7493/12052/3013 -f 7496/12053/3014 7495/12054/3014 7494/12055/3014 7497/12056/3014 -f 7500/12057/3015 7499/12058/3015 7498/12059/3015 7501/12060/3015 -f 7504/12061/3016 7503/12062/3016 7502/12063/3016 7505/12064/3016 -f 7508/12065/3017 7507/12066/3017 7506/12067/3017 7509/12068/3017 -f 7512/12069/3018 7511/12070/3018 7510/12071/3018 7513/12072/3018 -f 7516/12073/3019 7515/12074/3019 7514/12075/3019 7517/12076/3019 -f 7520/12077/3020 7519/12078/3020 7518/12079/3020 7521/12080/3020 -f 7524/12081/3021 7523/12082/3021 7522/12083/3021 7525/12084/3021 -f 7528/12085/3022 7527/12086/3022 7526/12087/3022 7529/12088/3022 -f 7532/12089/3023 7531/12090/3023 7530/12091/3023 7533/12092/3023 -f 7536/12093/3024 7535/12094/3024 7534/12095/3024 7537/12096/3024 -f 7539/12097/3025 7538/12098/3025 7217/12099/3025 7540/12100/3025 -f 7543/12101/3026 7542/12102/3026 7541/12103/3026 7544/12104/3026 -f 7547/12105/3027 7546/12106/3027 7545/12107/3027 7548/12108/3027 -f 7551/12109/3028 7550/12110/3028 7549/12111/3028 7552/12112/3028 -f 7555/12113/3029 7554/12114/3029 7553/12115/3029 7556/12116/3029 -f 7559/12117/3030 7558/12118/3030 7557/12119/3030 7560/12120/3030 -f 7563/12121/3031 7562/12122/3031 7561/12123/3031 7564/12124/3031 -f 7567/12125/3032 7566/12126/3032 7565/12127/3032 7568/12128/3032 -f 7571/12129/3033 7570/12130/3033 7569/12131/3033 7572/12132/3033 -f 7575/12133/3034 7574/12134/3034 7573/12135/3034 7576/12136/3034 -f 7579/12137/3035 7578/12138/3035 7577/12139/3035 7580/12140/3035 -f 7583/12141/3036 7582/12142/3036 7581/12143/3036 7584/12144/3036 -f 7587/12145/3037 7586/12146/3037 7585/12147/3037 7588/12148/3037 -f 7591/12149/3038 7590/12150/3038 7589/12151/3038 7592/12152/3038 -f 7595/12153/3039 7594/12154/3039 7593/12155/3039 7596/12156/3039 -f 7599/12157/3040 7598/12158/3040 7597/12159/3040 7600/12160/3040 -f 7603/12161/3041 7602/12162/3041 7601/12163/3041 7604/12164/3041 -f 7607/12165/3042 7606/12166/3042 7605/12167/3042 7608/12168/3042 -f 7611/12169/3043 7610/12170/3043 7609/12171/3043 7612/12172/3043 -f 7615/12173/3044 7614/12174/3044 7613/12175/3044 7616/12176/3044 -f 7619/12177/3045 7618/12178/3045 7617/12179/3045 7620/12180/3045 -f 7623/12181/3046 7622/12182/3046 7621/12183/3046 7624/12184/3046 -f 7627/12185/3047 7626/12186/3047 7625/12187/3047 7628/12188/3047 -f 7631/12189/3048 7630/12190/3048 7629/12191/3048 7632/12192/3048 -f 7635/12193/3049 7634/12194/3049 7633/12195/3049 7636/12196/3049 -f 7639/12197/3050 7638/12198/3050 7637/12199/3050 7640/12200/3050 -f 7643/12201/3051 7642/12202/3051 7641/12203/3051 7644/12204/3051 -f 7647/12205/3052 7646/12206/3052 7645/12207/3052 7648/12208/3052 -f 7651/12209/3053 7650/12210/3053 7649/12211/3053 7652/12212/3053 -f 7655/12213/3054 7654/12214/3054 7653/12215/3054 7656/12216/3054 -f 7659/12217/3055 7658/12218/3055 7657/12219/3055 7660/12220/3055 -f 7663/12221/3056 7662/12222/3056 7661/12223/3056 7664/12224/3056 -f 7667/12225/3057 7666/12226/3057 7665/12227/3057 7668/12228/3057 -f 7671/12229/3058 7670/12230/3058 7669/12231/3058 7672/12232/3058 -f 7675/12233/3059 7674/12234/3059 7673/12235/3059 7676/12236/3059 -f 7679/12237/3060 7678/12238/3060 7677/12239/3060 7680/12240/3060 -f 7683/12241/3061 7682/12242/3061 7681/12243/3061 7684/12244/3061 -f 7687/12245/3062 7686/12246/3062 7685/12247/3062 7688/12248/3062 -f 7691/12249/3063 7690/12250/3063 7689/12251/3063 7692/12252/3063 -f 7695/12253/3064 7694/12254/3064 7693/12255/3064 7696/12256/3064 -f 7699/12257/3065 7698/12258/3065 7697/12259/3065 7700/12260/3065 -f 7703/12261/3066 7702/12262/3066 7701/12263/3066 7704/12264/3066 -f 7707/12265/3067 7706/12266/3067 7705/12267/3067 7708/12268/3067 -f 7711/12269/3068 7710/12270/3068 7709/12271/3068 7712/12272/3068 -f 7715/12273/3069 7714/12274/3069 7713/12275/3069 7716/12276/3069 -f 7719/12277/3070 7718/12278/3070 7717/12279/3070 7720/12280/3070 -f 7723/12281/3071 7722/12282/3071 7721/12283/3071 7724/12284/3071 -f 7727/12285/3072 7726/12286/3072 7725/12287/3072 7728/12288/3072 -f 7731/12289/3073 7730/12290/3073 7729/12291/3073 7732/12292/3073 -f 7735/12293/3074 7734/12294/3074 7733/12295/3074 7736/12296/3074 -f 7739/12297/3075 7738/12298/3075 7737/12299/3075 7740/12300/3075 -f 7743/12301/3076 7742/12302/3076 7741/12303/3076 7744/12304/3076 -f 7747/12305/3077 7746/12306/3077 7745/12307/3077 7748/12308/3077 -f 7751/12309/3078 7750/12310/3078 7749/12311/3078 7752/12312/3078 -f 7755/12313/3079 7754/12314/3079 7753/12315/3079 7756/12316/3079 -f 7759/12317/3080 7758/12318/3080 7757/12319/3080 7760/12320/3080 -f 7763/12321/3081 7762/12322/3081 7761/12323/3081 7764/12324/3081 -f 7767/12325/3082 7766/12326/3082 7765/12327/3082 7768/12328/3082 -f 7771/12329/3083 7770/12330/3083 7769/12331/3083 7772/12332/3083 -f 7775/12333/3084 7774/12334/3084 7773/12335/3084 7776/12336/3084 -f 7779/12337/3085 7778/12338/3085 7777/12339/3085 7780/12340/3085 -f 7783/12341/3086 7782/12342/3086 7781/12343/3086 7784/12344/3086 -f 7787/12345/3087 7786/12346/3087 7785/12347/3087 7788/12348/3087 -f 7788/12349/3088 7785/12350/3088 7781/12351/3088 7782/12352/3088 -f 7787/12353/3089 7783/12354/3089 7784/12355/3089 7786/12356/3089 -f 7791/12357/3090 7790/12358/3090 7789/12359/3090 7792/12360/3090 -f 7793/12361/3091 7792/12362/3091 7789/12363/3091 7794/12364/3091 -f 7797/12365/3092 7796/12366/3092 7795/12367/3092 7798/12368/3092 -f 7800/12369/3093 7799/12370/3093 7793/12371/3093 7801/12372/3093 -f 7796/12373/3094 7803/12374/3094 7802/12375/3094 7795/12376/3094 -f 7797/12377/3095 7798/12378/3095 7804/12379/3095 7805/12380/3095 -f 7805/12381/3096 7804/12382/3096 7802/12383/3096 7803/12384/3096 -f 7808/12385/3097 7807/12386/3097 7806/12387/3097 7809/12388/3097 -f 7798/12389/3098 7795/12390/3098 7783/12391/3098 7787/12392/3098 -f 7798/12393/3099 7787/12394/3099 7788/12395/3099 7804/12396/3099 -f 7804/12397/3100 7788/12398/3100 7782/12399/3100 7802/12400/3100 -f 7784/12401/3101 7781/12402/3101 7810/12403/3101 7778/12404/3101 -f 7795/12405/3102 7802/12406/3102 7782/12407/3102 7783/12408/3102 -f 7786/12409/3103 7784/12410/3103 7778/12411/3103 7779/12412/3103 -f 7786/12413/3104 7779/12414/3104 7811/12415/3104 7785/12416/3104 -f 7785/12417/3105 7811/12418/3105 7810/12419/3105 7781/12420/3105 -f 7813/12421/3106 7812/12422/3106 7799/12423/3106 7800/12424/3106 -f 7801/12425/3107 7814/12426/3107 7790/12427/3107 7791/12428/3107 -f 7807/12429/3108 7791/12430/3108 7792/12431/3108 7806/12432/3108 -f 7800/12433/3109 7801/12434/3109 7791/12435/3109 7807/12436/3109 -f 7794/12437/3110 7789/12438/3110 7803/12439/3110 7796/12440/3110 -f 7799/12441/3111 7806/12442/3111 7792/12443/3111 7793/12444/3111 -f 7801/12445/3112 7793/12446/3112 7794/12447/3112 7814/12448/3112 -f 7814/12449/3113 7794/12450/3113 7796/12451/3113 7797/12452/3113 -f 7814/12453/3114 7797/12454/3114 7805/12455/3114 7790/12456/3114 -f 7790/12457/3115 7805/12458/3115 7803/12459/3115 7789/12460/3115 -f 7812/12461/3116 7809/12462/3116 7806/12463/3116 7799/12464/3116 -f 7813/12465/3117 7800/12466/3117 7807/12467/3117 7808/12468/3117 -f 7815/12469/3118 7780/12470/3118 7777/12471/3118 7816/12472/3118 -f 7816/12473/3119 7777/12474/3119 7778/12475/3119 7810/12476/3119 -f 7779/12477/3120 7780/12478/3120 7815/12479/3120 7811/12480/3120 -f 7811/12481/3121 7815/12482/3121 7816/12483/3121 7810/12484/3121 -f 7819/12485/3122 7818/12486/3122 7817/12487/3122 7820/12488/3122 -f 7821/12489/3123 7820/12490/3123 7817/12491/3123 7822/12492/3123 -f 7825/12493/3124 7824/12494/3124 7823/12495/3124 7826/12496/3124 -f 7824/12497/3125 7828/12498/3125 7827/12499/3125 7823/12500/3125 -f 7825/12501/3126 7826/12502/3126 7829/12503/3126 7830/12504/3126 -f 7830/12505/3127 7829/12506/3127 7827/12507/3127 7828/12508/3127 -f 7832/12509/3128 7831/12510/3128 7818/12511/3128 7819/12512/3128 -f 7833/12513/3129 7819/12514/3129 7820/12515/3129 7834/12516/3129 -f 7835/12517/3130 7832/12518/3130 7819/12519/3130 7833/12520/3130 -f 7835/12521/3131 7836/12522/3131 7821/12523/3131 7832/12524/3131 -f 7822/12525/3132 7817/12526/3132 7828/12527/3132 7824/12528/3132 -f 7836/12529/3133 7834/12530/3133 7820/12531/3133 7821/12532/3133 -f 7832/12533/3134 7821/12534/3134 7822/12535/3134 7831/12536/3134 -f 7831/12537/3135 7822/12538/3135 7824/12539/3135 7825/12540/3135 -f 7831/12541/3136 7825/12542/3136 7830/12543/3136 7818/12544/3136 -f 7828/12545/3137 7817/12546/3137 7818/12547/3137 7830/12548/3137 -f 7838/12549/3138 7837/12550/3138 7836/12551/3138 7835/12552/3138 -f 7837/12553/3139 7839/12554/3139 7834/12555/3139 7836/12556/3139 -f 7838/12557/3140 7835/12558/3140 7833/12559/3140 7840/12560/3140 -f 7840/12561/3141 7833/12562/3141 7834/12563/3141 7839/12564/3141 -f 7823/12565/3142 7827/12566/3142 7829/12567/3142 7826/12568/3142 +f 3966/6417/1605 3967/6418/1605 3968/6419/1605 +f 3966/6417/1605 3968/6419/1605 3969/6420/1605 +f 3970/6421/1606 3971/6422/1606 3972/6423/1606 +f 3970/6421/1606 3972/6423/1606 3973/6424/1606 +f 3974/6425/1607 3975/6426/1607 3976/6427/1607 +f 3974/6425/1607 3976/6427/1607 3977/6428/1607 +f 3978/6429/1608 3979/6430/1608 3980/6431/1608 +f 3978/6429/1608 3980/6431/1608 3981/6432/1608 +f 3982/6433/1609 3983/6434/1609 3984/6435/1609 +f 3982/6433/1609 3984/6435/1609 3985/6436/1609 +f 3986/6437/1610 3987/6438/1610 3988/6439/1610 +f 3986/6437/1610 3988/6439/1610 3989/6440/1610 +f 3990/6441/1611 3991/6442/1611 3992/6443/1611 +f 3990/6441/1611 3992/6443/1611 3993/6444/1611 +f 3994/6445/1612 3995/6446/1612 3996/6447/1612 +f 3994/6445/1612 3996/6447/1612 3997/6448/1612 +f 3998/6449/1613 3999/6450/1613 4000/6451/1613 +f 3998/6449/1613 4000/6451/1613 4001/6452/1613 +f 4002/6453/1614 4003/6454/1614 4004/6455/1614 +f 4002/6453/1614 4004/6455/1614 4005/6456/1614 +f 4006/6457/1615 4007/6458/1615 4008/6459/1615 +f 4006/6457/1615 4008/6459/1615 4009/6460/1615 +f 4010/6461/1616 4011/6462/1616 4012/6463/1616 +f 4010/6461/1616 4012/6463/1616 4013/6464/1616 +f 4014/6465/1617 4015/6466/1617 4016/6467/1617 +f 4014/6465/1617 4016/6467/1617 4017/6468/1617 +f 4018/6469/1618 4019/6470/1618 4020/6471/1618 +f 4018/6469/1618 4020/6471/1618 4021/6472/1618 +f 4022/6473/1619 4023/6474/1619 4024/6475/1619 +f 4022/6473/1619 4024/6475/1619 4025/6476/1619 +f 4026/6477/1620 4027/6478/1620 4028/6479/1620 +f 4026/6477/1620 4028/6479/1620 4029/6480/1620 +f 4030/6481/1621 4031/6482/1621 4032/6483/1621 +f 4030/6481/1621 4032/6483/1621 4033/6484/1621 +f 4034/6485/1622 4035/6486/1622 4036/6487/1622 +f 4034/6485/1622 4036/6487/1622 4037/6488/1622 +f 4038/6489/1623 4039/6490/1623 4040/6491/1623 +f 4038/6489/1623 4040/6491/1623 4041/6492/1623 +f 4042/6493/1624 4043/6494/1624 4044/6495/1624 +f 4042/6493/1624 4044/6495/1624 4045/6496/1624 +f 4046/6497/1625 4047/6498/1625 4048/6499/1625 +f 4046/6497/1625 4048/6499/1625 4049/6500/1625 +f 4050/6501/1626 4051/6502/1626 4052/6503/1626 +f 4050/6501/1626 4052/6503/1626 4053/6504/1626 +f 4054/6505/1627 4055/6506/1627 4056/6507/1627 +f 4054/6505/1627 4056/6507/1627 4057/6508/1627 +f 4058/6509/1628 4059/6510/1628 4060/6511/1628 +f 4058/6509/1628 4060/6511/1628 4061/6512/1628 +f 4062/6513/1629 4063/6514/1629 4064/6515/1629 +f 4062/6513/1629 4064/6515/1629 4065/6516/1629 +f 4066/6517/1630 4067/6518/1630 4068/6519/1630 +f 4066/6517/1630 4068/6519/1630 4069/6520/1630 +f 4070/6521/1631 4071/6522/1631 4072/6523/1631 +f 4070/6521/1631 4072/6523/1631 4073/6524/1631 +f 4074/6525/1632 4075/6526/1632 4076/6527/1632 +f 4074/6525/1632 4076/6527/1632 4077/6528/1632 +f 4078/6529/1633 4079/6530/1633 4080/6531/1633 +f 4078/6529/1633 4080/6531/1633 4081/6532/1633 +f 4082/6533/1634 4083/6534/1634 4084/6535/1634 +f 4082/6533/1634 4084/6535/1634 4085/6536/1634 +f 4086/6537/1635 4087/6538/1635 3/6539/1635 +f 4086/6537/1635 3/6539/1635 4088/6540/1635 +f 4089/6541/1636 4090/6542/1636 4091/6543/1636 +f 4089/6541/1636 4091/6543/1636 4092/6544/1636 +f 4093/6545/1637 4094/6546/1637 4095/6547/1637 +f 4093/6545/1637 4095/6547/1637 4096/6548/1637 +f 4097/6549/1638 4098/6550/1638 4099/6551/1638 +f 4097/6549/1638 4099/6551/1638 4100/6552/1638 +f 4101/6553/1639 4102/6554/1639 4103/6555/1639 +f 4101/6553/1639 4103/6555/1639 4104/6556/1639 +f 4105/6557/1640 4106/6558/1640 4107/6559/1640 +f 4105/6557/1640 4107/6559/1640 4108/6560/1640 +f 4109/6561/1641 4110/6562/1641 4111/6563/1641 +f 4109/6561/1641 4111/6563/1641 4112/6564/1641 +f 4113/6565/1642 4114/6566/1642 4115/6567/1642 +f 4113/6565/1642 4115/6567/1642 4116/6568/1642 +f 4117/6569/1643 4112/6570/1643 4111/6571/1643 +f 4117/6569/1643 4111/6571/1643 4118/6572/1643 +f 4119/6573/1644 4117/6574/1644 4118/6575/1644 +f 4119/6573/1644 4118/6575/1644 4120/6576/1644 +f 4109/6577/1645 4121/6578/1645 4122/6579/1645 +f 4109/6577/1645 4122/6579/1645 4119/6580/1645 +f 4123/6581/1646 4124/6582/1646 4112/6583/1646 +f 4123/6581/1646 4112/6583/1646 4117/6584/1646 +f 4122/6585/1647 4123/6586/1647 4117/6587/1647 +f 4122/6585/1647 4117/6587/1647 4119/6588/1647 +f 4110/6589/1648 4109/6590/1648 4119/6591/1648 +f 4110/6589/1648 4119/6591/1648 4120/6592/1648 +f 4121/6593/1649 4109/6594/1649 4112/6595/1649 +f 4121/6593/1649 4112/6595/1649 4124/6596/1649 +f 4125/6597/1650 4126/6598/1650 4114/6599/1650 +f 4125/6597/1650 4114/6599/1650 4113/6600/1650 +f 4127/6601/1651 4116/6602/1651 4115/6603/1651 +f 4127/6601/1651 4115/6603/1651 4128/6604/1651 +f 4125/6605/1652 4127/6606/1652 4128/6607/1652 +f 4125/6605/1652 4128/6607/1652 4126/6608/1652 +f 4126/6609/1653 4122/6610/1653 4121/6611/1653 +f 4126/6609/1653 4121/6611/1653 4114/6612/1653 +f 4114/6613/1654 4121/6614/1654 4124/6615/1654 +f 4114/6613/1654 4124/6615/1654 4115/6616/1654 +f 4128/6617/1655 4115/6618/1655 4124/6619/1655 +f 4128/6617/1655 4124/6619/1655 4123/6620/1655 +f 4126/6621/1656 4128/6622/1656 4123/6623/1656 +f 4126/6621/1656 4123/6623/1656 4122/6624/1656 +f 4120/6625/1657 4118/6626/1657 4111/6627/1657 +f 4120/6625/1657 4111/6627/1657 4110/6628/1657 +f 4129/6629/1658 4130/6630/1658 4131/6631/1658 +f 4129/6629/1658 4131/6631/1658 4132/6632/1658 +f 4133/6633/1659 4134/6634/1659 4135/6635/1659 +f 4133/6633/1659 4135/6635/1659 4136/6636/1659 +f 4137/6637/1660 4138/6638/1660 4139/6639/1660 +f 4137/6637/1660 4139/6639/1660 4140/6640/1660 +f 4141/6641/1661 4142/6642/1661 4143/6643/1661 +f 4141/6641/1661 4143/6643/1661 4144/6644/1661 +f 4145/6645/1662 4146/6646/1662 4147/6647/1662 +f 4145/6645/1662 4147/6647/1662 4148/6648/1662 +f 4149/6649/1663 4150/6650/1663 4151/6651/1663 +f 4149/6649/1663 4151/6651/1663 4152/6652/1663 +f 4153/6653/1664 4154/6654/1664 4155/6655/1664 +f 4153/6653/1664 4155/6655/1664 4156/6656/1664 +f 4157/6657/1665 4158/6658/1665 4159/6659/1665 +f 4157/6657/1665 4159/6659/1665 4160/6660/1665 +f 4161/6661/1666 4162/6662/1666 4163/6663/1666 +f 4161/6661/1666 4163/6663/1666 4164/6664/1666 +f 4165/6665/1667 4166/6666/1667 4167/6667/1667 +f 4165/6665/1667 4167/6667/1667 4168/6668/1667 +f 4169/6669/1668 4170/6670/1668 4171/6671/1668 +f 4169/6669/1668 4171/6671/1668 4172/6672/1668 +f 4173/6673/1669 4174/6674/1669 4175/6675/1669 +f 4173/6673/1669 4175/6675/1669 4176/6676/1669 +f 4177/6677/1670 4178/6678/1670 4179/6679/1670 +f 4177/6677/1670 4179/6679/1670 4180/6680/1670 +f 4181/6681/1671 4182/6682/1671 4183/6683/1671 +f 4181/6681/1671 4183/6683/1671 4184/6684/1671 +f 4185/6685/1672 4186/6686/1672 4187/6687/1672 +f 4185/6685/1672 4187/6687/1672 4188/6688/1672 +f 4189/6689/1673 4190/6690/1673 4191/6691/1673 +f 4189/6689/1673 4191/6691/1673 4192/6692/1673 +f 4193/6693/1674 4194/6694/1674 4195/6695/1674 +f 4193/6693/1674 4195/6695/1674 4196/6696/1674 +f 4197/6697/1675 4198/6698/1675 4199/6699/1675 +f 4197/6697/1675 4199/6699/1675 4200/6700/1675 +f 4193/6701/1676 4197/6702/1676 4200/6703/1676 +f 4193/6701/1676 4200/6703/1676 4194/6704/1676 +f 4196/6705/1677 4195/6706/1677 4199/6707/1677 +f 4196/6705/1677 4199/6707/1677 4198/6708/1677 +f 4203/6709/1678 4204/6710/1678 4205/6711/1678 +f 4203/6709/1678 4205/6711/1678 4206/6712/1678 +f 4207/6713/1679 4208/6714/1679 4209/6715/1679 +f 4207/6713/1679 4209/6715/1679 4210/6716/1679 +f 4208/6717/1680 4211/6718/1680 4212/6719/1680 +f 4208/6717/1680 4212/6719/1680 4209/6720/1680 +f 4207/6721/1681 4210/6722/1681 4213/6723/1681 +f 4207/6721/1681 4213/6723/1681 4214/6724/1681 +f 4215/6725/1682 4216/6726/1682 4217/6727/1682 +f 4215/6725/1682 4217/6727/1682 4218/6728/1682 +f 4214/6729/1683 4213/6730/1683 4212/6731/1683 +f 4214/6729/1683 4212/6731/1683 4211/6732/1683 +f 4219/6733/1684 4220/6734/1684 4216/6735/1684 +f 4219/6733/1684 4216/6735/1684 4215/6736/1684 +f 4221/6737/1685 4218/6738/1685 4217/6739/1685 +f 4221/6737/1685 4217/6739/1685 4222/6740/1685 +f 4219/6741/1686 4221/6742/1686 4222/6743/1686 +f 4219/6741/1686 4222/6743/1686 4220/6744/1686 +f 4195/6745/1687 4215/6746/1687 4218/6747/1687 +f 4195/6745/1687 4218/6747/1687 4199/6748/1687 +f 4201/6749/1688 4223/6750/1688 4224/6751/1688 +f 4201/6749/1688 4224/6751/1688 4202/6752/1688 +f 4200/6753/1689 4199/6754/1689 4218/6755/1689 +f 4200/6753/1689 4218/6755/1689 4221/6756/1689 +f 4194/6757/1690 4200/6758/1690 4221/6759/1690 +f 4194/6757/1690 4221/6759/1690 4219/6760/1690 +f 4206/6761/1691 4193/6762/1691 4196/6763/1691 +f 4206/6761/1691 4196/6763/1691 4223/6764/1691 +f 4194/6765/1692 4219/6766/1692 4215/6767/1692 +f 4194/6765/1692 4215/6767/1692 4195/6768/1692 +f 4223/6769/1693 4196/6770/1693 4198/6771/1693 +f 4223/6769/1693 4198/6771/1693 4224/6772/1693 +f 4205/6773/1694 4224/6774/1694 4198/6775/1694 +f 4205/6773/1694 4198/6775/1694 4197/6776/1694 +f 4206/6777/1695 4205/6778/1695 4197/6779/1695 +f 4206/6777/1695 4197/6779/1695 4193/6780/1695 +f 4203/6781/1696 4206/6782/1696 4223/6783/1696 +f 4203/6781/1696 4223/6783/1696 4201/6784/1696 +f 4204/6785/1697 4202/6786/1697 4224/6787/1697 +f 4204/6785/1697 4224/6787/1697 4205/6788/1697 +f 4210/6789/1698 4209/6790/1698 4225/6791/1698 +f 4210/6789/1698 4225/6791/1698 4226/6792/1698 +f 4209/6793/1699 4212/6794/1699 4227/6795/1699 +f 4209/6793/1699 4227/6795/1699 4225/6796/1699 +f 4213/6797/1700 4228/6798/1700 4227/6799/1700 +f 4213/6797/1700 4227/6799/1700 4212/6800/1700 +f 4220/6801/1701 4207/6802/1701 4214/6803/1701 +f 4220/6801/1701 4214/6803/1701 4216/6804/1701 +f 4210/6805/1702 4226/6806/1702 4228/6807/1702 +f 4210/6805/1702 4228/6807/1702 4213/6808/1702 +f 4216/6809/1703 4214/6810/1703 4211/6811/1703 +f 4216/6809/1703 4211/6811/1703 4217/6812/1703 +f 4222/6813/1704 4217/6814/1704 4211/6815/1704 +f 4222/6813/1704 4211/6815/1704 4208/6816/1704 +f 4220/6817/1705 4222/6818/1705 4208/6819/1705 +f 4220/6817/1705 4208/6819/1705 4207/6820/1705 +f 4228/6821/1706 4229/6822/1706 4230/6823/1706 +f 4228/6821/1706 4230/6823/1706 4227/6824/1706 +f 4226/6825/1707 4231/6826/1707 4229/6827/1707 +f 4226/6825/1707 4229/6827/1707 4228/6828/1707 +f 4225/6829/1708 4227/6830/1708 4230/6831/1708 +f 4225/6829/1708 4230/6831/1708 4232/6832/1708 +f 4226/6833/1709 4225/6834/1709 4232/6835/1709 +f 4226/6833/1709 4232/6835/1709 4231/6836/1709 +f 4234/6837/1710 4235/6838/1710 4236/6839/1710 +f 4234/6837/1710 4236/6839/1710 4237/6840/1710 +f 4238/6841/1711 4239/6842/1711 4240/6843/1711 +f 4238/6841/1711 4240/6843/1711 4241/6844/1711 +f 4242/6845/1712 4243/6846/1712 4244/6847/1712 +f 4242/6845/1712 4244/6847/1712 4245/6848/1712 +f 4246/6849/1713 4247/6850/1713 4248/6851/1713 +f 4246/6849/1713 4248/6851/1713 4249/6852/1713 +f 4250/6853/1714 4251/6854/1714 4252/6855/1714 +f 4250/6853/1714 4252/6855/1714 4253/6856/1714 +f 4254/6857/1715 4255/6858/1715 4256/6859/1715 +f 4254/6857/1715 4256/6859/1715 4257/6860/1715 +f 4258/6861/1716 4259/6862/1716 4260/6863/1716 +f 4258/6861/1716 4260/6863/1716 4261/6864/1716 +f 4262/6865/1717 4263/6866/1717 4264/6867/1717 +f 4262/6865/1717 4264/6867/1717 4265/6868/1717 +f 4266/6869/1718 4267/6870/1718 4268/6871/1718 +f 4266/6869/1718 4268/6871/1718 4269/6872/1718 +f 4270/6873/1719 4271/6874/1719 4272/6875/1719 +f 4270/6873/1719 4272/6875/1719 4273/6876/1719 +f 4274/6877/1720 4275/6878/1720 4276/6879/1720 +f 4274/6877/1720 4276/6879/1720 4277/6880/1720 +f 4278/6881/1721 4279/6882/1721 4280/6883/1721 +f 4278/6881/1721 4280/6883/1721 4281/6884/1721 +f 4282/6885/1722 4283/6886/1722 4284/6887/1722 +f 4282/6885/1722 4284/6887/1722 4285/6888/1722 +f 4286/6889/1723 4287/6890/1723 4288/6891/1723 +f 4286/6889/1723 4288/6891/1723 4289/6892/1723 +f 4290/6893/1724 4291/6894/1724 4292/6895/1724 +f 4290/6893/1724 4292/6895/1724 4293/6896/1724 +f 4294/6897/1725 4295/6898/1725 4296/6899/1725 +f 4294/6897/1725 4296/6899/1725 4297/6900/1725 +f 4298/6901/1726 4299/6902/1726 4300/6903/1726 +f 4298/6901/1726 4300/6903/1726 4301/6904/1726 +f 4302/6905/1727 4303/6906/1727 4304/6907/1727 +f 4302/6905/1727 4304/6907/1727 4305/6908/1727 +f 4306/6909/1728 4307/6910/1728 4308/6911/1728 +f 4306/6909/1728 4308/6911/1728 4309/6912/1728 +f 4310/6913/1729 4311/6914/1729 4312/6915/1729 +f 4310/6913/1729 4312/6915/1729 4313/6916/1729 +f 4233/6917/1730 4314/6918/1730 4315/6919/1730 +f 4233/6917/1730 4315/6919/1730 4316/6920/1730 +f 4317/6921/1731 4318/6922/1731 4319/6923/1731 +f 4317/6921/1731 4319/6923/1731 4320/6924/1731 +f 4321/6925/1732 4322/6926/1732 4323/6927/1732 +f 4321/6925/1732 4323/6927/1732 4324/6928/1732 +f 4325/6929/1733 4326/6930/1733 4327/6931/1733 +f 4325/6929/1733 4327/6931/1733 4328/6932/1733 +f 4329/6933/1734 4330/6934/1734 4331/6935/1734 +f 4329/6933/1734 4331/6935/1734 4332/6936/1734 +f 4333/6937/1735 4334/6938/1735 4335/6939/1735 +f 4333/6937/1735 4335/6939/1735 4336/6940/1735 +f 4337/6941/1736 4338/6942/1736 4339/6943/1736 +f 4337/6941/1736 4339/6943/1736 4340/6944/1736 +f 4341/6945/1737 4342/6946/1737 4343/6947/1737 +f 4341/6945/1737 4343/6947/1737 4344/6948/1737 +f 4345/6949/1738 4346/6950/1738 4347/6951/1738 +f 4345/6949/1738 4347/6951/1738 4348/6952/1738 +f 4349/6953/1739 4350/6954/1739 4351/6955/1739 +f 4349/6953/1739 4351/6955/1739 4352/6956/1739 +f 4353/6957/1740 4354/6958/1740 4355/6959/1740 +f 4353/6957/1740 4355/6959/1740 4356/6960/1740 +f 4357/6961/1741 4358/6962/1741 4359/6963/1741 +f 4357/6961/1741 4359/6963/1741 4360/6964/1741 +f 4361/6965/1742 4362/6966/1742 4363/6967/1742 +f 4361/6965/1742 4363/6967/1742 4364/6968/1742 +f 4365/6969/1743 4366/6970/1743 4367/6971/1743 +f 4365/6969/1743 4367/6971/1743 4368/6972/1743 +f 4369/6973/1744 4370/6974/1744 4371/6975/1744 +f 4369/6973/1744 4371/6975/1744 4372/6976/1744 +f 4373/6977/1745 4374/6978/1745 4375/6979/1745 +f 4373/6977/1745 4375/6979/1745 4376/6980/1745 +f 4377/6981/1746 4378/6982/1746 4379/6983/1746 +f 4377/6981/1746 4379/6983/1746 4380/6984/1746 +f 4381/6985/1747 4382/6986/1747 4383/6987/1747 +f 4381/6985/1747 4383/6987/1747 4384/6988/1747 +f 4385/6989/1748 4380/6990/1748 4379/6991/1748 +f 4385/6989/1748 4379/6991/1748 4386/6992/1748 +f 4387/6993/1749 4385/6994/1749 4386/6995/1749 +f 4387/6993/1749 4386/6995/1749 4388/6996/1749 +f 4377/6997/1750 4389/6998/1750 4390/6999/1750 +f 4377/6997/1750 4390/6999/1750 4387/7000/1750 +f 4391/7001/1751 4392/7002/1751 4380/7003/1751 +f 4391/7001/1751 4380/7003/1751 4385/7004/1751 +f 4390/7005/1752 4391/7006/1752 4385/7007/1752 +f 4390/7005/1752 4385/7007/1752 4387/7008/1752 +f 4378/7009/1753 4377/7010/1753 4387/7011/1753 +f 4378/7009/1753 4387/7011/1753 4388/7012/1753 +f 4389/7013/1754 4377/7014/1754 4380/7015/1754 +f 4389/7013/1754 4380/7015/1754 4392/7016/1754 +f 4393/7017/1755 4394/7018/1755 4382/7019/1755 +f 4393/7017/1755 4382/7019/1755 4381/7020/1755 +f 4395/7021/1756 4384/7022/1756 4383/7023/1756 +f 4395/7021/1756 4383/7023/1756 4396/7024/1756 +f 4393/7025/1757 4395/7026/1757 4396/7027/1757 +f 4393/7025/1757 4396/7027/1757 4394/7028/1757 +f 4394/7029/1758 4390/7030/1758 4389/7031/1758 +f 4394/7029/1758 4389/7031/1758 4382/7032/1758 +f 4382/7033/1759 4389/7034/1759 4392/7035/1759 +f 4382/7033/1759 4392/7035/1759 4383/7036/1759 +f 4396/7037/1760 4383/7038/1760 4392/7039/1760 +f 4396/7037/1760 4392/7039/1760 4391/7040/1760 +f 4394/7041/1761 4396/7042/1761 4391/7043/1761 +f 4394/7041/1761 4391/7043/1761 4390/7044/1761 +f 4388/7045/1762 4386/7046/1762 4379/7047/1762 +f 4388/7045/1762 4379/7047/1762 4378/7048/1762 +f 4397/7049/1763 4398/7050/1763 4399/7051/1763 +f 4397/7049/1763 4399/7051/1763 4400/7052/1763 +f 4401/7053/1764 4402/7054/1764 4403/7055/1764 +f 4401/7053/1764 4403/7055/1764 4404/7056/1764 +f 4405/7057/1765 4406/7058/1765 4407/7059/1765 +f 4405/7057/1765 4407/7059/1765 4408/7060/1765 +f 4409/7061/1766 4410/7062/1766 4411/7063/1766 +f 4409/7061/1766 4411/7063/1766 4412/7064/1766 +f 4413/7065/1767 4414/7066/1767 4415/7067/1767 +f 4413/7065/1767 4415/7067/1767 4416/7068/1767 +f 4417/7069/1768 4418/7070/1768 4419/7071/1768 +f 4417/7069/1768 4419/7071/1768 4420/7072/1768 +f 4421/7073/1769 4422/7074/1769 4423/7075/1769 +f 4421/7073/1769 4423/7075/1769 4424/7076/1769 +f 4425/7077/1770 4426/7078/1770 4427/7079/1770 +f 4425/7077/1770 4427/7079/1770 4428/7080/1770 +f 4429/7081/1771 4430/7082/1771 4431/7083/1771 +f 4429/7081/1771 4431/7083/1771 4432/7084/1771 +f 4433/7085/1772 4434/7086/1772 4435/7087/1772 +f 4433/7085/1772 4435/7087/1772 4436/7088/1772 +f 4437/7089/1773 4438/7090/1773 4439/7091/1773 +f 4437/7089/1773 4439/7091/1773 4440/7092/1773 +f 4441/7093/1774 4442/7094/1774 4443/7095/1774 +f 4441/7093/1774 4443/7095/1774 4444/7096/1774 +f 4445/7097/1775 4446/7098/1775 4447/7099/1775 +f 4445/7097/1775 4447/7099/1775 4448/7100/1775 +f 4449/7101/1776 4450/7102/1776 4451/7103/1776 +f 4449/7101/1776 4451/7103/1776 4452/7104/1776 +f 4453/7105/1777 4454/7106/1777 4455/7107/1777 +f 4453/7105/1777 4455/7107/1777 4456/7108/1777 +f 4457/7109/1778 4458/7110/1778 4459/7111/1778 +f 4457/7109/1778 4459/7111/1778 4460/7112/1778 +f 4461/7113/1779 4462/7114/1779 4463/7115/1779 +f 4461/7113/1779 4463/7115/1779 4464/7116/1779 +f 4465/7117/1780 4466/7118/1780 4467/7119/1780 +f 4465/7117/1780 4467/7119/1780 4468/7120/1780 +f 4469/7121/1781 4470/7122/1781 4471/7123/1781 +f 4469/7121/1781 4471/7123/1781 4472/7124/1781 +f 4465/7125/1782 4469/7126/1782 4472/7127/1782 +f 4465/7125/1782 4472/7127/1782 4466/7128/1782 +f 4468/7129/1783 4467/7130/1783 4471/7131/1783 +f 4468/7129/1783 4471/7131/1783 4470/7132/1783 +f 4473/7133/1784 4474/7134/1784 4475/7135/1784 +f 4473/7133/1784 4475/7135/1784 4476/7136/1784 +f 4473/7137/1785 4477/7138/1785 4478/7139/1785 +f 4473/7137/1785 4478/7139/1785 4474/7140/1785 +f 4479/7141/1786 4480/7142/1786 4481/7143/1786 +f 4479/7141/1786 4481/7143/1786 4482/7144/1786 +f 4479/7145/1787 4482/7146/1787 4483/7147/1787 +f 4479/7145/1787 4483/7147/1787 4484/7148/1787 +f 4485/7149/1788 4486/7150/1788 4487/7151/1788 +f 4485/7149/1788 4487/7151/1788 4488/7152/1788 +f 4483/7153/1789 4489/7154/1789 4490/7155/1789 +f 4483/7153/1789 4490/7155/1789 4491/7156/1789 +f 4492/7157/1790 4493/7158/1790 4486/7159/1790 +f 4492/7157/1790 4486/7159/1790 4485/7160/1790 +f 4494/7161/1791 4488/7162/1791 4487/7163/1791 +f 4494/7161/1791 4487/7163/1791 4495/7164/1791 +f 4492/7165/1792 4494/7166/1792 4495/7167/1792 +f 4492/7165/1792 4495/7167/1792 4493/7168/1792 +f 4496/7169/1793 4497/7170/1793 4498/7171/1793 +f 4496/7169/1793 4498/7171/1793 4499/7172/1793 +f 4500/7173/1794 4501/7174/1794 4502/7175/1794 +f 4500/7173/1794 4502/7175/1794 4503/7176/1794 +f 4504/7177/1795 4505/7178/1795 4506/7179/1795 +f 4504/7177/1795 4506/7179/1795 4507/7180/1795 +f 4500/7181/1796 4504/7182/1796 4507/7183/1796 +f 4500/7181/1796 4507/7183/1796 4501/7184/1796 +f 4508/7185/1797 4509/7186/1797 4510/7187/1797 +f 4508/7185/1797 4510/7187/1797 4511/7188/1797 +f 4508/7189/1798 4511/7190/1798 4512/7191/1798 +f 4508/7189/1798 4512/7191/1798 4513/7192/1798 +f 4514/7193/1799 4515/7194/1799 4516/7195/1799 +f 4514/7193/1799 4516/7195/1799 4517/7196/1799 +f 4512/7197/1800 4518/7198/1800 4519/7199/1800 +f 4512/7197/1800 4519/7199/1800 4520/7200/1800 +f 4521/7201/1801 4522/7202/1801 4515/7203/1801 +f 4521/7201/1801 4515/7203/1801 4514/7204/1801 +f 4523/7205/1802 4517/7206/1802 4516/7207/1802 +f 4523/7205/1802 4516/7207/1802 4524/7208/1802 +f 4521/7209/1803 4523/7210/1803 4524/7211/1803 +f 4521/7209/1803 4524/7211/1803 4522/7212/1803 +f 4503/7213/1804 4502/7214/1804 4506/7215/1804 +f 4503/7213/1804 4506/7215/1804 4505/7216/1804 +f 4525/7217/1805 4526/7218/1805 4527/7219/1805 +f 4525/7217/1805 4527/7219/1805 4528/7220/1805 +f 4529/7221/1806 4530/7222/1806 4531/7223/1806 +f 4529/7221/1806 4531/7223/1806 4532/7224/1806 +f 4530/7225/1807 4533/7226/1807 4534/7227/1807 +f 4530/7225/1807 4534/7227/1807 4531/7228/1807 +f 4529/7229/1808 4532/7230/1808 4535/7231/1808 +f 4529/7229/1808 4535/7231/1808 4536/7232/1808 +f 4537/7233/1809 4538/7234/1809 4539/7235/1809 +f 4537/7233/1809 4539/7235/1809 4540/7236/1809 +f 4536/7237/1810 4535/7238/1810 4534/7239/1810 +f 4536/7237/1810 4534/7239/1810 4533/7240/1810 +f 4541/7241/1811 4542/7242/1811 4538/7243/1811 +f 4541/7241/1811 4538/7243/1811 4537/7244/1811 +f 4543/7245/1812 4540/7246/1812 4539/7247/1812 +f 4543/7245/1812 4539/7247/1812 4544/7248/1812 +f 4541/7249/1813 4543/7250/1813 4544/7251/1813 +f 4541/7249/1813 4544/7251/1813 4542/7252/1813 +f 4467/7253/1814 4485/7254/1814 4488/7255/1814 +f 4467/7253/1814 4488/7255/1814 4471/7256/1814 +f 4502/7257/1815 4537/7258/1815 4540/7259/1815 +f 4502/7257/1815 4540/7259/1815 4506/7260/1815 +f 4472/7261/1816 4471/7262/1816 4488/7263/1816 +f 4472/7261/1816 4488/7263/1816 4494/7264/1816 +f 4466/7265/1817 4472/7266/1817 4494/7267/1817 +f 4466/7265/1817 4494/7267/1817 4492/7268/1817 +f 4545/7269/1818 4465/7270/1818 4468/7271/1818 +f 4545/7269/1818 4468/7271/1818 4462/7272/1818 +f 4466/7273/1819 4492/7274/1819 4485/7275/1819 +f 4466/7273/1819 4485/7275/1819 4467/7276/1819 +f 4462/7277/1820 4468/7278/1820 4470/7279/1820 +f 4462/7277/1820 4470/7279/1820 4463/7280/1820 +f 4546/7281/1821 4463/7282/1821 4470/7283/1821 +f 4546/7281/1821 4470/7283/1821 4469/7284/1821 +f 4545/7285/1822 4546/7286/1822 4469/7287/1822 +f 4545/7285/1822 4469/7287/1822 4465/7288/1822 +f 4475/7289/1823 4514/7290/1823 4517/7291/1823 +f 4475/7289/1823 4517/7291/1823 4547/7292/1823 +f 4489/7293/1824 4548/7294/1824 4549/7295/1824 +f 4489/7293/1824 4549/7295/1824 4490/7296/1824 +f 4478/7297/1825 4547/7298/1825 4517/7299/1825 +f 4478/7297/1825 4517/7299/1825 4523/7300/1825 +f 4474/7301/1826 4478/7302/1826 4523/7303/1826 +f 4474/7301/1826 4523/7303/1826 4521/7304/1826 +f 4477/7305/1827 4550/7306/1827 4547/7307/1827 +f 4477/7305/1827 4547/7307/1827 4478/7308/1827 +f 4480/7309/1828 4551/7310/1828 4491/7311/1828 +f 4480/7309/1828 4491/7311/1828 4481/7312/1828 +f 4482/7313/1829 4481/7314/1829 4497/7315/1829 +f 4482/7313/1829 4497/7315/1829 4496/7316/1829 +f 4481/7317/1830 4491/7318/1830 4490/7319/1830 +f 4481/7317/1830 4490/7319/1830 4497/7320/1830 +f 4493/7321/1831 4479/7322/1831 4484/7323/1831 +f 4493/7321/1831 4484/7323/1831 4486/7324/1831 +f 4482/7325/1832 4496/7326/1832 4489/7327/1832 +f 4482/7325/1832 4489/7327/1832 4483/7328/1832 +f 4484/7329/1833 4483/7330/1833 4491/7331/1833 +f 4484/7329/1833 4491/7331/1833 4551/7332/1833 +f 4486/7333/1834 4484/7334/1834 4551/7335/1834 +f 4486/7333/1834 4551/7335/1834 4487/7336/1834 +f 4495/7337/1835 4487/7338/1835 4551/7339/1835 +f 4495/7337/1835 4551/7339/1835 4480/7340/1835 +f 4493/7341/1836 4495/7342/1836 4480/7343/1836 +f 4493/7341/1836 4480/7343/1836 4479/7344/1836 +f 4499/7345/1837 4473/7346/1837 4476/7347/1837 +f 4499/7345/1837 4476/7347/1837 4548/7348/1837 +f 4474/7349/1838 4521/7350/1838 4514/7351/1838 +f 4474/7349/1838 4514/7351/1838 4475/7352/1838 +f 4476/7353/1839 4475/7354/1839 4547/7355/1839 +f 4476/7353/1839 4547/7355/1839 4550/7356/1839 +f 4548/7357/1840 4476/7358/1840 4550/7359/1840 +f 4548/7357/1840 4550/7359/1840 4549/7360/1840 +f 4498/7361/1841 4549/7362/1841 4550/7363/1841 +f 4498/7361/1841 4550/7363/1841 4477/7364/1841 +f 4499/7365/1842 4498/7366/1842 4477/7367/1842 +f 4499/7365/1842 4477/7367/1842 4473/7368/1842 +f 4496/7369/1843 4499/7370/1843 4548/7371/1843 +f 4496/7369/1843 4548/7371/1843 4489/7372/1843 +f 4497/7373/1844 4490/7374/1844 4549/7375/1844 +f 4497/7373/1844 4549/7375/1844 4498/7376/1844 +f 4518/7377/1845 4552/7378/1845 4553/7379/1845 +f 4518/7377/1845 4553/7379/1845 4519/7380/1845 +f 4507/7381/1846 4506/7382/1846 4540/7383/1846 +f 4507/7381/1846 4540/7383/1846 4543/7384/1846 +f 4501/7385/1847 4507/7386/1847 4543/7387/1847 +f 4501/7385/1847 4543/7387/1847 4541/7388/1847 +f 4509/7389/1848 4554/7390/1848 4520/7391/1848 +f 4509/7389/1848 4520/7391/1848 4510/7392/1848 +f 4511/7393/1849 4510/7394/1849 4526/7395/1849 +f 4511/7393/1849 4526/7395/1849 4525/7396/1849 +f 4510/7397/1850 4520/7398/1850 4519/7399/1850 +f 4510/7397/1850 4519/7399/1850 4526/7400/1850 +f 4522/7401/1851 4508/7402/1851 4513/7403/1851 +f 4522/7401/1851 4513/7403/1851 4515/7404/1851 +f 4511/7405/1852 4525/7406/1852 4518/7407/1852 +f 4511/7405/1852 4518/7407/1852 4512/7408/1852 +f 4513/7409/1853 4512/7410/1853 4520/7411/1853 +f 4513/7409/1853 4520/7411/1853 4554/7412/1853 +f 4515/7413/1854 4513/7414/1854 4554/7415/1854 +f 4515/7413/1854 4554/7415/1854 4516/7416/1854 +f 4524/7417/1855 4516/7418/1855 4554/7419/1855 +f 4524/7417/1855 4554/7419/1855 4509/7420/1855 +f 4522/7421/1856 4524/7422/1856 4509/7423/1856 +f 4522/7421/1856 4509/7423/1856 4508/7424/1856 +f 4528/7425/1857 4500/7426/1857 4503/7427/1857 +f 4528/7425/1857 4503/7427/1857 4552/7428/1857 +f 4501/7429/1858 4541/7430/1858 4537/7431/1858 +f 4501/7429/1858 4537/7431/1858 4502/7432/1858 +f 4552/7433/1859 4503/7434/1859 4505/7435/1859 +f 4552/7433/1859 4505/7435/1859 4553/7436/1859 +f 4527/7437/1860 4553/7438/1860 4505/7439/1860 +f 4527/7437/1860 4505/7439/1860 4504/7440/1860 +f 4528/7441/1861 4527/7442/1861 4504/7443/1861 +f 4528/7441/1861 4504/7443/1861 4500/7444/1861 +f 4525/7445/1862 4528/7446/1862 4552/7447/1862 +f 4525/7445/1862 4552/7447/1862 4518/7448/1862 +f 4526/7449/1863 4519/7450/1863 4553/7451/1863 +f 4526/7449/1863 4553/7451/1863 4527/7452/1863 +f 4532/7453/1864 4531/7454/1864 4555/7455/1864 +f 4532/7453/1864 4555/7455/1864 4556/7456/1864 +f 4531/7457/1865 4534/7458/1865 4557/7459/1865 +f 4531/7457/1865 4557/7459/1865 4555/7460/1865 +f 4535/7461/1866 4558/7462/1866 4557/7463/1866 +f 4535/7461/1866 4557/7463/1866 4534/7464/1866 +f 4542/7465/1867 4529/7466/1867 4536/7467/1867 +f 4542/7465/1867 4536/7467/1867 4538/7468/1867 +f 4532/7469/1868 4556/7470/1868 4558/7471/1868 +f 4532/7469/1868 4558/7471/1868 4535/7472/1868 +f 4538/7473/1869 4536/7474/1869 4533/7475/1869 +f 4538/7473/1869 4533/7475/1869 4539/7476/1869 +f 4544/7477/1870 4539/7478/1870 4533/7479/1870 +f 4544/7477/1870 4533/7479/1870 4530/7480/1870 +f 4542/7481/1871 4544/7482/1871 4530/7483/1871 +f 4542/7481/1871 4530/7483/1871 4529/7484/1871 +f 4558/7485/1872 4559/7486/1872 4560/7487/1872 +f 4558/7485/1872 4560/7487/1872 4557/7488/1872 +f 4556/7489/1873 4561/7490/1873 4559/7491/1873 +f 4556/7489/1873 4559/7491/1873 4558/7492/1873 +f 4555/7493/1874 4557/7494/1874 4560/7495/1874 +f 4555/7493/1874 4560/7495/1874 4562/7496/1874 +f 4556/7497/1875 4555/7498/1875 4562/7499/1875 +f 4556/7497/1875 4562/7499/1875 4561/7500/1875 +f 4461/7501/1876 4464/7502/1876 4563/7503/1876 +f 4461/7501/1876 4563/7503/1876 4564/7504/1876 +f 4462/7505/1877 4461/7506/1877 4564/7507/1877 +f 4462/7505/1877 4564/7507/1877 4545/7508/1877 +f 4563/7509/1878 4464/7510/1878 4463/7511/1878 +f 4563/7509/1878 4463/7511/1878 4546/7512/1878 +f 4564/7513/1879 4563/7514/1879 4546/7515/1879 +f 4564/7513/1879 4546/7515/1879 4545/7516/1879 +f 4565/7517/1880 4566/7518/1880 4567/7519/1880 +f 4565/7517/1880 4567/7519/1880 4568/7520/1880 +f 4565/7521/1881 4568/7522/1881 4569/7523/1881 +f 4565/7521/1881 4569/7523/1881 4570/7524/1881 +f 4571/7525/1882 4572/7526/1882 4573/7527/1882 +f 4571/7525/1882 4573/7527/1882 4574/7528/1882 +f 4575/7529/1883 4576/7530/1883 4572/7531/1883 +f 4575/7529/1883 4572/7531/1883 4571/7532/1883 +f 4577/7533/1884 4574/7534/1884 4573/7535/1884 +f 4577/7533/1884 4573/7535/1884 4578/7536/1884 +f 4575/7537/1885 4577/7538/1885 4578/7539/1885 +f 4575/7537/1885 4578/7539/1885 4576/7540/1885 +f 4566/7541/1886 4579/7542/1886 4580/7543/1886 +f 4566/7541/1886 4580/7543/1886 4567/7544/1886 +f 4568/7545/1887 4567/7546/1887 4581/7547/1887 +f 4568/7545/1887 4581/7547/1887 4582/7548/1887 +f 4567/7549/1888 4580/7550/1888 4583/7551/1888 +f 4567/7549/1888 4583/7551/1888 4581/7552/1888 +f 4569/7553/1889 4584/7554/1889 4583/7555/1889 +f 4569/7553/1889 4583/7555/1889 4580/7556/1889 +f 4576/7557/1890 4565/7558/1890 4570/7559/1890 +f 4576/7557/1890 4570/7559/1890 4572/7560/1890 +f 4568/7561/1891 4582/7562/1891 4584/7563/1891 +f 4568/7561/1891 4584/7563/1891 4569/7564/1891 +f 4570/7565/1892 4569/7566/1892 4580/7567/1892 +f 4570/7565/1892 4580/7567/1892 4579/7568/1892 +f 4572/7569/1893 4570/7570/1893 4579/7571/1893 +f 4572/7569/1893 4579/7571/1893 4573/7572/1893 +f 4578/7573/1894 4573/7574/1894 4579/7575/1894 +f 4578/7573/1894 4579/7575/1894 4566/7576/1894 +f 4566/7577/1895 4565/7578/1895 4576/7579/1895 +f 4566/7577/1895 4576/7579/1895 4578/7580/1895 +f 4584/7581/1896 4585/7582/1896 4586/7583/1896 +f 4584/7581/1896 4586/7583/1896 4583/7584/1896 +f 4582/7585/1897 4587/7586/1897 4585/7587/1897 +f 4582/7585/1897 4585/7587/1897 4584/7588/1897 +f 4581/7589/1898 4583/7590/1898 4586/7591/1898 +f 4581/7589/1898 4586/7591/1898 4588/7592/1898 +f 4582/7593/1899 4581/7594/1899 4588/7595/1899 +f 4582/7593/1899 4588/7595/1899 4587/7596/1899 +f 4577/7597/1900 4575/7598/1900 4571/7599/1900 +f 4577/7597/1900 4571/7599/1900 4574/7600/1900 +f 4590/7601/1901 4591/7602/1901 4592/7603/1901 +f 4590/7601/1901 4592/7603/1901 4593/7604/1901 +f 4594/7605/1902 4595/7606/1902 4596/7607/1902 +f 4594/7605/1902 4596/7607/1902 4597/7608/1902 +f 4598/7609/1903 4599/7610/1903 4600/7611/1903 +f 4598/7609/1903 4600/7611/1903 4601/7612/1903 +f 4602/7613/1904 4603/7614/1904 4604/7615/1904 +f 4602/7613/1904 4604/7615/1904 4605/7616/1904 +f 4606/7617/1905 4607/7618/1905 4608/7619/1905 +f 4606/7617/1905 4608/7619/1905 4609/7620/1905 +f 4610/7621/1906 4611/7622/1906 4612/7623/1906 +f 4610/7621/1906 4612/7623/1906 4613/7624/1906 +f 4614/7625/1907 4615/7626/1907 4616/7627/1907 +f 4614/7625/1907 4616/7627/1907 4617/7628/1907 +f 4618/7629/1908 4619/7630/1908 4620/7631/1908 +f 4618/7629/1908 4620/7631/1908 4621/7632/1908 +f 4622/7633/1909 4623/7634/1909 4624/7635/1909 +f 4622/7633/1909 4624/7635/1909 4625/7636/1909 +f 4626/7637/1910 4627/7638/1910 4628/7639/1910 +f 4626/7637/1910 4628/7639/1910 4629/7640/1910 +f 4630/7641/1911 4631/7642/1911 4632/7643/1911 +f 4630/7641/1911 4632/7643/1911 4633/7644/1911 +f 4634/7645/1912 4635/7646/1912 4636/7647/1912 +f 4634/7645/1912 4636/7647/1912 4637/7648/1912 +f 4638/7649/1913 4639/7650/1913 4640/7651/1913 +f 4638/7649/1913 4640/7651/1913 4641/7652/1913 +f 4642/7653/1914 4643/7654/1914 4644/7655/1914 +f 4642/7653/1914 4644/7655/1914 4645/7656/1914 +f 4646/7657/1915 4647/7658/1915 4648/7659/1915 +f 4646/7657/1915 4648/7659/1915 4649/7660/1915 +f 4650/7661/1916 4651/7662/1916 4652/7663/1916 +f 4650/7661/1916 4652/7663/1916 4653/7664/1916 +f 4654/7665/1917 4655/7666/1917 4656/7667/1917 +f 4654/7665/1917 4656/7667/1917 4657/7668/1917 +f 4658/7669/1918 4659/7670/1918 4660/7671/1918 +f 4658/7669/1918 4660/7671/1918 4661/7672/1918 +f 4662/7673/1919 4663/7674/1919 4664/7675/1919 +f 4662/7673/1919 4664/7675/1919 4665/7676/1919 +f 4666/7677/1920 4667/7678/1920 4668/7679/1920 +f 4666/7677/1920 4668/7679/1920 4669/7680/1920 +f 4670/7681/1921 4671/7682/1921 4672/7683/1921 +f 4670/7681/1921 4672/7683/1921 4673/7684/1921 +f 4674/7685/1922 4675/7686/1922 4676/7687/1922 +f 4674/7685/1922 4676/7687/1922 4677/7688/1922 +f 4678/7689/1923 4679/7690/1923 4680/7691/1923 +f 4678/7689/1923 4680/7691/1923 4681/7692/1923 +f 4682/7693/1924 4683/7694/1924 4684/7695/1924 +f 4682/7693/1924 4684/7695/1924 4685/7696/1924 +f 4686/7697/1925 4687/7698/1925 4688/7699/1925 +f 4686/7697/1925 4688/7699/1925 4689/7700/1925 +f 4690/7701/1926 4691/7702/1926 4692/7703/1926 +f 4690/7701/1926 4692/7703/1926 4693/7704/1926 +f 4694/7705/1927 4695/7706/1927 4696/7707/1927 +f 4694/7705/1927 4696/7707/1927 4697/7708/1927 +f 4698/7709/1928 4699/7710/1928 4700/7711/1928 +f 4698/7709/1928 4700/7711/1928 4701/7712/1928 +f 4702/7713/1929 4703/7714/1929 4704/7715/1929 +f 4702/7713/1929 4704/7715/1929 4705/7716/1929 +f 4706/7717/1930 4707/7718/1930 4708/7719/1930 +f 4706/7717/1930 4708/7719/1930 4709/7720/1930 +f 4710/7721/1931 4711/7722/1931 4712/7723/1931 +f 4710/7721/1931 4712/7723/1931 4713/7724/1931 +f 4714/7725/1932 4715/7726/1932 4716/7727/1932 +f 4714/7725/1932 4716/7727/1932 4717/7728/1932 +f 4718/7729/1933 4719/7730/1933 4720/7731/1933 +f 4718/7729/1933 4720/7731/1933 4721/7732/1933 +f 4722/7733/1934 4723/7734/1934 4724/7735/1934 +f 4722/7733/1934 4724/7735/1934 4725/7736/1934 +f 4726/7737/1935 4727/7738/1935 4728/7739/1935 +f 4726/7737/1935 4728/7739/1935 4729/7740/1935 +f 4730/7741/1936 4731/7742/1936 4732/7743/1936 +f 4730/7741/1936 4732/7743/1936 4733/7744/1936 +f 4734/7745/1937 4735/7746/1937 4736/7747/1937 +f 4734/7745/1937 4736/7747/1937 4737/7748/1937 +f 4738/7749/1938 4739/7750/1938 4740/7751/1938 +f 4738/7749/1938 4740/7751/1938 4741/7752/1938 +f 4742/7753/1939 4743/7754/1939 4744/7755/1939 +f 4742/7753/1939 4744/7755/1939 4745/7756/1939 +f 4746/7757/1940 4747/7758/1940 4748/7759/1940 +f 4746/7757/1940 4748/7759/1940 4749/7760/1940 +f 4750/7761/1941 4751/7762/1941 4752/7763/1941 +f 4750/7761/1941 4752/7763/1941 4753/7764/1941 +f 4754/7765/1942 4755/7766/1942 4756/7767/1942 +f 4754/7765/1942 4756/7767/1942 4757/7768/1942 +f 4758/7769/1943 4759/7770/1943 4760/7771/1943 +f 4758/7769/1943 4760/7771/1943 4761/7772/1943 +f 4762/7773/1944 4763/7774/1944 4764/7775/1944 +f 4762/7773/1944 4764/7775/1944 4765/7776/1944 +f 4766/7777/1945 4767/7778/1945 4768/7779/1945 +f 4766/7777/1945 4768/7779/1945 4769/7780/1945 +f 4770/7781/1946 4771/7782/1946 4772/7783/1946 +f 4770/7781/1946 4772/7783/1946 4773/7784/1946 +f 4774/7785/1947 4775/7786/1947 4776/7787/1947 +f 4774/7785/1947 4776/7787/1947 4777/7788/1947 +f 4778/7789/1948 4779/7790/1948 4780/7791/1948 +f 4778/7789/1948 4780/7791/1948 4781/7792/1948 +f 4782/7793/1949 4783/7794/1949 4784/7795/1949 +f 4782/7793/1949 4784/7795/1949 4785/7796/1949 +f 4786/7797/1950 4787/7798/1950 4788/7799/1950 +f 4786/7797/1950 4788/7799/1950 4789/7800/1950 +f 4790/7801/1951 4791/7802/1951 4792/7803/1951 +f 4790/7801/1951 4792/7803/1951 4793/7804/1951 +f 4794/7805/1952 4795/7806/1952 4796/7807/1952 +f 4794/7805/1952 4796/7807/1952 4797/7808/1952 +f 4798/7809/1953 4799/7810/1953 4800/7811/1953 +f 4798/7809/1953 4800/7811/1953 4801/7812/1953 +f 4802/7813/1954 4803/7814/1954 4804/7815/1954 +f 4802/7813/1954 4804/7815/1954 4805/7816/1954 +f 4806/7817/1955 4807/7818/1955 4808/7819/1955 +f 4806/7817/1955 4808/7819/1955 4809/7820/1955 +f 4810/7821/1956 4811/7822/1956 4812/7823/1956 +f 4810/7821/1956 4812/7823/1956 4813/7824/1956 +f 4814/7825/1957 4815/7826/1957 4816/7827/1957 +f 4814/7825/1957 4816/7827/1957 4817/7828/1957 +f 4818/7829/1958 4819/7830/1958 4820/7831/1958 +f 4818/7829/1958 4820/7831/1958 4821/7832/1958 +f 4822/7833/1959 4823/7834/1959 4824/7835/1959 +f 4822/7833/1959 4824/7835/1959 4825/7836/1959 +f 4826/7837/1960 4827/7838/1960 4828/7839/1960 +f 4826/7837/1960 4828/7839/1960 4829/7840/1960 +f 4830/7841/1961 4831/7842/1961 4832/7843/1961 +f 4830/7841/1961 4832/7843/1961 4833/7844/1961 +f 4834/7845/1962 4835/7846/1962 4836/7847/1962 +f 4834/7845/1962 4836/7847/1962 4837/7848/1962 +f 4838/7849/1963 4839/7850/1963 4840/7851/1963 +f 4838/7849/1963 4840/7851/1963 4841/7852/1963 +f 4842/7853/1964 4843/7854/1964 4844/7855/1964 +f 4842/7853/1964 4844/7855/1964 4845/7856/1964 +f 4846/7857/1965 4847/7858/1965 4848/7859/1965 +f 4846/7857/1965 4848/7859/1965 4849/7860/1965 +f 4850/7861/1966 4851/7862/1966 4852/7863/1966 +f 4850/7861/1966 4852/7863/1966 4853/7864/1966 +f 4854/7865/1967 4855/7866/1967 4856/7867/1967 +f 4854/7865/1967 4856/7867/1967 4857/7868/1967 +f 4858/7869/1968 4859/7870/1968 4860/7871/1968 +f 4858/7869/1968 4860/7871/1968 4861/7872/1968 +f 4862/7873/1969 4863/7874/1969 4864/7875/1969 +f 4862/7873/1969 4864/7875/1969 4865/7876/1969 +f 4866/7877/1970 4867/7878/1970 4868/7879/1970 +f 4866/7877/1970 4868/7879/1970 4869/7880/1970 +f 4870/7881/1971 4871/7882/1971 4872/7883/1971 +f 4870/7881/1971 4872/7883/1971 4873/7884/1971 +f 4874/7885/1972 4875/7886/1972 4876/7887/1972 +f 4874/7885/1972 4876/7887/1972 4877/7888/1972 +f 4878/7889/1973 4879/7890/1973 4880/7891/1973 +f 4878/7889/1973 4880/7891/1973 4881/7892/1973 +f 4882/7893/1974 4883/7894/1974 4884/7895/1974 +f 4882/7893/1974 4884/7895/1974 4885/7896/1974 +f 4886/7897/1975 4887/7898/1975 4888/7899/1975 +f 4886/7897/1975 4888/7899/1975 4889/7900/1975 +f 4890/7901/1976 4891/7902/1976 4892/7903/1976 +f 4890/7901/1976 4892/7903/1976 4893/7904/1976 +f 4894/7905/1977 4895/7906/1977 4896/7907/1977 +f 4894/7905/1977 4896/7907/1977 4897/7908/1977 +f 4898/7909/1978 4899/7910/1978 4900/7911/1978 +f 4898/7909/1978 4900/7911/1978 4901/7912/1978 +f 4902/7913/1979 4903/7914/1979 4904/7915/1979 +f 4902/7913/1979 4904/7915/1979 4905/7916/1979 +f 4906/7917/1980 4907/7918/1980 4908/7919/1980 +f 4906/7917/1980 4908/7919/1980 4909/7920/1980 +f 4589/7921/1981 4910/7922/1981 4911/7923/1981 +f 4589/7921/1981 4911/7923/1981 4912/7924/1981 +f 4913/7925/1982 4914/7926/1982 4915/7927/1982 +f 4913/7925/1982 4915/7927/1982 4916/7928/1982 +f 4917/7929/1983 4918/7930/1983 4919/7931/1983 +f 4917/7929/1983 4919/7931/1983 4920/7932/1983 +f 4921/7933/1984 4922/7934/1984 4923/7935/1984 +f 4921/7933/1984 4923/7935/1984 4924/7936/1984 +f 4925/7937/1985 4926/7938/1985 4927/7939/1985 +f 4925/7937/1985 4927/7939/1985 4928/7940/1985 +f 4929/7941/1986 4930/7942/1986 4931/7943/1986 +f 4929/7941/1986 4931/7943/1986 4932/7944/1986 +f 4933/7945/1987 4934/7946/1987 4935/7947/1987 +f 4933/7945/1987 4935/7947/1987 4936/7948/1987 +f 4937/7949/1988 4938/7950/1988 4939/7951/1988 +f 4937/7949/1988 4939/7951/1988 4940/7952/1988 +f 4941/7953/1989 4942/7954/1989 4943/7955/1989 +f 4941/7953/1989 4943/7955/1989 4944/7956/1989 +f 4945/7957/1990 4946/7958/1990 4947/7959/1990 +f 4945/7957/1990 4947/7959/1990 4948/7960/1990 +f 4949/7961/1991 4950/7962/1991 4951/7963/1991 +f 4949/7961/1991 4951/7963/1991 4952/7964/1991 +f 4953/7965/1992 4954/7966/1992 4955/7967/1992 +f 4953/7965/1992 4955/7967/1992 4956/7968/1992 +f 4957/7969/1993 4958/7970/1993 4959/7971/1993 +f 4957/7969/1993 4959/7971/1993 4960/7972/1993 +f 4961/7973/1994 4962/7974/1994 4963/7975/1994 +f 4961/7973/1994 4963/7975/1994 4964/7976/1994 +f 4965/7977/1995 4966/7978/1995 4967/7979/1995 +f 4965/7977/1995 4967/7979/1995 4968/7980/1995 +f 4969/7981/1996 4970/7982/1996 4971/7983/1996 +f 4969/7981/1996 4971/7983/1996 4972/7984/1996 +f 4973/7985/1997 4974/7986/1997 4975/7987/1997 +f 4973/7985/1997 4975/7987/1997 4976/7988/1997 +f 4977/7989/1998 4978/7990/1998 4979/7991/1998 +f 4977/7989/1998 4979/7991/1998 4980/7992/1998 +f 4981/7993/1999 4982/7994/1999 4983/7995/1999 +f 4981/7993/1999 4983/7995/1999 4984/7996/1999 +f 4985/7997/2000 4986/7998/2000 4987/7999/2000 +f 4985/7997/2000 4987/7999/2000 4988/8000/2000 +f 4989/8001/2001 4990/8002/2001 4991/8003/2001 +f 4989/8001/2001 4991/8003/2001 4992/8004/2001 +f 4993/8005/2002 4994/8006/2002 4995/8007/2002 +f 4993/8005/2002 4995/8007/2002 4996/8008/2002 +f 4997/8009/2003 4998/8010/2003 4999/8011/2003 +f 4997/8009/2003 4999/8011/2003 5000/8012/2003 +f 5001/8013/2004 5002/8014/2004 5003/8015/2004 +f 5001/8013/2004 5003/8015/2004 5004/8016/2004 +f 5005/8017/2005 5006/8018/2005 5007/8019/2005 +f 5005/8017/2005 5007/8019/2005 5008/8020/2005 +f 5009/8021/2006 5010/8022/2006 5011/8023/2006 +f 5009/8021/2006 5011/8023/2006 5012/8024/2006 +f 5013/8025/2007 5014/8026/2007 5015/8027/2007 +f 5013/8025/2007 5015/8027/2007 5016/8028/2007 +f 5017/8029/2008 5018/8030/2008 5019/8031/2008 +f 5017/8029/2008 5019/8031/2008 5020/8032/2008 +f 5021/8033/2009 5022/8034/2009 5023/8035/2009 +f 5021/8033/2009 5023/8035/2009 5024/8036/2009 +f 5025/8037/2010 5026/8038/2010 5027/8039/2010 +f 5025/8037/2010 5027/8039/2010 5028/8040/2010 +f 5029/8041/2011 5030/8042/2011 5031/8043/2011 +f 5029/8041/2011 5031/8043/2011 5032/8044/2011 +f 5033/8045/2012 5034/8046/2012 5035/8047/2012 +f 5033/8045/2012 5035/8047/2012 5036/8048/2012 +f 5037/8049/2013 5038/8050/2013 5039/8051/2013 +f 5037/8049/2013 5039/8051/2013 5040/8052/2013 +f 5041/8053/2014 5042/8054/2014 5043/8055/2014 +f 5041/8053/2014 5043/8055/2014 5044/8056/2014 +f 5045/8057/2015 5046/8058/2015 5047/8059/2015 +f 5045/8057/2015 5047/8059/2015 5048/8060/2015 +f 5049/8061/2016 5050/8062/2016 5051/8063/2016 +f 5049/8061/2016 5051/8063/2016 5052/8064/2016 +f 5053/8065/2017 5054/8066/2017 5055/8067/2017 +f 5053/8065/2017 5055/8067/2017 5056/8068/2017 +f 5057/8069/2018 5058/8070/2018 5059/8071/2018 +f 5057/8069/2018 5059/8071/2018 5060/8072/2018 +f 5061/8073/2019 5062/8074/2019 5063/8075/2019 +f 5061/8073/2019 5063/8075/2019 5064/8076/2019 +f 5065/8077/2020 5066/8078/2020 5067/8079/2020 +f 5065/8077/2020 5067/8079/2020 5068/8080/2020 +f 5069/8081/2021 5070/8082/2021 5071/8083/2021 +f 5069/8081/2021 5071/8083/2021 5072/8084/2021 +f 5073/8085/2022 5074/8086/2022 5075/8087/2022 +f 5073/8085/2022 5075/8087/2022 5076/8088/2022 +f 5077/8089/2023 5072/8090/2023 5071/8091/2023 +f 5077/8089/2023 5071/8091/2023 5078/8092/2023 +f 5079/8093/2024 5077/8094/2024 5078/8095/2024 +f 5079/8093/2024 5078/8095/2024 5080/8096/2024 +f 5069/8097/2025 5081/8098/2025 5082/8099/2025 +f 5069/8097/2025 5082/8099/2025 5079/8100/2025 +f 5083/8101/2026 5084/8102/2026 5072/8103/2026 +f 5083/8101/2026 5072/8103/2026 5077/8104/2026 +f 5082/8105/2027 5083/8106/2027 5077/8107/2027 +f 5082/8105/2027 5077/8107/2027 5079/8108/2027 +f 5070/8109/2028 5069/8110/2028 5079/8111/2028 +f 5070/8109/2028 5079/8111/2028 5080/8112/2028 +f 5081/8113/2029 5069/8114/2029 5072/8115/2029 +f 5081/8113/2029 5072/8115/2029 5084/8116/2029 +f 5085/8117/2030 5086/8118/2030 5074/8119/2030 +f 5085/8117/2030 5074/8119/2030 5073/8120/2030 +f 5087/8121/2031 5076/8122/2031 5075/8123/2031 +f 5087/8121/2031 5075/8123/2031 5088/8124/2031 +f 5085/8125/2032 5087/8126/2032 5088/8127/2032 +f 5085/8125/2032 5088/8127/2032 5086/8128/2032 +f 5086/8129/2033 5082/8130/2033 5081/8131/2033 +f 5086/8129/2033 5081/8131/2033 5074/8132/2033 +f 5074/8133/2034 5081/8134/2034 5084/8135/2034 +f 5074/8133/2034 5084/8135/2034 5075/8136/2034 +f 5088/8137/2035 5075/8138/2035 5084/8139/2035 +f 5088/8137/2035 5084/8139/2035 5083/8140/2035 +f 5086/8141/2036 5088/8142/2036 5083/8143/2036 +f 5086/8141/2036 5083/8143/2036 5082/8144/2036 +f 5080/8145/2037 5078/8146/2037 5071/8147/2037 +f 5080/8145/2037 5071/8147/2037 5070/8148/2037 +f 5089/8149/2038 5090/8150/2038 5091/8151/2038 +f 5089/8149/2038 5091/8151/2038 5092/8152/2038 +f 5093/8153/2039 5094/8154/2039 5095/8155/2039 +f 5093/8153/2039 5095/8155/2039 5096/8156/2039 +f 5097/8157/2040 5098/8158/2040 5099/8159/2040 +f 5097/8157/2040 5099/8159/2040 5100/8160/2040 +f 5101/8161/2041 5102/8162/2041 5103/8163/2041 +f 5101/8161/2041 5103/8163/2041 5104/8164/2041 +f 5105/8165/2042 5106/8166/2042 5107/8167/2042 +f 5105/8165/2042 5107/8167/2042 5108/8168/2042 +f 5109/8169/2043 5110/8170/2043 5111/8171/2043 +f 5109/8169/2043 5111/8171/2043 5112/8172/2043 +f 5113/8173/2044 5114/8174/2044 5115/8175/2044 +f 5113/8173/2044 5115/8175/2044 5116/8176/2044 +f 5/8177/2045 5117/8178/2045 5118/8179/2045 +f 5/8177/2045 5118/8179/2045 5119/8180/2045 +f 5120/8181/2046 5121/8182/2046 5122/8183/2046 +f 5120/8181/2046 5122/8183/2046 5123/8184/2046 +f 5124/8185/2047 5125/8186/2047 5126/8187/2047 +f 5124/8185/2047 5126/8187/2047 5127/8188/2047 +f 5128/8189/2048 5129/8190/2048 5130/8191/2048 +f 5128/8189/2048 5130/8191/2048 5131/8192/2048 +f 5132/8193/2049 5133/8194/2049 5134/8195/2049 +f 5132/8193/2049 5134/8195/2049 5135/8196/2049 +f 5136/8197/2050 5137/8198/2050 5138/8199/2050 +f 5136/8197/2050 5138/8199/2050 5139/8200/2050 +f 5140/8201/2051 5141/8202/2051 5142/8203/2051 +f 5140/8201/2051 5142/8203/2051 5143/8204/2051 +f 5144/8205/2052 5145/8206/2052 5146/8207/2052 +f 5144/8205/2052 5146/8207/2052 5147/8208/2052 +f 5148/8209/2053 5149/8210/2053 5150/8211/2053 +f 5148/8209/2053 5150/8211/2053 5151/8212/2053 +f 5152/8213/2054 5153/8214/2054 5154/8215/2054 +f 5152/8213/2054 5154/8215/2054 5155/8216/2054 +f 5156/8217/2055 5157/8218/2055 5158/8219/2055 +f 5156/8217/2055 5158/8219/2055 5159/8220/2055 +f 5160/8221/2056 5161/8222/2056 5162/8223/2056 +f 5160/8221/2056 5162/8223/2056 5163/8224/2056 +f 5156/8225/2057 5160/8226/2057 5163/8227/2057 +f 5156/8225/2057 5163/8227/2057 5157/8228/2057 +f 5159/8229/2058 5158/8230/2058 5162/8231/2058 +f 5159/8229/2058 5162/8231/2058 5161/8232/2058 +f 5164/8233/2059 5165/8234/2059 5166/8235/2059 +f 5164/8233/2059 5166/8235/2059 5167/8236/2059 +f 5164/8237/2060 5168/8238/2060 5169/8239/2060 +f 5164/8237/2060 5169/8239/2060 5165/8240/2060 +f 5170/8241/2061 5171/8242/2061 5172/8243/2061 +f 5170/8241/2061 5172/8243/2061 5173/8244/2061 +f 5170/8245/2062 5173/8246/2062 5174/8247/2062 +f 5170/8245/2062 5174/8247/2062 5175/8248/2062 +f 5176/8249/2063 5177/8250/2063 5178/8251/2063 +f 5176/8249/2063 5178/8251/2063 5179/8252/2063 +f 5174/8253/2064 5180/8254/2064 5181/8255/2064 +f 5174/8253/2064 5181/8255/2064 5182/8256/2064 +f 5183/8257/2065 5184/8258/2065 5177/8259/2065 +f 5183/8257/2065 5177/8259/2065 5176/8260/2065 +f 5185/8261/2066 5179/8262/2066 5178/8263/2066 +f 5185/8261/2066 5178/8263/2066 5186/8264/2066 +f 5183/8265/2067 5185/8266/2067 5186/8267/2067 +f 5183/8265/2067 5186/8267/2067 5184/8268/2067 +f 5187/8269/2068 5188/8270/2068 5189/8271/2068 +f 5187/8269/2068 5189/8271/2068 5190/8272/2068 +f 5191/8273/2069 5192/8274/2069 5193/8275/2069 +f 5191/8273/2069 5193/8275/2069 5194/8276/2069 +f 5195/8277/2070 5196/8278/2070 5197/8279/2070 +f 5195/8277/2070 5197/8279/2070 5198/8280/2070 +f 5191/8281/2071 5195/8282/2071 5198/8283/2071 +f 5191/8281/2071 5198/8283/2071 5192/8284/2071 +f 5199/8285/2072 5200/8286/2072 5201/8287/2072 +f 5199/8285/2072 5201/8287/2072 5202/8288/2072 +f 5199/8289/2073 5202/8290/2073 5203/8291/2073 +f 5199/8289/2073 5203/8291/2073 5204/8292/2073 +f 5205/8293/2074 5206/8294/2074 5207/8295/2074 +f 5205/8293/2074 5207/8295/2074 5208/8296/2074 +f 5203/8297/2075 5209/8298/2075 5210/8299/2075 +f 5203/8297/2075 5210/8299/2075 5211/8300/2075 +f 5212/8301/2076 5213/8302/2076 5206/8303/2076 +f 5212/8301/2076 5206/8303/2076 5205/8304/2076 +f 5214/8305/2077 5208/8306/2077 5207/8307/2077 +f 5214/8305/2077 5207/8307/2077 5215/8308/2077 +f 5212/8309/2078 5214/8310/2078 5215/8311/2078 +f 5212/8309/2078 5215/8311/2078 5213/8312/2078 +f 5194/8313/2079 5193/8314/2079 5197/8315/2079 +f 5194/8313/2079 5197/8315/2079 5196/8316/2079 +f 5216/8317/2080 5217/8318/2080 5218/8319/2080 +f 5216/8317/2080 5218/8319/2080 5219/8320/2080 +f 5220/8321/2081 5221/8322/2081 5222/8323/2081 +f 5220/8321/2081 5222/8323/2081 5223/8324/2081 +f 5221/8325/2082 5224/8326/2082 5225/8327/2082 +f 5221/8325/2082 5225/8327/2082 5222/8328/2082 +f 5220/8329/2083 5223/8330/2083 5226/8331/2083 +f 5220/8329/2083 5226/8331/2083 5227/8332/2083 +f 5228/8333/2084 5229/8334/2084 5230/8335/2084 +f 5228/8333/2084 5230/8335/2084 5231/8336/2084 +f 5227/8337/2085 5226/8338/2085 5225/8339/2085 +f 5227/8337/2085 5225/8339/2085 5224/8340/2085 +f 5232/8341/2086 5233/8342/2086 5229/8343/2086 +f 5232/8341/2086 5229/8343/2086 5228/8344/2086 +f 5234/8345/2087 5231/8346/2087 5230/8347/2087 +f 5234/8345/2087 5230/8347/2087 5235/8348/2087 +f 5232/8349/2088 5234/8350/2088 5235/8351/2088 +f 5232/8349/2088 5235/8351/2088 5233/8352/2088 +f 5158/8353/2089 5176/8354/2089 5179/8355/2089 +f 5158/8353/2089 5179/8355/2089 5162/8356/2089 +f 5193/8357/2090 5228/8358/2090 5231/8359/2090 +f 5193/8357/2090 5231/8359/2090 5197/8360/2090 +f 5163/8361/2091 5162/8362/2091 5179/8363/2091 +f 5163/8361/2091 5179/8363/2091 5185/8364/2091 +f 5157/8365/2092 5163/8366/2092 5185/8367/2092 +f 5157/8365/2092 5185/8367/2092 5183/8368/2092 +f 5236/8369/2093 5156/8370/2093 5159/8371/2093 +f 5236/8369/2093 5159/8371/2093 5153/8372/2093 +f 5157/8373/2094 5183/8374/2094 5176/8375/2094 +f 5157/8373/2094 5176/8375/2094 5158/8376/2094 +f 5153/8377/2095 5159/8378/2095 5161/8379/2095 +f 5153/8377/2095 5161/8379/2095 5154/8380/2095 +f 5237/8381/2096 5154/8382/2096 5161/8383/2096 +f 5237/8381/2096 5161/8383/2096 5160/8384/2096 +f 5236/8385/2097 5237/8386/2097 5160/8387/2097 +f 5236/8385/2097 5160/8387/2097 5156/8388/2097 +f 5166/8389/2098 5205/8390/2098 5208/8391/2098 +f 5166/8389/2098 5208/8391/2098 5238/8392/2098 +f 5180/8393/2099 5239/8394/2099 5240/8395/2099 +f 5180/8393/2099 5240/8395/2099 5181/8396/2099 +f 5169/8397/2100 5238/8398/2100 5208/8399/2100 +f 5169/8397/2100 5208/8399/2100 5214/8400/2100 +f 5165/8401/2101 5169/8402/2101 5214/8403/2101 +f 5165/8401/2101 5214/8403/2101 5212/8404/2101 +f 5168/8405/2102 5241/8406/2102 5238/8407/2102 +f 5168/8405/2102 5238/8407/2102 5169/8408/2102 +f 5171/8409/2103 5242/8410/2103 5182/8411/2103 +f 5171/8409/2103 5182/8411/2103 5172/8412/2103 +f 5173/8413/2104 5172/8414/2104 5188/8415/2104 +f 5173/8413/2104 5188/8415/2104 5187/8416/2104 +f 5172/8417/2105 5182/8418/2105 5181/8419/2105 +f 5172/8417/2105 5181/8419/2105 5188/8420/2105 +f 5184/8421/2106 5170/8422/2106 5175/8423/2106 +f 5184/8421/2106 5175/8423/2106 5177/8424/2106 +f 5173/8425/2107 5187/8426/2107 5180/8427/2107 +f 5173/8425/2107 5180/8427/2107 5174/8428/2107 +f 5175/8429/2108 5174/8430/2108 5182/8431/2108 +f 5175/8429/2108 5182/8431/2108 5242/8432/2108 +f 5177/8433/2109 5175/8434/2109 5242/8435/2109 +f 5177/8433/2109 5242/8435/2109 5178/8436/2109 +f 5186/8437/2110 5178/8438/2110 5242/8439/2110 +f 5186/8437/2110 5242/8439/2110 5171/8440/2110 +f 5184/8441/2111 5186/8442/2111 5171/8443/2111 +f 5184/8441/2111 5171/8443/2111 5170/8444/2111 +f 5190/8445/2112 5164/8446/2112 5167/8447/2112 +f 5190/8445/2112 5167/8447/2112 5239/8448/2112 +f 5165/8449/2113 5212/8450/2113 5205/8451/2113 +f 5165/8449/2113 5205/8451/2113 5166/8452/2113 +f 5167/8453/2114 5166/8454/2114 5238/8455/2114 +f 5167/8453/2114 5238/8455/2114 5241/8456/2114 +f 5239/8457/2115 5167/8458/2115 5241/8459/2115 +f 5239/8457/2115 5241/8459/2115 5240/8460/2115 +f 5189/8461/2116 5240/8462/2116 5241/8463/2116 +f 5189/8461/2116 5241/8463/2116 5168/8464/2116 +f 5190/8465/2117 5189/8466/2117 5168/8467/2117 +f 5190/8465/2117 5168/8467/2117 5164/8468/2117 +f 5187/8469/2118 5190/8470/2118 5239/8471/2118 +f 5187/8469/2118 5239/8471/2118 5180/8472/2118 +f 5188/8473/2119 5181/8474/2119 5240/8475/2119 +f 5188/8473/2119 5240/8475/2119 5189/8476/2119 +f 5209/8477/2120 5243/8478/2120 5244/8479/2120 +f 5209/8477/2120 5244/8479/2120 5210/8480/2120 +f 5198/8481/2121 5197/8482/2121 5231/8483/2121 +f 5198/8481/2121 5231/8483/2121 5234/8484/2121 +f 5192/8485/2122 5198/8486/2122 5234/8487/2122 +f 5192/8485/2122 5234/8487/2122 5232/8488/2122 +f 5200/8489/2123 5245/8490/2123 5211/8491/2123 +f 5200/8489/2123 5211/8491/2123 5201/8492/2123 +f 5202/8493/2124 5201/8494/2124 5217/8495/2124 +f 5202/8493/2124 5217/8495/2124 5216/8496/2124 +f 5201/8497/2125 5211/8498/2125 5210/8499/2125 +f 5201/8497/2125 5210/8499/2125 5217/8500/2125 +f 5213/8501/2126 5199/8502/2126 5204/8503/2126 +f 5213/8501/2126 5204/8503/2126 5206/8504/2126 +f 5202/8505/2127 5216/8506/2127 5209/8507/2127 +f 5202/8505/2127 5209/8507/2127 5203/8508/2127 +f 5204/8509/2128 5203/8510/2128 5211/8511/2128 +f 5204/8509/2128 5211/8511/2128 5245/8512/2128 +f 5206/8513/2129 5204/8514/2129 5245/8515/2129 +f 5206/8513/2129 5245/8515/2129 5207/8516/2129 +f 5215/8517/2130 5207/8518/2130 5245/8519/2130 +f 5215/8517/2130 5245/8519/2130 5200/8520/2130 +f 5213/8521/2131 5215/8522/2131 5200/8523/2131 +f 5213/8521/2131 5200/8523/2131 5199/8524/2131 +f 5219/8525/2132 5191/8526/2132 5194/8527/2132 +f 5219/8525/2132 5194/8527/2132 5243/8528/2132 +f 5192/8529/2133 5232/8530/2133 5228/8531/2133 +f 5192/8529/2133 5228/8531/2133 5193/8532/2133 +f 5243/8533/2134 5194/8534/2134 5196/8535/2134 +f 5243/8533/2134 5196/8535/2134 5244/8536/2134 +f 5218/8537/2135 5244/8538/2135 5196/8539/2135 +f 5218/8537/2135 5196/8539/2135 5195/8540/2135 +f 5219/8541/2136 5218/8542/2136 5195/8543/2136 +f 5219/8541/2136 5195/8543/2136 5191/8544/2136 +f 5216/8545/2137 5219/8546/2137 5243/8547/2137 +f 5216/8545/2137 5243/8547/2137 5209/8548/2137 +f 5217/8549/2138 5210/8550/2138 5244/8551/2138 +f 5217/8549/2138 5244/8551/2138 5218/8552/2138 +f 5223/8553/2139 5222/8554/2139 5246/8555/2139 +f 5223/8553/2139 5246/8555/2139 5247/8556/2139 +f 5222/8557/2140 5225/8558/2140 5248/8559/2140 +f 5222/8557/2140 5248/8559/2140 5246/8560/2140 +f 5226/8561/2141 5249/8562/2141 5248/8563/2141 +f 5226/8561/2141 5248/8563/2141 5225/8564/2141 +f 5233/8565/2142 5220/8566/2142 5227/8567/2142 +f 5233/8565/2142 5227/8567/2142 5229/8568/2142 +f 5223/8569/2143 5247/8570/2143 5249/8571/2143 +f 5223/8569/2143 5249/8571/2143 5226/8572/2143 +f 5229/8573/2144 5227/8574/2144 5224/8575/2144 +f 5229/8573/2144 5224/8575/2144 5230/8576/2144 +f 5235/8577/2145 5230/8578/2145 5224/8579/2145 +f 5235/8577/2145 5224/8579/2145 5221/8580/2145 +f 5233/8581/2146 5235/8582/2146 5221/8583/2146 +f 5233/8581/2146 5221/8583/2146 5220/8584/2146 +f 5249/8585/2147 5250/8586/2147 5251/8587/2147 +f 5249/8585/2147 5251/8587/2147 5248/8588/2147 +f 5247/8589/2148 5252/8590/2148 5250/8591/2148 +f 5247/8589/2148 5250/8591/2148 5249/8592/2148 +f 5246/8593/2149 5248/8594/2149 5251/8595/2149 +f 5246/8593/2149 5251/8595/2149 5253/8596/2149 +f 5247/8597/2150 5246/8598/2150 5253/8599/2150 +f 5247/8597/2150 5253/8599/2150 5252/8600/2150 +f 5152/8601/2151 5155/8602/2151 5254/8603/2151 +f 5152/8601/2151 5254/8603/2151 5255/8604/2151 +f 5153/8605/2152 5152/8606/2152 5255/8607/2152 +f 5153/8605/2152 5255/8607/2152 5236/8608/2152 +f 5254/8609/2153 5155/8610/2153 5154/8611/2153 +f 5254/8609/2153 5154/8611/2153 5237/8612/2153 +f 5255/8613/2154 5254/8614/2154 5237/8615/2154 +f 5255/8613/2154 5237/8615/2154 5236/8616/2154 +f 5256/8617/2155 5257/8618/2155 5258/8619/2155 +f 5256/8617/2155 5258/8619/2155 5259/8620/2155 +f 5256/8621/2156 5259/8622/2156 5260/8623/2156 +f 5256/8621/2156 5260/8623/2156 5261/8624/2156 +f 5262/8625/2157 5263/8626/2157 5264/8627/2157 +f 5262/8625/2157 5264/8627/2157 5265/8628/2157 +f 5266/8629/2158 5267/8630/2158 5263/8631/2158 +f 5266/8629/2158 5263/8631/2158 5262/8632/2158 +f 5268/8633/2159 5265/8634/2159 5264/8635/2159 +f 5268/8633/2159 5264/8635/2159 5269/8636/2159 +f 5266/8637/2160 5268/8638/2160 5269/8639/2160 +f 5266/8637/2160 5269/8639/2160 5267/8640/2160 +f 5257/8641/2161 5270/8642/2161 5271/8643/2161 +f 5257/8641/2161 5271/8643/2161 5258/8644/2161 +f 5259/8645/2162 5258/8646/2162 5272/8647/2162 +f 5259/8645/2162 5272/8647/2162 5273/8648/2162 +f 5258/8649/2163 5271/8650/2163 5274/8651/2163 +f 5258/8649/2163 5274/8651/2163 5272/8652/2163 +f 5260/8653/2164 5275/8654/2164 5274/8655/2164 +f 5260/8653/2164 5274/8655/2164 5271/8656/2164 +f 5267/8657/2165 5256/8658/2165 5261/8659/2165 +f 5267/8657/2165 5261/8659/2165 5263/8660/2165 +f 5259/8661/2166 5273/8662/2166 5275/8663/2166 +f 5259/8661/2166 5275/8663/2166 5260/8664/2166 +f 5261/8665/2167 5260/8666/2167 5271/8667/2167 +f 5261/8665/2167 5271/8667/2167 5270/8668/2167 +f 5263/8669/2168 5261/8670/2168 5270/8671/2168 +f 5263/8669/2168 5270/8671/2168 5264/8672/2168 +f 5269/8673/2169 5264/8674/2169 5270/8675/2169 +f 5269/8673/2169 5270/8675/2169 5257/8676/2169 +f 5257/8677/2170 5256/8678/2170 5267/8679/2170 +f 5257/8677/2170 5267/8679/2170 5269/8680/2170 +f 5275/8681/2171 5276/8682/2171 5277/8683/2171 +f 5275/8681/2171 5277/8683/2171 5274/8684/2171 +f 5273/8685/2172 5278/8686/2172 5276/8687/2172 +f 5273/8685/2172 5276/8687/2172 5275/8688/2172 +f 5272/8689/2173 5274/8690/2173 5277/8691/2173 +f 5272/8689/2173 5277/8691/2173 5279/8692/2173 +f 5273/8693/2174 5272/8694/2174 5279/8695/2174 +f 5273/8693/2174 5279/8695/2174 5278/8696/2174 +f 5268/8697/2175 5266/8698/2175 5262/8699/2175 +f 5268/8697/2175 5262/8699/2175 5265/8700/2175 +f 5281/8701/2176 5282/8702/2176 5283/8703/2176 +f 5281/8701/2176 5283/8703/2176 5284/8704/2176 +f 5285/8705/2177 5286/8706/2177 5287/8707/2177 +f 5285/8705/2177 5287/8707/2177 5288/8708/2177 +f 5289/8709/2178 5290/8710/2178 5291/8711/2178 +f 5289/8709/2178 5291/8711/2178 5292/8712/2178 +f 5293/8713/2179 5294/8714/2179 5295/8715/2179 +f 5293/8713/2179 5295/8715/2179 5296/8716/2179 +f 5297/8717/2180 5298/8718/2180 5299/8719/2180 +f 5297/8717/2180 5299/8719/2180 5300/8720/2180 +f 5301/8721/2181 5302/8722/2181 5303/8723/2181 +f 5301/8721/2181 5303/8723/2181 5304/8724/2181 +f 5305/8725/2182 5306/8726/2182 5307/8727/2182 +f 5305/8725/2182 5307/8727/2182 5308/8728/2182 +f 5309/8729/2183 5310/8730/2183 5311/8731/2183 +f 5309/8729/2183 5311/8731/2183 5312/8732/2183 +f 5313/8733/2184 5314/8734/2184 5315/8735/2184 +f 5313/8733/2184 5315/8735/2184 5316/8736/2184 +f 5317/8737/2185 5318/8738/2185 5319/8739/2185 +f 5317/8737/2185 5319/8739/2185 5320/8740/2185 +f 5321/8741/2186 5322/8742/2186 5323/8743/2186 +f 5321/8741/2186 5323/8743/2186 5324/8744/2186 +f 5325/8745/2187 5326/8746/2187 5327/8747/2187 +f 5325/8745/2187 5327/8747/2187 5328/8748/2187 +f 5329/8749/2188 5330/8750/2188 5331/8751/2188 +f 5329/8749/2188 5331/8751/2188 5332/8752/2188 +f 5333/8753/2189 5334/8754/2189 5335/8755/2189 +f 5333/8753/2189 5335/8755/2189 5336/8756/2189 +f 5337/8757/2190 5338/8758/2190 5339/8759/2190 +f 5337/8757/2190 5339/8759/2190 5340/8760/2190 +f 5341/8761/2191 5342/8762/2191 5343/8763/2191 +f 5341/8761/2191 5343/8763/2191 5344/8764/2191 +f 5345/8765/2192 5346/8766/2192 5347/8767/2192 +f 5345/8765/2192 5347/8767/2192 5348/8768/2192 +f 5349/8769/2193 5350/8770/2193 5351/8771/2193 +f 5349/8769/2193 5351/8771/2193 5352/8772/2193 +f 5353/8773/2194 5354/8774/2194 5355/8775/2194 +f 5353/8773/2194 5355/8775/2194 5356/8776/2194 +f 5357/8777/2195 5358/8778/2195 5359/8779/2195 +f 5357/8777/2195 5359/8779/2195 5360/8780/2195 +f 5361/8781/2196 5362/8782/2196 5363/8783/2196 +f 5361/8781/2196 5363/8783/2196 5364/8784/2196 +f 5365/8785/2197 5366/8786/2197 5367/8787/2197 +f 5365/8785/2197 5367/8787/2197 5368/8788/2197 +f 5369/8789/2198 5370/8790/2198 5371/8791/2198 +f 5369/8789/2198 5371/8791/2198 5372/8792/2198 +f 5373/8793/2199 5374/8794/2199 5375/8795/2199 +f 5373/8793/2199 5375/8795/2199 5376/8796/2199 +f 5377/8797/2200 5378/8798/2200 5379/8799/2200 +f 5377/8797/2200 5379/8799/2200 5380/8800/2200 +f 5381/8801/2201 5382/8802/2201 5383/8803/2201 +f 5381/8801/2201 5383/8803/2201 5384/8804/2201 +f 5385/8805/2202 5386/8806/2202 5387/8807/2202 +f 5385/8805/2202 5387/8807/2202 5388/8808/2202 +f 5389/8809/2203 5390/8810/2203 5391/8811/2203 +f 5389/8809/2203 5391/8811/2203 5392/8812/2203 +f 5393/8813/2204 5394/8814/2204 5395/8815/2204 +f 5393/8813/2204 5395/8815/2204 5396/8816/2204 +f 5397/8817/2205 5398/8818/2205 5399/8819/2205 +f 5397/8817/2205 5399/8819/2205 5400/8820/2205 +f 5401/8821/2206 5402/8822/2206 5403/8823/2206 +f 5401/8821/2206 5403/8823/2206 5404/8824/2206 +f 5405/8825/2207 5406/8826/2207 5407/8827/2207 +f 5405/8825/2207 5407/8827/2207 5408/8828/2207 +f 5409/8829/2208 5410/8830/2208 5411/8831/2208 +f 5409/8829/2208 5411/8831/2208 5412/8832/2208 +f 5413/8833/2209 5414/8834/2209 5415/8835/2209 +f 5413/8833/2209 5415/8835/2209 5416/8836/2209 +f 5417/8837/2210 5418/8838/2210 5419/8839/2210 +f 5417/8837/2210 5419/8839/2210 5420/8840/2210 +f 5421/8841/2211 5422/8842/2211 5423/8843/2211 +f 5421/8841/2211 5423/8843/2211 5424/8844/2211 +f 5425/8845/2212 5426/8846/2212 5427/8847/2212 +f 5425/8845/2212 5427/8847/2212 5428/8848/2212 +f 5429/8849/2213 5430/8850/2213 5431/8851/2213 +f 5429/8849/2213 5431/8851/2213 5432/8852/2213 +f 5433/8853/2214 5434/8854/2214 5435/8855/2214 +f 5433/8853/2214 5435/8855/2214 5436/8856/2214 +f 5437/8857/2215 5438/8858/2215 5439/8859/2215 +f 5437/8857/2215 5439/8859/2215 5440/8860/2215 +f 5441/8861/2216 5442/8862/2216 5443/8863/2216 +f 5441/8861/2216 5443/8863/2216 5444/8864/2216 +f 5445/8865/2217 5446/8866/2217 5447/8867/2217 +f 5445/8865/2217 5447/8867/2217 5448/8868/2217 +f 5449/8869/2218 5450/8870/2218 5451/8871/2218 +f 5449/8869/2218 5451/8871/2218 5452/8872/2218 +f 5453/8873/2219 5454/8874/2219 5455/8875/2219 +f 5453/8873/2219 5455/8875/2219 5456/8876/2219 +f 5457/8877/2220 5458/8878/2220 5459/8879/2220 +f 5457/8877/2220 5459/8879/2220 5460/8880/2220 +f 5461/8881/2221 5462/8882/2221 5463/8883/2221 +f 5461/8881/2221 5463/8883/2221 5464/8884/2221 +f 5465/8885/2222 5466/8886/2222 5467/8887/2222 +f 5465/8885/2222 5467/8887/2222 5468/8888/2222 +f 5469/8889/2223 5470/8890/2223 5471/8891/2223 +f 5469/8889/2223 5471/8891/2223 5472/8892/2223 +f 5473/8893/2224 5474/8894/2224 5475/8895/2224 +f 5473/8893/2224 5475/8895/2224 5476/8896/2224 +f 5477/8897/2225 5478/8898/2225 5479/8899/2225 +f 5477/8897/2225 5479/8899/2225 5480/8900/2225 +f 5481/8901/2226 5482/8902/2226 5483/8903/2226 +f 5481/8901/2226 5483/8903/2226 5484/8904/2226 +f 5485/8905/2227 5486/8906/2227 5487/8907/2227 +f 5485/8905/2227 5487/8907/2227 5488/8908/2227 +f 5489/8909/2228 5490/8910/2228 5491/8911/2228 +f 5489/8909/2228 5491/8911/2228 5492/8912/2228 +f 5493/8913/2229 5494/8914/2229 5495/8915/2229 +f 5493/8913/2229 5495/8915/2229 5496/8916/2229 +f 5497/8917/2230 5498/8918/2230 5499/8919/2230 +f 5497/8917/2230 5499/8919/2230 5500/8920/2230 +f 5501/8921/2231 5502/8922/2231 5503/8923/2231 +f 5501/8921/2231 5503/8923/2231 5504/8924/2231 +f 5505/8925/2232 5506/8926/2232 5507/8927/2232 +f 5505/8925/2232 5507/8927/2232 5508/8928/2232 +f 5509/8929/2233 5510/8930/2233 5511/8931/2233 +f 5509/8929/2233 5511/8931/2233 5512/8932/2233 +f 5513/8933/2234 5514/8934/2234 5515/8935/2234 +f 5513/8933/2234 5515/8935/2234 5516/8936/2234 +f 5517/8937/2235 5518/8938/2235 5519/8939/2235 +f 5517/8937/2235 5519/8939/2235 5520/8940/2235 +f 5521/8941/2236 5522/8942/2236 5523/8943/2236 +f 5521/8941/2236 5523/8943/2236 5524/8944/2236 +f 5525/8945/2237 5526/8946/2237 5527/8947/2237 +f 5525/8945/2237 5527/8947/2237 5528/8948/2237 +f 5529/8949/2238 5530/8950/2238 5531/8951/2238 +f 5529/8949/2238 5531/8951/2238 5532/8952/2238 +f 5533/8953/2239 5534/8954/2239 5535/8955/2239 +f 5533/8953/2239 5535/8955/2239 5536/8956/2239 +f 5537/8957/2240 5538/8958/2240 5539/8959/2240 +f 5537/8957/2240 5539/8959/2240 5540/8960/2240 +f 5541/8961/2241 5542/8962/2241 5543/8963/2241 +f 5541/8961/2241 5543/8963/2241 5544/8964/2241 +f 5545/8965/2242 5546/8966/2242 5547/8967/2242 +f 5545/8965/2242 5547/8967/2242 5548/8968/2242 +f 5549/8969/2243 5550/8970/2243 5551/8971/2243 +f 5549/8969/2243 5551/8971/2243 5552/8972/2243 +f 5553/8973/2244 5554/8974/2244 5555/8975/2244 +f 5553/8973/2244 5555/8975/2244 5556/8976/2244 +f 5557/8977/2245 5558/8978/2245 5559/8979/2245 +f 5557/8977/2245 5559/8979/2245 5560/8980/2245 +f 5561/8981/2246 5562/8982/2246 5563/8983/2246 +f 5561/8981/2246 5563/8983/2246 5564/8984/2246 +f 5565/8985/2247 5566/8986/2247 5567/8987/2247 +f 5565/8985/2247 5567/8987/2247 5568/8988/2247 +f 5569/8989/2248 5570/8990/2248 5571/8991/2248 +f 5569/8989/2248 5571/8991/2248 5572/8992/2248 +f 5573/8993/2249 5574/8994/2249 5575/8995/2249 +f 5573/8993/2249 5575/8995/2249 5576/8996/2249 +f 5577/8997/2250 5578/8998/2250 5579/8999/2250 +f 5577/8997/2250 5579/8999/2250 5580/9000/2250 +f 5581/9001/2251 7/9002/2251 5582/9003/2251 +f 5581/9001/2251 5582/9003/2251 5583/9004/2251 +f 5584/9005/2252 5585/9006/2252 5586/9007/2252 +f 5584/9005/2252 5586/9007/2252 5587/9008/2252 +f 5588/9009/2253 5589/9010/2253 5590/9011/2253 +f 5588/9009/2253 5590/9011/2253 5591/9012/2253 +f 5592/9013/2254 5593/9014/2254 5594/9015/2254 +f 5592/9013/2254 5594/9015/2254 5595/9016/2254 +f 5596/9017/2255 5597/9018/2255 5598/9019/2255 +f 5596/9017/2255 5598/9019/2255 5599/9020/2255 +f 5280/9021/2256 5600/9022/2256 5601/9023/2256 +f 5280/9021/2256 5601/9023/2256 5602/9024/2256 +f 5603/9025/2257 5604/9026/2257 5605/9027/2257 +f 5603/9025/2257 5605/9027/2257 5606/9028/2257 +f 5607/9029/2258 5608/9030/2258 5609/9031/2258 +f 5607/9029/2258 5609/9031/2258 5610/9032/2258 +f 5611/9033/2259 5612/9034/2259 5613/9035/2259 +f 5611/9033/2259 5613/9035/2259 5614/9036/2259 +f 5615/9037/2260 5616/9038/2260 5617/9039/2260 +f 5615/9037/2260 5617/9039/2260 5618/9040/2260 +f 5619/9041/2261 5620/9042/2261 5621/9043/2261 +f 5619/9041/2261 5621/9043/2261 5622/9044/2261 +f 5623/9045/2262 5624/9046/2262 5625/9047/2262 +f 5623/9045/2262 5625/9047/2262 5626/9048/2262 +f 5627/9049/2263 5628/9050/2263 5629/9051/2263 +f 5627/9049/2263 5629/9051/2263 5630/9052/2263 +f 5631/9053/2264 5632/9054/2264 5633/9055/2264 +f 5631/9053/2264 5633/9055/2264 5634/9056/2264 +f 5635/9057/2265 5636/9058/2265 5637/9059/2265 +f 5635/9057/2265 5637/9059/2265 5638/9060/2265 +f 5639/9061/2266 5640/9062/2266 5641/9063/2266 +f 5639/9061/2266 5641/9063/2266 5642/9064/2266 +f 5643/9065/2267 5644/9066/2267 5645/9067/2267 +f 5643/9065/2267 5645/9067/2267 5646/9068/2267 +f 5647/9069/2268 5648/9070/2268 5649/9071/2268 +f 5647/9069/2268 5649/9071/2268 5650/9072/2268 +f 5651/9073/2269 5652/9074/2269 5653/9075/2269 +f 5651/9073/2269 5653/9075/2269 5654/9076/2269 +f 5655/9077/2270 5656/9078/2270 5657/9079/2270 +f 5655/9077/2270 5657/9079/2270 5658/9080/2270 +f 5659/9081/2271 5660/9082/2271 5661/9083/2271 +f 5659/9081/2271 5661/9083/2271 5662/9084/2271 +f 5663/9085/2272 5664/9086/2272 5665/9087/2272 +f 5663/9085/2272 5665/9087/2272 5666/9088/2272 +f 5667/9089/2273 5668/9090/2273 5669/9091/2273 +f 5667/9089/2273 5669/9091/2273 5670/9092/2273 +f 5671/9093/2274 5672/9094/2274 5673/9095/2274 +f 5671/9093/2274 5673/9095/2274 5674/9096/2274 +f 5675/9097/2275 5676/9098/2275 5677/9099/2275 +f 5675/9097/2275 5677/9099/2275 5678/9100/2275 +f 5679/9101/2276 5680/9102/2276 5681/9103/2276 +f 5679/9101/2276 5681/9103/2276 5682/9104/2276 +f 5683/9105/2277 5684/9106/2277 5685/9107/2277 +f 5683/9105/2277 5685/9107/2277 5686/9108/2277 +f 5687/9109/2278 5688/9110/2278 5689/9111/2278 +f 5687/9109/2278 5689/9111/2278 5690/9112/2278 +f 5691/9113/2279 5692/9114/2279 5693/9115/2279 +f 5691/9113/2279 5693/9115/2279 5694/9116/2279 +f 5695/9117/2280 5696/9118/2280 5697/9119/2280 +f 5695/9117/2280 5697/9119/2280 5698/9120/2280 +f 5699/9121/2281 5700/9122/2281 5701/9123/2281 +f 5699/9121/2281 5701/9123/2281 5702/9124/2281 +f 5703/9125/2282 5704/9126/2282 5705/9127/2282 +f 5703/9125/2282 5705/9127/2282 5706/9128/2282 +f 5707/9129/2283 5708/9130/2283 5709/9131/2283 +f 5707/9129/2283 5709/9131/2283 5710/9132/2283 +f 5711/9133/2284 5712/9134/2284 5713/9135/2284 +f 5711/9133/2284 5713/9135/2284 5714/9136/2284 +f 5715/9137/2285 5716/9138/2285 5717/9139/2285 +f 5715/9137/2285 5717/9139/2285 5718/9140/2285 +f 5719/9141/2286 5720/9142/2286 5721/9143/2286 +f 5719/9141/2286 5721/9143/2286 5722/9144/2286 +f 5723/9145/2287 5724/9146/2287 5725/9147/2287 +f 5723/9145/2287 5725/9147/2287 5726/9148/2287 +f 5727/9149/2288 5728/9150/2288 5729/9151/2288 +f 5727/9149/2288 5729/9151/2288 5730/9152/2288 +f 5731/9153/2289 5732/9154/2289 5733/9155/2289 +f 5731/9153/2289 5733/9155/2289 5734/9156/2289 +f 5735/9157/2290 5736/9158/2290 5737/9159/2290 +f 5735/9157/2290 5737/9159/2290 5738/9160/2290 +f 5739/9161/2291 5740/9162/2291 5741/9163/2291 +f 5739/9161/2291 5741/9163/2291 5742/9164/2291 +f 5743/9165/2292 5744/9166/2292 5745/9167/2292 +f 5743/9165/2292 5745/9167/2292 5746/9168/2292 +f 5747/9169/2293 5748/9170/2293 5749/9171/2293 +f 5747/9169/2293 5749/9171/2293 5750/9172/2293 +f 5751/9173/2294 5752/9174/2294 5753/9175/2294 +f 5751/9173/2294 5753/9175/2294 5754/9176/2294 +f 5755/9177/2295 5756/9178/2295 5757/9179/2295 +f 5755/9177/2295 5757/9179/2295 5758/9180/2295 +f 5759/9181/2296 5760/9182/2296 5761/9183/2296 +f 5759/9181/2296 5761/9183/2296 5762/9184/2296 +f 5763/9185/2297 5764/9186/2297 5765/9187/2297 +f 5763/9185/2297 5765/9187/2297 5766/9188/2297 +f 5767/9189/2298 5768/9190/2298 5769/9191/2298 +f 5767/9189/2298 5769/9191/2298 5770/9192/2298 +f 5771/9193/2299 5772/9194/2299 5773/9195/2299 +f 5771/9193/2299 5773/9195/2299 5774/9196/2299 +f 5775/9197/2300 5776/9198/2300 5777/9199/2300 +f 5775/9197/2300 5777/9199/2300 5778/9200/2300 +f 5779/9201/2301 5780/9202/2301 5781/9203/2301 +f 5779/9201/2301 5781/9203/2301 5782/9204/2301 +f 5783/9205/2302 5784/9206/2302 5785/9207/2302 +f 5783/9205/2302 5785/9207/2302 5786/9208/2302 +f 5787/9209/2303 5788/9210/2303 5789/9211/2303 +f 5787/9209/2303 5789/9211/2303 5790/9212/2303 +f 5791/9213/2304 5792/9214/2304 5793/9215/2304 +f 5791/9213/2304 5793/9215/2304 5794/9216/2304 +f 5795/9217/2305 5796/9218/2305 5797/9219/2305 +f 5795/9217/2305 5797/9219/2305 5798/9220/2305 +f 5799/9221/2306 5800/9222/2306 5801/9223/2306 +f 5799/9221/2306 5801/9223/2306 5802/9224/2306 +f 5803/9225/2307 5804/9226/2307 5805/9227/2307 +f 5803/9225/2307 5805/9227/2307 5806/9228/2307 +f 5807/9229/2308 5808/9230/2308 5809/9231/2308 +f 5807/9229/2308 5809/9231/2308 5810/9232/2308 +f 5811/9233/2309 5812/9234/2309 5813/9235/2309 +f 5811/9233/2309 5813/9235/2309 5814/9236/2309 +f 5815/9237/2310 5816/9238/2310 5817/9239/2310 +f 5815/9237/2310 5817/9239/2310 5818/9240/2310 +f 5819/9241/2311 5820/9242/2311 5821/9243/2311 +f 5819/9241/2311 5821/9243/2311 5822/9244/2311 +f 9/9245/2312 5823/9246/2312 5824/9247/2312 +f 9/9245/2312 5824/9247/2312 5825/9248/2312 +f 5826/9249/2313 5827/9250/2313 5828/9251/2313 +f 5826/9249/2313 5828/9251/2313 5829/9252/2313 +f 5830/9253/2314 5831/9254/2314 5832/9255/2314 +f 5830/9253/2314 5832/9255/2314 5833/9256/2314 +f 5834/9257/2315 5835/9258/2315 5836/9259/2315 +f 5834/9257/2315 5836/9259/2315 5837/9260/2315 +f 5838/9261/2316 5839/9262/2316 5840/9263/2316 +f 5838/9261/2316 5840/9263/2316 5841/9264/2316 +f 5842/9265/2317 5843/9266/2317 5844/9267/2317 +f 5842/9265/2317 5844/9267/2317 5845/9268/2317 +f 5846/9269/2318 5847/9270/2318 5848/9271/2318 +f 5846/9269/2318 5848/9271/2318 5849/9272/2318 +f 5842/9273/2319 5846/9274/2319 5849/9275/2319 +f 5842/9273/2319 5849/9275/2319 5843/9276/2319 +f 5845/9277/2320 5844/9278/2320 5848/9279/2320 +f 5845/9277/2320 5848/9279/2320 5847/9280/2320 +f 5850/9281/2321 5851/9282/2321 5852/9283/2321 +f 5850/9281/2321 5852/9283/2321 5853/9284/2321 +f 5850/9285/2322 5853/9286/2322 5854/9287/2322 +f 5850/9285/2322 5854/9287/2322 5855/9288/2322 +f 5856/9289/2323 5857/9290/2323 5858/9291/2323 +f 5856/9289/2323 5858/9291/2323 5859/9292/2323 +f 5854/9293/2324 5860/9294/2324 5861/9295/2324 +f 5854/9293/2324 5861/9295/2324 5862/9296/2324 +f 5863/9297/2325 5864/9298/2325 5857/9299/2325 +f 5863/9297/2325 5857/9299/2325 5856/9300/2325 +f 5865/9301/2326 5859/9302/2326 5858/9303/2326 +f 5865/9301/2326 5858/9303/2326 5866/9304/2326 +f 5863/9305/2327 5865/9306/2327 5866/9307/2327 +f 5863/9305/2327 5866/9307/2327 5864/9308/2327 +f 5867/9309/2328 5868/9310/2328 5869/9311/2328 +f 5867/9309/2328 5869/9311/2328 5870/9312/2328 +f 5844/9313/2329 5856/9314/2329 5859/9315/2329 +f 5844/9313/2329 5859/9315/2329 5848/9316/2329 +f 5849/9317/2330 5848/9318/2330 5859/9319/2330 +f 5849/9317/2330 5859/9319/2330 5865/9320/2330 +f 5843/9321/2331 5849/9322/2331 5865/9323/2331 +f 5843/9321/2331 5865/9323/2331 5863/9324/2331 +f 5871/9325/2332 5842/9326/2332 5845/9327/2332 +f 5871/9325/2332 5845/9327/2332 5839/9328/2332 +f 5843/9329/2333 5863/9330/2333 5856/9331/2333 +f 5843/9329/2333 5856/9331/2333 5844/9332/2333 +f 5839/9333/2334 5845/9334/2334 5847/9335/2334 +f 5839/9333/2334 5847/9335/2334 5840/9336/2334 +f 5872/9337/2335 5840/9338/2335 5847/9339/2335 +f 5872/9337/2335 5847/9339/2335 5846/9340/2335 +f 5871/9341/2336 5872/9342/2336 5846/9343/2336 +f 5871/9341/2336 5846/9343/2336 5842/9344/2336 +f 5860/9345/2337 5873/9346/2337 5874/9347/2337 +f 5860/9345/2337 5874/9347/2337 5861/9348/2337 +f 5851/9349/2338 5875/9350/2338 5862/9351/2338 +f 5851/9349/2338 5862/9351/2338 5852/9352/2338 +f 5853/9353/2339 5852/9354/2339 5868/9355/2339 +f 5853/9353/2339 5868/9355/2339 5867/9356/2339 +f 5852/9357/2340 5862/9358/2340 5861/9359/2340 +f 5852/9357/2340 5861/9359/2340 5868/9360/2340 +f 5864/9361/2341 5850/9362/2341 5855/9363/2341 +f 5864/9361/2341 5855/9363/2341 5857/9364/2341 +f 5853/9365/2342 5867/9366/2342 5860/9367/2342 +f 5853/9365/2342 5860/9367/2342 5854/9368/2342 +f 5855/9369/2343 5854/9370/2343 5862/9371/2343 +f 5855/9369/2343 5862/9371/2343 5875/9372/2343 +f 5857/9373/2344 5855/9374/2344 5875/9375/2344 +f 5857/9373/2344 5875/9375/2344 5858/9376/2344 +f 5866/9377/2345 5858/9378/2345 5875/9379/2345 +f 5866/9377/2345 5875/9379/2345 5851/9380/2345 +f 5864/9381/2346 5866/9382/2346 5851/9383/2346 +f 5864/9381/2346 5851/9383/2346 5850/9384/2346 +f 5867/9385/2347 5870/9386/2347 5873/9387/2347 +f 5867/9385/2347 5873/9387/2347 5860/9388/2347 +f 5868/9389/2348 5861/9390/2348 5874/9391/2348 +f 5868/9389/2348 5874/9391/2348 5869/9392/2348 +f 5838/9393/2349 5841/9394/2349 5876/9395/2349 +f 5838/9393/2349 5876/9395/2349 5877/9396/2349 +f 5839/9397/2350 5838/9398/2350 5877/9399/2350 +f 5839/9397/2350 5877/9399/2350 5871/9400/2350 +f 5876/9401/2351 5841/9402/2351 5840/9403/2351 +f 5876/9401/2351 5840/9403/2351 5872/9404/2351 +f 5877/9405/2352 5876/9406/2352 5872/9407/2352 +f 5877/9405/2352 5872/9407/2352 5871/9408/2352 +f 5878/9409/2353 5879/9410/2353 5880/9411/2353 +f 5878/9409/2353 5880/9411/2353 5881/9412/2353 +f 5878/9413/2354 5881/9414/2354 5882/9415/2354 +f 5878/9413/2354 5882/9415/2354 5883/9416/2354 +f 5884/9417/2355 5885/9418/2355 5886/9419/2355 +f 5884/9417/2355 5886/9419/2355 5887/9420/2355 +f 5888/9421/2356 5889/9422/2356 5885/9423/2356 +f 5888/9421/2356 5885/9423/2356 5884/9424/2356 +f 5890/9425/2357 5887/9426/2357 5886/9427/2357 +f 5890/9425/2357 5886/9427/2357 5891/9428/2357 +f 5888/9429/2358 5890/9430/2358 5891/9431/2358 +f 5888/9429/2358 5891/9431/2358 5889/9432/2358 +f 5879/9433/2359 5892/9434/2359 5893/9435/2359 +f 5879/9433/2359 5893/9435/2359 5880/9436/2359 +f 5881/9437/2360 5880/9438/2360 5894/9439/2360 +f 5881/9437/2360 5894/9439/2360 5895/9440/2360 +f 5880/9441/2361 5893/9442/2361 5896/9443/2361 +f 5880/9441/2361 5896/9443/2361 5894/9444/2361 +f 5882/9445/2362 5897/9446/2362 5896/9447/2362 +f 5882/9445/2362 5896/9447/2362 5893/9448/2362 +f 5889/9449/2363 5878/9450/2363 5883/9451/2363 +f 5889/9449/2363 5883/9451/2363 5885/9452/2363 +f 5881/9453/2364 5895/9454/2364 5897/9455/2364 +f 5881/9453/2364 5897/9455/2364 5882/9456/2364 +f 5883/9457/2365 5882/9458/2365 5893/9459/2365 +f 5883/9457/2365 5893/9459/2365 5892/9460/2365 +f 5885/9461/2366 5883/9462/2366 5892/9463/2366 +f 5885/9461/2366 5892/9463/2366 5886/9464/2366 +f 5891/9465/2367 5886/9466/2367 5892/9467/2367 +f 5891/9465/2367 5892/9467/2367 5879/9468/2367 +f 5879/9469/2368 5878/9470/2368 5889/9471/2368 +f 5879/9469/2368 5889/9471/2368 5891/9472/2368 +f 5897/9473/2369 5898/9474/2369 5899/9475/2369 +f 5897/9473/2369 5899/9475/2369 5896/9476/2369 +f 5895/9477/2370 5900/9478/2370 5898/9479/2370 +f 5895/9477/2370 5898/9479/2370 5897/9480/2370 +f 5894/9481/2371 5896/9482/2371 5899/9483/2371 +f 5894/9481/2371 5899/9483/2371 5901/9484/2371 +f 5895/9485/2372 5894/9486/2372 5901/9487/2372 +f 5895/9485/2372 5901/9487/2372 5900/9488/2372 +f 5890/9489/2373 5888/9490/2373 5884/9491/2373 +f 5890/9489/2373 5884/9491/2373 5887/9492/2373 +f 5904/9493/2374 5903/9494/2374 5902/9495/2374 +f 5904/9493/2374 5902/9495/2374 5905/9496/2374 +f 5908/9497/2375 5907/9498/2375 5906/9499/2375 +f 5908/9497/2375 5906/9499/2375 5909/9500/2375 +f 5912/9501/2376 5911/9502/2376 5910/9503/2376 +f 5912/9501/2376 5910/9503/2376 5913/9504/2376 +f 5916/9505/2377 5915/9506/2377 5914/9507/2377 +f 5916/9505/2377 5914/9507/2377 5917/9508/2377 +f 5920/9509/2378 5919/9510/2378 5918/9511/2378 +f 5920/9509/2378 5918/9511/2378 5921/9512/2378 +f 5924/9513/2379 5923/9514/2379 5922/9515/2379 +f 5924/9513/2379 5922/9515/2379 5925/9516/2379 +f 5928/9517/2380 5927/9518/2380 5926/9519/2380 +f 5928/9517/2380 5926/9519/2380 5929/9520/2380 +f 5932/9521/2381 5931/9522/2381 5930/9523/2381 +f 5932/9521/2381 5930/9523/2381 5933/9524/2381 +f 5936/9525/2382 5935/9526/2382 5934/9527/2382 +f 5936/9525/2382 5934/9527/2382 5937/9528/2382 +f 5940/9529/2383 5939/9530/2383 5938/9531/2383 +f 5940/9529/2383 5938/9531/2383 5941/9532/2383 +f 5944/9533/2384 5943/9534/2384 5942/9535/2384 +f 5944/9533/2384 5942/9535/2384 5945/9536/2384 +f 5948/9537/2385 5947/9538/2385 5946/9539/2385 +f 5948/9537/2385 5946/9539/2385 5949/9540/2385 +f 5952/9541/2386 5951/9542/2386 5950/9543/2386 +f 5952/9541/2386 5950/9543/2386 5953/9544/2386 +f 5956/9545/2387 5955/9546/2387 5954/9547/2387 +f 5956/9545/2387 5954/9547/2387 5957/9548/2387 +f 5960/9549/2388 5959/9550/2388 5958/9551/2388 +f 5960/9549/2388 5958/9551/2388 5961/9552/2388 +f 5964/9553/2389 5963/9554/2389 5962/9555/2389 +f 5964/9553/2389 5962/9555/2389 5965/9556/2389 +f 5968/9557/2390 5967/9558/2390 5966/9559/2390 +f 5968/9557/2390 5966/9559/2390 5969/9560/2390 +f 5972/9561/2391 5971/9562/2391 5970/9563/2391 +f 5972/9561/2391 5970/9563/2391 5973/9564/2391 +f 5976/9565/2392 5975/9566/2392 5974/9567/2392 +f 5976/9565/2392 5974/9567/2392 5977/9568/2392 +f 5980/9569/2393 5979/9570/2393 5978/9571/2393 +f 5980/9569/2393 5978/9571/2393 5981/9572/2393 +f 5984/9573/2394 5983/9574/2394 5982/9575/2394 +f 5984/9573/2394 5982/9575/2394 5985/9576/2394 +f 5988/9577/2395 5987/9578/2395 5986/9579/2395 +f 5988/9577/2395 5986/9579/2395 5989/9580/2395 +f 5992/9581/2396 5991/9582/2396 5990/9583/2396 +f 5992/9581/2396 5990/9583/2396 5993/9584/2396 +f 5996/9585/2397 5995/9586/2397 5994/9587/2397 +f 5996/9585/2397 5994/9587/2397 5997/9588/2397 +f 6000/9589/2398 5999/9590/2398 5998/9591/2398 +f 6000/9589/2398 5998/9591/2398 6001/9592/2398 +f 6004/9593/2399 6003/9594/2399 6002/9595/2399 +f 6004/9593/2399 6002/9595/2399 6005/9596/2399 +f 6008/9597/2400 6007/9598/2400 6006/9599/2400 +f 6008/9597/2400 6006/9599/2400 6009/9600/2400 +f 6012/9601/2401 6011/9602/2401 6010/9603/2401 +f 6012/9601/2401 6010/9603/2401 6013/9604/2401 +f 6016/9605/2402 6015/9606/2402 6014/9607/2402 +f 6016/9605/2402 6014/9607/2402 6017/9608/2402 +f 6020/9609/2403 6019/9610/2403 6018/9611/2403 +f 6020/9609/2403 6018/9611/2403 6021/9612/2403 +f 6024/9613/2404 6023/9614/2404 6022/9615/2404 +f 6024/9613/2404 6022/9615/2404 6025/9616/2404 +f 6028/9617/2405 6027/9618/2405 6026/9619/2405 +f 6028/9617/2405 6026/9619/2405 6029/9620/2405 +f 6032/9621/2406 6031/9622/2406 6030/9623/2406 +f 6032/9621/2406 6030/9623/2406 6033/9624/2406 +f 6036/9625/2407 6035/9626/2407 6034/9627/2407 +f 6036/9625/2407 6034/9627/2407 6037/9628/2407 +f 6040/9629/2408 6039/9630/2408 6038/9631/2408 +f 6040/9629/2408 6038/9631/2408 6041/9632/2408 +f 6044/9633/2409 6043/9634/2409 6042/9635/2409 +f 6044/9633/2409 6042/9635/2409 6045/9636/2409 +f 6048/9637/2410 6047/9638/2410 6046/9639/2410 +f 6048/9637/2410 6046/9639/2410 6049/9640/2410 +f 6052/9641/2411 6051/9642/2411 6050/9643/2411 +f 6052/9641/2411 6050/9643/2411 6053/9644/2411 +f 6048/9645/2412 6049/9646/2412 6054/9647/2412 +f 6048/9645/2412 6054/9647/2412 6055/9648/2412 +f 6055/9649/2413 6054/9650/2413 6056/9651/2413 +f 6055/9649/2413 6056/9651/2413 6057/9652/2413 +f 6059/9653/2414 6058/9654/2414 6046/9655/2414 +f 6059/9653/2414 6046/9655/2414 6056/9656/2414 +f 6049/9657/2415 6061/9658/2415 6060/9659/2415 +f 6049/9657/2415 6060/9659/2415 6054/9660/2415 +f 6054/9661/2416 6060/9662/2416 6059/9663/2416 +f 6054/9661/2416 6059/9663/2416 6056/9664/2416 +f 6056/9665/2417 6046/9666/2417 6047/9667/2417 +f 6056/9665/2417 6047/9667/2417 6057/9668/2417 +f 6049/9669/2418 6046/9670/2418 6058/9671/2418 +f 6049/9669/2418 6058/9671/2418 6061/9672/2418 +f 6051/9673/2419 6063/9674/2419 6062/9675/2419 +f 6051/9673/2419 6062/9675/2419 6050/9676/2419 +f 6052/9677/2420 6053/9678/2420 6064/9679/2420 +f 6052/9677/2420 6064/9679/2420 6065/9680/2420 +f 6065/9681/2421 6064/9682/2421 6062/9683/2421 +f 6065/9681/2421 6062/9683/2421 6063/9684/2421 +f 6058/9685/2422 6059/9686/2422 6063/9687/2422 +f 6058/9685/2422 6063/9687/2422 6051/9688/2422 +f 6061/9689/2423 6058/9690/2423 6051/9691/2423 +f 6061/9689/2423 6051/9691/2423 6052/9692/2423 +f 6061/9693/2424 6052/9694/2424 6065/9695/2424 +f 6061/9693/2424 6065/9695/2424 6060/9696/2424 +f 6060/9697/2425 6065/9698/2425 6063/9699/2425 +f 6060/9697/2425 6063/9699/2425 6059/9700/2425 +f 6048/9701/2426 6055/9702/2426 6057/9703/2426 +f 6048/9701/2426 6057/9703/2426 6047/9704/2426 +f 6068/9705/2427 6067/9706/2427 6066/9707/2427 +f 6068/9705/2427 6066/9707/2427 6069/9708/2427 +f 6072/9709/2428 6071/9710/2428 6070/9711/2428 +f 6072/9709/2428 6070/9711/2428 6073/9712/2428 +f 6076/9713/2429 6075/9714/2429 6074/9715/2429 +f 6076/9713/2429 6074/9715/2429 6077/9716/2429 +f 6080/9717/2430 6079/9718/2430 6078/9719/2430 +f 6080/9717/2430 6078/9719/2430 6081/9720/2430 +f 6084/9721/2431 6083/9722/2431 6082/9723/2431 +f 6084/9721/2431 6082/9723/2431 6085/9724/2431 +f 6088/9725/2432 6087/9726/2432 6086/9727/2432 +f 6088/9725/2432 6086/9727/2432 6089/9728/2432 +f 6092/9729/2433 6091/9730/2433 6090/9731/2433 +f 6092/9729/2433 6090/9731/2433 6093/9732/2433 +f 6096/9733/2434 6095/9734/2434 6094/9735/2434 +f 6096/9733/2434 6094/9735/2434 6097/9736/2434 +f 6100/9737/2435 6099/9738/2435 6098/9739/2435 +f 6100/9737/2435 6098/9739/2435 6101/9740/2435 +f 6104/9741/2436 6103/9742/2436 6102/9743/2436 +f 6104/9741/2436 6102/9743/2436 6105/9744/2436 +f 6108/9745/2437 6107/9746/2437 6106/9747/2437 +f 6108/9745/2437 6106/9747/2437 6109/9748/2437 +f 6112/9749/2438 6111/9750/2438 6110/9751/2438 +f 6112/9749/2438 6110/9751/2438 6113/9752/2438 +f 2/9753/2439 6115/9754/2439 6114/9755/2439 +f 2/9753/2439 6114/9755/2439 6116/9756/2439 +f 6119/9757/2440 6118/9758/2440 6117/9759/2440 +f 6119/9757/2440 6117/9759/2440 6120/9760/2440 +f 6123/9761/2441 6122/9762/2441 6121/9763/2441 +f 6123/9761/2441 6121/9763/2441 6124/9764/2441 +f 6127/9765/2442 6126/9766/2442 6125/9767/2442 +f 6127/9765/2442 6125/9767/2442 6128/9768/2442 +f 6131/9769/2443 6130/9770/2443 6129/9771/2443 +f 6131/9769/2443 6129/9771/2443 6132/9772/2443 +f 6135/9773/2444 6134/9774/2444 6133/9775/2444 +f 6135/9773/2444 6133/9775/2444 6136/9776/2444 +f 6136/9777/2445 6133/9778/2445 6129/9779/2445 +f 6136/9777/2445 6129/9779/2445 6130/9780/2445 +f 6135/9781/2446 6131/9782/2446 6132/9783/2446 +f 6135/9781/2446 6132/9783/2446 6134/9784/2446 +f 6141/9785/2447 6140/9786/2447 6139/9787/2447 +f 6141/9785/2447 6139/9787/2447 6142/9788/2447 +f 6145/9789/2448 6144/9790/2448 6143/9791/2448 +f 6145/9789/2448 6143/9791/2448 6146/9792/2448 +f 6148/9793/2449 6147/9794/2449 6144/9795/2449 +f 6148/9793/2449 6144/9795/2449 6145/9796/2449 +f 6149/9797/2450 6146/9798/2450 6143/9799/2450 +f 6149/9797/2450 6143/9799/2450 6150/9800/2450 +f 6153/9801/2451 6152/9802/2451 6151/9803/2451 +f 6153/9801/2451 6151/9803/2451 6154/9804/2451 +f 6148/9805/2452 6149/9806/2452 6150/9807/2452 +f 6148/9805/2452 6150/9807/2452 6147/9808/2452 +f 6152/9809/2453 6156/9810/2453 6155/9811/2453 +f 6152/9809/2453 6155/9811/2453 6151/9812/2453 +f 6153/9813/2454 6154/9814/2454 6157/9815/2454 +f 6153/9813/2454 6157/9815/2454 6158/9816/2454 +f 6158/9817/2455 6157/9818/2455 6155/9819/2455 +f 6158/9817/2455 6155/9819/2455 6156/9820/2455 +f 6154/9821/2456 6151/9822/2456 6131/9823/2456 +f 6154/9821/2456 6131/9823/2456 6135/9824/2456 +f 6160/9825/2457 6159/9826/2457 6137/9827/2457 +f 6160/9825/2457 6137/9827/2457 6138/9828/2457 +f 6154/9829/2458 6135/9830/2458 6136/9831/2458 +f 6154/9829/2458 6136/9831/2458 6157/9832/2458 +f 6157/9833/2459 6136/9834/2459 6130/9835/2459 +f 6157/9833/2459 6130/9835/2459 6155/9836/2459 +f 6132/9837/2460 6129/9838/2460 6142/9839/2460 +f 6132/9837/2460 6142/9839/2460 6159/9840/2460 +f 6151/9841/2461 6155/9842/2461 6130/9843/2461 +f 6151/9841/2461 6130/9843/2461 6131/9844/2461 +f 6134/9845/2462 6132/9846/2462 6159/9847/2462 +f 6134/9845/2462 6159/9847/2462 6160/9848/2462 +f 6134/9849/2463 6160/9850/2463 6141/9851/2463 +f 6134/9849/2463 6141/9851/2463 6133/9852/2463 +f 6133/9853/2464 6141/9854/2464 6142/9855/2464 +f 6133/9853/2464 6142/9855/2464 6129/9856/2464 +f 6159/9857/2465 6142/9858/2465 6139/9859/2465 +f 6159/9857/2465 6139/9859/2465 6137/9860/2465 +f 6160/9861/2466 6138/9862/2466 6140/9863/2466 +f 6160/9861/2466 6140/9863/2466 6141/9864/2466 +f 6161/9865/2467 6145/9866/2467 6146/9867/2467 +f 6161/9865/2467 6146/9867/2467 6162/9868/2467 +f 6163/9869/2468 6148/9870/2468 6145/9871/2468 +f 6163/9869/2468 6145/9871/2468 6161/9872/2468 +f 6163/9873/2469 6164/9874/2469 6149/9875/2469 +f 6163/9873/2469 6149/9875/2469 6148/9876/2469 +f 6150/9877/2470 6143/9878/2470 6156/9879/2470 +f 6150/9877/2470 6156/9879/2470 6152/9880/2470 +f 6164/9881/2471 6162/9882/2471 6146/9883/2471 +f 6164/9881/2471 6146/9883/2471 6149/9884/2471 +f 6147/9885/2472 6150/9886/2472 6152/9887/2472 +f 6147/9885/2472 6152/9887/2472 6153/9888/2472 +f 6147/9889/2473 6153/9890/2473 6158/9891/2473 +f 6147/9889/2473 6158/9891/2473 6144/9892/2473 +f 6144/9893/2474 6158/9894/2474 6156/9895/2474 +f 6144/9893/2474 6156/9895/2474 6143/9896/2474 +f 6166/9897/2475 6165/9898/2475 6164/9899/2475 +f 6166/9897/2475 6164/9899/2475 6163/9900/2475 +f 6165/9901/2476 6167/9902/2476 6162/9903/2476 +f 6165/9901/2476 6162/9903/2476 6164/9904/2476 +f 6166/9905/2477 6163/9906/2477 6161/9907/2477 +f 6166/9905/2477 6161/9907/2477 6168/9908/2477 +f 6168/9909/2478 6161/9910/2478 6162/9911/2478 +f 6168/9909/2478 6162/9911/2478 6167/9912/2478 +f 6172/9913/2479 6171/9914/2479 6170/9915/2479 +f 6172/9913/2479 6170/9915/2479 6173/9916/2479 +f 6176/9917/2480 6175/9918/2480 6174/9919/2480 +f 6176/9917/2480 6174/9919/2480 6177/9920/2480 +f 6180/9921/2481 6179/9922/2481 6178/9923/2481 +f 6180/9921/2481 6178/9923/2481 6181/9924/2481 +f 6184/9925/2482 6183/9926/2482 6182/9927/2482 +f 6184/9925/2482 6182/9927/2482 6185/9928/2482 +f 6188/9929/2483 6187/9930/2483 6186/9931/2483 +f 6188/9929/2483 6186/9931/2483 6189/9932/2483 +f 6192/9933/2484 6191/9934/2484 6190/9935/2484 +f 6192/9933/2484 6190/9935/2484 6193/9936/2484 +f 6196/9937/2485 6195/9938/2485 6194/9939/2485 +f 6196/9937/2485 6194/9939/2485 6197/9940/2485 +f 6200/9941/2486 6199/9942/2486 6198/9943/2486 +f 6200/9941/2486 6198/9943/2486 6201/9944/2486 +f 6204/9945/2487 6203/9946/2487 6202/9947/2487 +f 6204/9945/2487 6202/9947/2487 6205/9948/2487 +f 6208/9949/2488 6207/9950/2488 6206/9951/2488 +f 6208/9949/2488 6206/9951/2488 6209/9952/2488 +f 6212/9953/2489 6211/9954/2489 6210/9955/2489 +f 6212/9953/2489 6210/9955/2489 6213/9956/2489 +f 6216/9957/2490 6215/9958/2490 6214/9959/2490 +f 6216/9957/2490 6214/9959/2490 6217/9960/2490 +f 6220/9961/2491 6219/9962/2491 6218/9963/2491 +f 6220/9961/2491 6218/9963/2491 6221/9964/2491 +f 6224/9965/2492 6223/9966/2492 6222/9967/2492 +f 6224/9965/2492 6222/9967/2492 6225/9968/2492 +f 6228/9969/2493 6227/9970/2493 6226/9971/2493 +f 6228/9969/2493 6226/9971/2493 6229/9972/2493 +f 6232/9973/2494 6231/9974/2494 6230/9975/2494 +f 6232/9973/2494 6230/9975/2494 6233/9976/2494 +f 6236/9977/2495 6235/9978/2495 6234/9979/2495 +f 6236/9977/2495 6234/9979/2495 6237/9980/2495 +f 6240/9981/2496 6239/9982/2496 6238/9983/2496 +f 6240/9981/2496 6238/9983/2496 6241/9984/2496 +f 6244/9985/2497 6243/9986/2497 6242/9987/2497 +f 6244/9985/2497 6242/9987/2497 6245/9988/2497 +f 6248/9989/2498 6247/9990/2498 6246/9991/2498 +f 6248/9989/2498 6246/9991/2498 6249/9992/2498 +f 6251/9993/2499 6250/9994/2499 6169/9995/2499 +f 6251/9993/2499 6169/9995/2499 6252/9996/2499 +f 6255/9997/2500 6254/9998/2500 6253/9999/2500 +f 6255/9997/2500 6253/9999/2500 6256/10000/2500 +f 6259/10001/2501 6258/10002/2501 6257/10003/2501 +f 6259/10001/2501 6257/10003/2501 6260/10004/2501 +f 6263/10005/2502 6262/10006/2502 6261/10007/2502 +f 6263/10005/2502 6261/10007/2502 6264/10008/2502 +f 6267/10009/2503 6266/10010/2503 6265/10011/2503 +f 6267/10009/2503 6265/10011/2503 6268/10012/2503 +f 6271/10013/2504 6270/10014/2504 6269/10015/2504 +f 6271/10013/2504 6269/10015/2504 6272/10016/2504 +f 6275/10017/2505 6274/10018/2505 6273/10019/2505 +f 6275/10017/2505 6273/10019/2505 6276/10020/2505 +f 6279/10021/2506 6278/10022/2506 6277/10023/2506 +f 6279/10021/2506 6277/10023/2506 6280/10024/2506 +f 6283/10025/2507 6282/10026/2507 6281/10027/2507 +f 6283/10025/2507 6281/10027/2507 6284/10028/2507 +f 6287/10029/2508 6286/10030/2508 6285/10031/2508 +f 6287/10029/2508 6285/10031/2508 6288/10032/2508 +f 6291/10033/2509 6290/10034/2509 6289/10035/2509 +f 6291/10033/2509 6289/10035/2509 6292/10036/2509 +f 6295/10037/2510 6294/10038/2510 6293/10039/2510 +f 6295/10037/2510 6293/10039/2510 6296/10040/2510 +f 6299/10041/2511 6298/10042/2511 6297/10043/2511 +f 6299/10041/2511 6297/10043/2511 6300/10044/2511 +f 6303/10045/2512 6302/10046/2512 6301/10047/2512 +f 6303/10045/2512 6301/10047/2512 6304/10048/2512 +f 6307/10049/2513 6306/10050/2513 6305/10051/2513 +f 6307/10049/2513 6305/10051/2513 6308/10052/2513 +f 6311/10053/2514 6310/10054/2514 6309/10055/2514 +f 6311/10053/2514 6309/10055/2514 6312/10056/2514 +f 6315/10057/2515 6314/10058/2515 6313/10059/2515 +f 6315/10057/2515 6313/10059/2515 6316/10060/2515 +f 6319/10061/2516 6318/10062/2516 6317/10063/2516 +f 6319/10061/2516 6317/10063/2516 6320/10064/2516 +f 6315/10065/2517 6316/10066/2517 6321/10067/2517 +f 6315/10065/2517 6321/10067/2517 6322/10068/2517 +f 6322/10069/2518 6321/10070/2518 6323/10071/2518 +f 6322/10069/2518 6323/10071/2518 6324/10072/2518 +f 6326/10073/2519 6325/10074/2519 6313/10075/2519 +f 6326/10073/2519 6313/10075/2519 6323/10076/2519 +f 6316/10077/2520 6328/10078/2520 6327/10079/2520 +f 6316/10077/2520 6327/10079/2520 6321/10080/2520 +f 6321/10081/2521 6327/10082/2521 6326/10083/2521 +f 6321/10081/2521 6326/10083/2521 6323/10084/2521 +f 6323/10085/2522 6313/10086/2522 6314/10087/2522 +f 6323/10085/2522 6314/10087/2522 6324/10088/2522 +f 6316/10089/2523 6313/10090/2523 6325/10091/2523 +f 6316/10089/2523 6325/10091/2523 6328/10092/2523 +f 6318/10093/2524 6330/10094/2524 6329/10095/2524 +f 6318/10093/2524 6329/10095/2524 6317/10096/2524 +f 6319/10097/2525 6320/10098/2525 6331/10099/2525 +f 6319/10097/2525 6331/10099/2525 6332/10100/2525 +f 6332/10101/2526 6331/10102/2526 6329/10103/2526 +f 6332/10101/2526 6329/10103/2526 6330/10104/2526 +f 6325/10105/2527 6326/10106/2527 6330/10107/2527 +f 6325/10105/2527 6330/10107/2527 6318/10108/2527 +f 6328/10109/2528 6325/10110/2528 6318/10111/2528 +f 6328/10109/2528 6318/10111/2528 6319/10112/2528 +f 6328/10113/2529 6319/10114/2529 6332/10115/2529 +f 6328/10113/2529 6332/10115/2529 6327/10116/2529 +f 6327/10117/2530 6332/10118/2530 6330/10119/2530 +f 6327/10117/2530 6330/10119/2530 6326/10120/2530 +f 6315/10121/2531 6322/10122/2531 6324/10123/2531 +f 6315/10121/2531 6324/10123/2531 6314/10124/2531 +f 6335/10125/2532 6334/10126/2532 6333/10127/2532 +f 6335/10125/2532 6333/10127/2532 6336/10128/2532 +f 6339/10129/2533 6338/10130/2533 6337/10131/2533 +f 6339/10129/2533 6337/10131/2533 6340/10132/2533 +f 6343/10133/2534 6342/10134/2534 6341/10135/2534 +f 6343/10133/2534 6341/10135/2534 6344/10136/2534 +f 6347/10137/2535 6346/10138/2535 6345/10139/2535 +f 6347/10137/2535 6345/10139/2535 6348/10140/2535 +f 6351/10141/2536 6350/10142/2536 6349/10143/2536 +f 6351/10141/2536 6349/10143/2536 6352/10144/2536 +f 6355/10145/2537 6354/10146/2537 6353/10147/2537 +f 6355/10145/2537 6353/10147/2537 6356/10148/2537 +f 6359/10149/2538 6358/10150/2538 6357/10151/2538 +f 6359/10149/2538 6357/10151/2538 6360/10152/2538 +f 6363/10153/2539 6362/10154/2539 6361/10155/2539 +f 6363/10153/2539 6361/10155/2539 6364/10156/2539 +f 6367/10157/2540 6366/10158/2540 6365/10159/2540 +f 6367/10157/2540 6365/10159/2540 6368/10160/2540 +f 6371/10161/2541 6370/10162/2541 6369/10163/2541 +f 6371/10161/2541 6369/10163/2541 6372/10164/2541 +f 6375/10165/2542 6374/10166/2542 6373/10167/2542 +f 6375/10165/2542 6373/10167/2542 6376/10168/2542 +f 6379/10169/2543 6378/10170/2543 6377/10171/2543 +f 6379/10169/2543 6377/10171/2543 6380/10172/2543 +f 6383/10173/2544 6382/10174/2544 6381/10175/2544 +f 6383/10173/2544 6381/10175/2544 6384/10176/2544 +f 6387/10177/2545 6386/10178/2545 6385/10179/2545 +f 6387/10177/2545 6385/10179/2545 6388/10180/2545 +f 6391/10181/2546 6390/10182/2546 6389/10183/2546 +f 6391/10181/2546 6389/10183/2546 6392/10184/2546 +f 6395/10185/2547 6394/10186/2547 6393/10187/2547 +f 6395/10185/2547 6393/10187/2547 6396/10188/2547 +f 6399/10189/2548 6398/10190/2548 6397/10191/2548 +f 6399/10189/2548 6397/10191/2548 6400/10192/2548 +f 6403/10193/2549 6402/10194/2549 6401/10195/2549 +f 6403/10193/2549 6401/10195/2549 6404/10196/2549 +f 6407/10197/2550 6406/10198/2550 6405/10199/2550 +f 6407/10197/2550 6405/10199/2550 6408/10200/2550 +f 6408/10201/2551 6405/10202/2551 6401/10203/2551 +f 6408/10201/2551 6401/10203/2551 6402/10204/2551 +f 6407/10205/2552 6403/10206/2552 6404/10207/2552 +f 6407/10205/2552 6404/10207/2552 6406/10208/2552 +f 6411/10209/2553 6410/10210/2553 6409/10211/2553 +f 6411/10209/2553 6409/10211/2553 6412/10212/2553 +f 6414/10213/2554 6413/10214/2554 6409/10215/2554 +f 6414/10213/2554 6409/10215/2554 6410/10216/2554 +f 6417/10217/2555 6416/10218/2555 6415/10219/2555 +f 6417/10217/2555 6415/10219/2555 6418/10220/2555 +f 6419/10221/2556 6418/10222/2556 6415/10223/2556 +f 6419/10221/2556 6415/10223/2556 6420/10224/2556 +f 6423/10225/2557 6422/10226/2557 6421/10227/2557 +f 6423/10225/2557 6421/10227/2557 6424/10228/2557 +f 6426/10229/2558 6425/10230/2558 6419/10231/2558 +f 6426/10229/2558 6419/10231/2558 6427/10232/2558 +f 6422/10233/2559 6429/10234/2559 6428/10235/2559 +f 6422/10233/2559 6428/10235/2559 6421/10236/2559 +f 6423/10237/2560 6424/10238/2560 6430/10239/2560 +f 6423/10237/2560 6430/10239/2560 6431/10240/2560 +f 6431/10241/2561 6430/10242/2561 6428/10243/2561 +f 6431/10241/2561 6428/10243/2561 6429/10244/2561 +f 6434/10245/2562 6433/10246/2562 6432/10247/2562 +f 6434/10245/2562 6432/10247/2562 6435/10248/2562 +f 6438/10249/2563 6437/10250/2563 6436/10251/2563 +f 6438/10249/2563 6436/10251/2563 6439/10252/2563 +f 6442/10253/2564 6441/10254/2564 6440/10255/2564 +f 6442/10253/2564 6440/10255/2564 6443/10256/2564 +f 6443/10257/2565 6440/10258/2565 6436/10259/2565 +f 6443/10257/2565 6436/10259/2565 6437/10260/2565 +f 6446/10261/2566 6445/10262/2566 6444/10263/2566 +f 6446/10261/2566 6444/10263/2566 6447/10264/2566 +f 6448/10265/2567 6447/10266/2567 6444/10267/2567 +f 6448/10265/2567 6444/10267/2567 6449/10268/2567 +f 6452/10269/2568 6451/10270/2568 6450/10271/2568 +f 6452/10269/2568 6450/10271/2568 6453/10272/2568 +f 6455/10273/2569 6454/10274/2569 6448/10275/2569 +f 6455/10273/2569 6448/10275/2569 6456/10276/2569 +f 6451/10277/2570 6458/10278/2570 6457/10279/2570 +f 6451/10277/2570 6457/10279/2570 6450/10280/2570 +f 6452/10281/2571 6453/10282/2571 6459/10283/2571 +f 6452/10281/2571 6459/10283/2571 6460/10284/2571 +f 6460/10285/2572 6459/10286/2572 6457/10287/2572 +f 6460/10285/2572 6457/10287/2572 6458/10288/2572 +f 6442/10289/2573 6438/10290/2573 6439/10291/2573 +f 6442/10289/2573 6439/10291/2573 6441/10292/2573 +f 6463/10293/2574 6462/10294/2574 6461/10295/2574 +f 6463/10293/2574 6461/10295/2574 6464/10296/2574 +f 6467/10297/2575 6466/10298/2575 6465/10299/2575 +f 6467/10297/2575 6465/10299/2575 6468/10300/2575 +f 6470/10301/2576 6469/10302/2576 6466/10303/2576 +f 6470/10301/2576 6466/10303/2576 6467/10304/2576 +f 6471/10305/2577 6468/10306/2577 6465/10307/2577 +f 6471/10305/2577 6465/10307/2577 6472/10308/2577 +f 6475/10309/2578 6474/10310/2578 6473/10311/2578 +f 6475/10309/2578 6473/10311/2578 6476/10312/2578 +f 6470/10313/2579 6471/10314/2579 6472/10315/2579 +f 6470/10313/2579 6472/10315/2579 6469/10316/2579 +f 6474/10317/2580 6478/10318/2580 6477/10319/2580 +f 6474/10317/2580 6477/10319/2580 6473/10320/2580 +f 6475/10321/2581 6476/10322/2581 6479/10323/2581 +f 6475/10321/2581 6479/10323/2581 6480/10324/2581 +f 6480/10325/2582 6479/10326/2582 6477/10327/2582 +f 6480/10325/2582 6477/10327/2582 6478/10328/2582 +f 6424/10329/2583 6421/10330/2583 6403/10331/2583 +f 6424/10329/2583 6403/10331/2583 6407/10332/2583 +f 6476/10333/2584 6473/10334/2584 6438/10335/2584 +f 6476/10333/2584 6438/10335/2584 6442/10336/2584 +f 6424/10337/2585 6407/10338/2585 6408/10339/2585 +f 6424/10337/2585 6408/10339/2585 6430/10340/2585 +f 6430/10341/2586 6408/10342/2586 6402/10343/2586 +f 6430/10341/2586 6402/10343/2586 6428/10344/2586 +f 6404/10345/2587 6401/10346/2587 6481/10347/2587 +f 6404/10345/2587 6481/10347/2587 6398/10348/2587 +f 6421/10349/2588 6428/10350/2588 6402/10351/2588 +f 6421/10349/2588 6402/10351/2588 6403/10352/2588 +f 6406/10353/2589 6404/10354/2589 6398/10355/2589 +f 6406/10353/2589 6398/10355/2589 6399/10356/2589 +f 6406/10357/2590 6399/10358/2590 6482/10359/2590 +f 6406/10357/2590 6482/10359/2590 6405/10360/2590 +f 6405/10361/2591 6482/10362/2591 6481/10363/2591 +f 6405/10361/2591 6481/10363/2591 6401/10364/2591 +f 6453/10365/2592 6450/10366/2592 6411/10367/2592 +f 6453/10365/2592 6411/10367/2592 6483/10368/2592 +f 6485/10369/2593 6484/10370/2593 6425/10371/2593 +f 6485/10369/2593 6425/10371/2593 6426/10372/2593 +f 6453/10373/2594 6483/10374/2594 6414/10375/2594 +f 6453/10373/2594 6414/10375/2594 6459/10376/2594 +f 6459/10377/2595 6414/10378/2595 6410/10379/2595 +f 6459/10377/2595 6410/10379/2595 6457/10380/2595 +f 6483/10381/2596 6486/10382/2596 6413/10383/2596 +f 6483/10381/2596 6413/10383/2596 6414/10384/2596 +f 6427/10385/2597 6487/10386/2597 6416/10387/2597 +f 6427/10385/2597 6416/10387/2597 6417/10388/2597 +f 6433/10389/2598 6417/10390/2598 6418/10391/2598 +f 6433/10389/2598 6418/10391/2598 6432/10392/2598 +f 6426/10393/2599 6427/10394/2599 6417/10395/2599 +f 6426/10393/2599 6417/10395/2599 6433/10396/2599 +f 6420/10397/2600 6415/10398/2600 6429/10399/2600 +f 6420/10397/2600 6429/10399/2600 6422/10400/2600 +f 6425/10401/2601 6432/10402/2601 6418/10403/2601 +f 6425/10401/2601 6418/10403/2601 6419/10404/2601 +f 6427/10405/2602 6419/10406/2602 6420/10407/2602 +f 6427/10405/2602 6420/10407/2602 6487/10408/2602 +f 6487/10409/2603 6420/10410/2603 6422/10411/2603 +f 6487/10409/2603 6422/10411/2603 6423/10412/2603 +f 6487/10413/2604 6423/10414/2604 6431/10415/2604 +f 6487/10413/2604 6431/10415/2604 6416/10416/2604 +f 6416/10417/2605 6431/10418/2605 6429/10419/2605 +f 6416/10417/2605 6429/10419/2605 6415/10420/2605 +f 6412/10421/2606 6409/10422/2606 6435/10423/2606 +f 6412/10421/2606 6435/10423/2606 6484/10424/2606 +f 6450/10425/2607 6457/10426/2607 6410/10427/2607 +f 6450/10425/2607 6410/10427/2607 6411/10428/2607 +f 6483/10429/2608 6411/10430/2608 6412/10431/2608 +f 6483/10429/2608 6412/10431/2608 6486/10432/2608 +f 6486/10433/2609 6412/10434/2609 6484/10435/2609 +f 6486/10433/2609 6484/10435/2609 6485/10436/2609 +f 6486/10437/2610 6485/10438/2610 6434/10439/2610 +f 6486/10437/2610 6434/10439/2610 6413/10440/2610 +f 6413/10441/2611 6434/10442/2611 6435/10443/2611 +f 6413/10441/2611 6435/10443/2611 6409/10444/2611 +f 6484/10445/2612 6435/10446/2612 6432/10447/2612 +f 6484/10445/2612 6432/10447/2612 6425/10448/2612 +f 6485/10449/2613 6426/10450/2613 6433/10451/2613 +f 6485/10449/2613 6433/10451/2613 6434/10452/2613 +f 6489/10453/2614 6488/10454/2614 6454/10455/2614 +f 6489/10453/2614 6454/10455/2614 6455/10456/2614 +f 6476/10457/2615 6442/10458/2615 6443/10459/2615 +f 6476/10457/2615 6443/10459/2615 6479/10460/2615 +f 6479/10461/2616 6443/10462/2616 6437/10463/2616 +f 6479/10461/2616 6437/10463/2616 6477/10464/2616 +f 6456/10465/2617 6490/10466/2617 6445/10467/2617 +f 6456/10465/2617 6445/10467/2617 6446/10468/2617 +f 6462/10469/2618 6446/10470/2618 6447/10471/2618 +f 6462/10469/2618 6447/10471/2618 6461/10472/2618 +f 6455/10473/2619 6456/10474/2619 6446/10475/2619 +f 6455/10473/2619 6446/10475/2619 6462/10476/2619 +f 6449/10477/2620 6444/10478/2620 6458/10479/2620 +f 6449/10477/2620 6458/10479/2620 6451/10480/2620 +f 6454/10481/2621 6461/10482/2621 6447/10483/2621 +f 6454/10481/2621 6447/10483/2621 6448/10484/2621 +f 6456/10485/2622 6448/10486/2622 6449/10487/2622 +f 6456/10485/2622 6449/10487/2622 6490/10488/2622 +f 6490/10489/2623 6449/10490/2623 6451/10491/2623 +f 6490/10489/2623 6451/10491/2623 6452/10492/2623 +f 6490/10493/2624 6452/10494/2624 6460/10495/2624 +f 6490/10493/2624 6460/10495/2624 6445/10496/2624 +f 6445/10497/2625 6460/10498/2625 6458/10499/2625 +f 6445/10497/2625 6458/10499/2625 6444/10500/2625 +f 6439/10501/2626 6436/10502/2626 6464/10503/2626 +f 6439/10501/2626 6464/10503/2626 6488/10504/2626 +f 6473/10505/2627 6477/10506/2627 6437/10507/2627 +f 6473/10505/2627 6437/10507/2627 6438/10508/2627 +f 6441/10509/2628 6439/10510/2628 6488/10511/2628 +f 6441/10509/2628 6488/10511/2628 6489/10512/2628 +f 6441/10513/2629 6489/10514/2629 6463/10515/2629 +f 6441/10513/2629 6463/10515/2629 6440/10516/2629 +f 6440/10517/2630 6463/10518/2630 6464/10519/2630 +f 6440/10517/2630 6464/10519/2630 6436/10520/2630 +f 6488/10521/2631 6464/10522/2631 6461/10523/2631 +f 6488/10521/2631 6461/10523/2631 6454/10524/2631 +f 6489/10525/2632 6455/10526/2632 6462/10527/2632 +f 6489/10525/2632 6462/10527/2632 6463/10528/2632 +f 6491/10529/2633 6467/10530/2633 6468/10531/2633 +f 6491/10529/2633 6468/10531/2633 6492/10532/2633 +f 6493/10533/2634 6470/10534/2634 6467/10535/2634 +f 6493/10533/2634 6467/10535/2634 6491/10536/2634 +f 6493/10537/2635 6494/10538/2635 6471/10539/2635 +f 6493/10537/2635 6471/10539/2635 6470/10540/2635 +f 6472/10541/2636 6465/10542/2636 6478/10543/2636 +f 6472/10541/2636 6478/10543/2636 6474/10544/2636 +f 6494/10545/2637 6492/10546/2637 6468/10547/2637 +f 6494/10545/2637 6468/10547/2637 6471/10548/2637 +f 6469/10549/2638 6472/10550/2638 6474/10551/2638 +f 6469/10549/2638 6474/10551/2638 6475/10552/2638 +f 6469/10553/2639 6475/10554/2639 6480/10555/2639 +f 6469/10553/2639 6480/10555/2639 6466/10556/2639 +f 6466/10557/2640 6480/10558/2640 6478/10559/2640 +f 6466/10557/2640 6478/10559/2640 6465/10560/2640 +f 6496/10561/2641 6495/10562/2641 6494/10563/2641 +f 6496/10561/2641 6494/10563/2641 6493/10564/2641 +f 6495/10565/2642 6497/10566/2642 6492/10567/2642 +f 6495/10565/2642 6492/10567/2642 6494/10568/2642 +f 6496/10569/2643 6493/10570/2643 6491/10571/2643 +f 6496/10569/2643 6491/10571/2643 6498/10572/2643 +f 6498/10573/2644 6491/10574/2644 6492/10575/2644 +f 6498/10573/2644 6492/10575/2644 6497/10576/2644 +f 6499/10577/2645 6400/10578/2645 6397/10579/2645 +f 6499/10577/2645 6397/10579/2645 6500/10580/2645 +f 6500/10581/2646 6397/10582/2646 6398/10583/2646 +f 6500/10581/2646 6398/10583/2646 6481/10584/2646 +f 6399/10585/2647 6400/10586/2647 6499/10587/2647 +f 6399/10585/2647 6499/10587/2647 6482/10588/2647 +f 6482/10589/2648 6499/10590/2648 6500/10591/2648 +f 6482/10589/2648 6500/10591/2648 6481/10592/2648 +f 6503/10593/2649 6502/10594/2649 6501/10595/2649 +f 6503/10593/2649 6501/10595/2649 6504/10596/2649 +f 6505/10597/2650 6504/10598/2650 6501/10599/2650 +f 6505/10597/2650 6501/10599/2650 6506/10600/2650 +f 6509/10601/2651 6508/10602/2651 6507/10603/2651 +f 6509/10601/2651 6507/10603/2651 6510/10604/2651 +f 6508/10605/2652 6512/10606/2652 6511/10607/2652 +f 6508/10605/2652 6511/10607/2652 6507/10608/2652 +f 6509/10609/2653 6510/10610/2653 6513/10611/2653 +f 6509/10609/2653 6513/10611/2653 6514/10612/2653 +f 6514/10613/2654 6513/10614/2654 6511/10615/2654 +f 6514/10613/2654 6511/10615/2654 6512/10616/2654 +f 6516/10617/2655 6515/10618/2655 6502/10619/2655 +f 6516/10617/2655 6502/10619/2655 6503/10620/2655 +f 6517/10621/2656 6503/10622/2656 6504/10623/2656 +f 6517/10621/2656 6504/10623/2656 6518/10624/2656 +f 6519/10625/2657 6516/10626/2657 6503/10627/2657 +f 6519/10625/2657 6503/10627/2657 6517/10628/2657 +f 6519/10629/2658 6520/10630/2658 6505/10631/2658 +f 6519/10629/2658 6505/10631/2658 6516/10632/2658 +f 6506/10633/2659 6501/10634/2659 6512/10635/2659 +f 6506/10633/2659 6512/10635/2659 6508/10636/2659 +f 6520/10637/2660 6518/10638/2660 6504/10639/2660 +f 6520/10637/2660 6504/10639/2660 6505/10640/2660 +f 6516/10641/2661 6505/10642/2661 6506/10643/2661 +f 6516/10641/2661 6506/10643/2661 6515/10644/2661 +f 6515/10645/2662 6506/10646/2662 6508/10647/2662 +f 6515/10645/2662 6508/10647/2662 6509/10648/2662 +f 6515/10649/2663 6509/10650/2663 6514/10651/2663 +f 6515/10649/2663 6514/10651/2663 6502/10652/2663 +f 6512/10653/2664 6501/10654/2664 6502/10655/2664 +f 6512/10653/2664 6502/10655/2664 6514/10656/2664 +f 6522/10657/2665 6521/10658/2665 6520/10659/2665 +f 6522/10657/2665 6520/10659/2665 6519/10660/2665 +f 6521/10661/2666 6523/10662/2666 6518/10663/2666 +f 6521/10661/2666 6518/10663/2666 6520/10664/2666 +f 6522/10665/2667 6519/10666/2667 6517/10667/2667 +f 6522/10665/2667 6517/10667/2667 6524/10668/2667 +f 6524/10669/2668 6517/10670/2668 6518/10671/2668 +f 6524/10669/2668 6518/10671/2668 6523/10672/2668 +f 6507/10673/2669 6511/10674/2669 6513/10675/2669 +f 6507/10673/2669 6513/10675/2669 6510/10676/2669 +f 6528/10677/2670 6527/10678/2670 6526/10679/2670 +f 6528/10677/2670 6526/10679/2670 6529/10680/2670 +f 6532/10681/2671 6531/10682/2671 6530/10683/2671 +f 6532/10681/2671 6530/10683/2671 6533/10684/2671 +f 6536/10685/2672 6535/10686/2672 6534/10687/2672 +f 6536/10685/2672 6534/10687/2672 6537/10688/2672 +f 6540/10689/2673 6539/10690/2673 6538/10691/2673 +f 6540/10689/2673 6538/10691/2673 6541/10692/2673 +f 6544/10693/2674 6543/10694/2674 6542/10695/2674 +f 6544/10693/2674 6542/10695/2674 6545/10696/2674 +f 6548/10697/2675 6547/10698/2675 6546/10699/2675 +f 6548/10697/2675 6546/10699/2675 6549/10700/2675 +f 6552/10701/2676 6551/10702/2676 6550/10703/2676 +f 6552/10701/2676 6550/10703/2676 6553/10704/2676 +f 6556/10705/2677 6555/10706/2677 6554/10707/2677 +f 6556/10705/2677 6554/10707/2677 6557/10708/2677 +f 6560/10709/2678 6559/10710/2678 6558/10711/2678 +f 6560/10709/2678 6558/10711/2678 6561/10712/2678 +f 6564/10713/2679 6563/10714/2679 6562/10715/2679 +f 6564/10713/2679 6562/10715/2679 6565/10716/2679 +f 6568/10717/2680 6567/10718/2680 6566/10719/2680 +f 6568/10717/2680 6566/10719/2680 6569/10720/2680 +f 6572/10721/2681 6571/10722/2681 6570/10723/2681 +f 6572/10721/2681 6570/10723/2681 6573/10724/2681 +f 6576/10725/2682 6575/10726/2682 6574/10727/2682 +f 6576/10725/2682 6574/10727/2682 6577/10728/2682 +f 6580/10729/2683 6579/10730/2683 6578/10731/2683 +f 6580/10729/2683 6578/10731/2683 6581/10732/2683 +f 6584/10733/2684 6583/10734/2684 6582/10735/2684 +f 6584/10733/2684 6582/10735/2684 6585/10736/2684 +f 6588/10737/2685 6587/10738/2685 6586/10739/2685 +f 6588/10737/2685 6586/10739/2685 6589/10740/2685 +f 6592/10741/2686 6591/10742/2686 6590/10743/2686 +f 6592/10741/2686 6590/10743/2686 6593/10744/2686 +f 6596/10745/2687 6595/10746/2687 6594/10747/2687 +f 6596/10745/2687 6594/10747/2687 6597/10748/2687 +f 6600/10749/2688 6599/10750/2688 6598/10751/2688 +f 6600/10749/2688 6598/10751/2688 6601/10752/2688 +f 6604/10753/2689 6603/10754/2689 6602/10755/2689 +f 6604/10753/2689 6602/10755/2689 6605/10756/2689 +f 6608/10757/2690 6607/10758/2690 6606/10759/2690 +f 6608/10757/2690 6606/10759/2690 6609/10760/2690 +f 6612/10761/2691 6611/10762/2691 6610/10763/2691 +f 6612/10761/2691 6610/10763/2691 6613/10764/2691 +f 6616/10765/2692 6615/10766/2692 6614/10767/2692 +f 6616/10765/2692 6614/10767/2692 6617/10768/2692 +f 6620/10769/2693 6619/10770/2693 6618/10771/2693 +f 6620/10769/2693 6618/10771/2693 6621/10772/2693 +f 6624/10773/2694 6623/10774/2694 6622/10775/2694 +f 6624/10773/2694 6622/10775/2694 6625/10776/2694 +f 6628/10777/2695 6627/10778/2695 6626/10779/2695 +f 6628/10777/2695 6626/10779/2695 6629/10780/2695 +f 6632/10781/2696 6631/10782/2696 6630/10783/2696 +f 6632/10781/2696 6630/10783/2696 6633/10784/2696 +f 6636/10785/2697 6635/10786/2697 6634/10787/2697 +f 6636/10785/2697 6634/10787/2697 6637/10788/2697 +f 6640/10789/2698 6639/10790/2698 6638/10791/2698 +f 6640/10789/2698 6638/10791/2698 6641/10792/2698 +f 6644/10793/2699 6643/10794/2699 6642/10795/2699 +f 6644/10793/2699 6642/10795/2699 6645/10796/2699 +f 6648/10797/2700 6647/10798/2700 6646/10799/2700 +f 6648/10797/2700 6646/10799/2700 6649/10800/2700 +f 6652/10801/2701 6651/10802/2701 6650/10803/2701 +f 6652/10801/2701 6650/10803/2701 6653/10804/2701 +f 6656/10805/2702 6655/10806/2702 6654/10807/2702 +f 6656/10805/2702 6654/10807/2702 6657/10808/2702 +f 6660/10809/2703 6659/10810/2703 6658/10811/2703 +f 6660/10809/2703 6658/10811/2703 6661/10812/2703 +f 6664/10813/2704 6663/10814/2704 6662/10815/2704 +f 6664/10813/2704 6662/10815/2704 6665/10816/2704 +f 6668/10817/2705 6667/10818/2705 6666/10819/2705 +f 6668/10817/2705 6666/10819/2705 6669/10820/2705 +f 6672/10821/2706 6671/10822/2706 6670/10823/2706 +f 6672/10821/2706 6670/10823/2706 6673/10824/2706 +f 6676/10825/2707 6675/10826/2707 6674/10827/2707 +f 6676/10825/2707 6674/10827/2707 6677/10828/2707 +f 6680/10829/2708 6679/10830/2708 6678/10831/2708 +f 6680/10829/2708 6678/10831/2708 6681/10832/2708 +f 6684/10833/2709 6683/10834/2709 6682/10835/2709 +f 6684/10833/2709 6682/10835/2709 6685/10836/2709 +f 6688/10837/2710 6687/10838/2710 6686/10839/2710 +f 6688/10837/2710 6686/10839/2710 6689/10840/2710 +f 6692/10841/2711 6691/10842/2711 6690/10843/2711 +f 6692/10841/2711 6690/10843/2711 6693/10844/2711 +f 6696/10845/2712 6695/10846/2712 6694/10847/2712 +f 6696/10845/2712 6694/10847/2712 6697/10848/2712 +f 6700/10849/2713 6699/10850/2713 6698/10851/2713 +f 6700/10849/2713 6698/10851/2713 6701/10852/2713 +f 6704/10853/2714 6703/10854/2714 6702/10855/2714 +f 6704/10853/2714 6702/10855/2714 6705/10856/2714 +f 6708/10857/2715 6707/10858/2715 6706/10859/2715 +f 6708/10857/2715 6706/10859/2715 6709/10860/2715 +f 6712/10861/2716 6711/10862/2716 6710/10863/2716 +f 6712/10861/2716 6710/10863/2716 6713/10864/2716 +f 6716/10865/2717 6715/10866/2717 6714/10867/2717 +f 6716/10865/2717 6714/10867/2717 6717/10868/2717 +f 6720/10869/2718 6719/10870/2718 6718/10871/2718 +f 6720/10869/2718 6718/10871/2718 6721/10872/2718 +f 6724/10873/2719 6723/10874/2719 6722/10875/2719 +f 6724/10873/2719 6722/10875/2719 6725/10876/2719 +f 6728/10877/2720 6727/10878/2720 6726/10879/2720 +f 6728/10877/2720 6726/10879/2720 6729/10880/2720 +f 6732/10881/2721 6731/10882/2721 6730/10883/2721 +f 6732/10881/2721 6730/10883/2721 6733/10884/2721 +f 6736/10885/2722 6735/10886/2722 6734/10887/2722 +f 6736/10885/2722 6734/10887/2722 6737/10888/2722 +f 6740/10889/2723 6739/10890/2723 6738/10891/2723 +f 6740/10889/2723 6738/10891/2723 6741/10892/2723 +f 6744/10893/2724 6743/10894/2724 6742/10895/2724 +f 6744/10893/2724 6742/10895/2724 6745/10896/2724 +f 6748/10897/2725 6747/10898/2725 6746/10899/2725 +f 6748/10897/2725 6746/10899/2725 6749/10900/2725 +f 6752/10901/2726 6751/10902/2726 6750/10903/2726 +f 6752/10901/2726 6750/10903/2726 6753/10904/2726 +f 6756/10905/2727 6755/10906/2727 6754/10907/2727 +f 6756/10905/2727 6754/10907/2727 6757/10908/2727 +f 6760/10909/2728 6759/10910/2728 6758/10911/2728 +f 6760/10909/2728 6758/10911/2728 6761/10912/2728 +f 6764/10913/2729 6763/10914/2729 6762/10915/2729 +f 6764/10913/2729 6762/10915/2729 6765/10916/2729 +f 6768/10917/2730 6767/10918/2730 6766/10919/2730 +f 6768/10917/2730 6766/10919/2730 6769/10920/2730 +f 6772/10921/2731 6771/10922/2731 6770/10923/2731 +f 6772/10921/2731 6770/10923/2731 6773/10924/2731 +f 6776/10925/2732 6775/10926/2732 6774/10927/2732 +f 6776/10925/2732 6774/10927/2732 6777/10928/2732 +f 6780/10929/2733 6779/10930/2733 6778/10931/2733 +f 6780/10929/2733 6778/10931/2733 6781/10932/2733 +f 6784/10933/2734 6783/10934/2734 6782/10935/2734 +f 6784/10933/2734 6782/10935/2734 6785/10936/2734 +f 6788/10937/2735 6787/10938/2735 6786/10939/2735 +f 6788/10937/2735 6786/10939/2735 6789/10940/2735 +f 6792/10941/2736 6791/10942/2736 6790/10943/2736 +f 6792/10941/2736 6790/10943/2736 6793/10944/2736 +f 6796/10945/2737 6795/10946/2737 6794/10947/2737 +f 6796/10945/2737 6794/10947/2737 6797/10948/2737 +f 6800/10949/2738 6799/10950/2738 6798/10951/2738 +f 6800/10949/2738 6798/10951/2738 6801/10952/2738 +f 6804/10953/2739 6803/10954/2739 6802/10955/2739 +f 6804/10953/2739 6802/10955/2739 6805/10956/2739 +f 6808/10957/2740 6807/10958/2740 6806/10959/2740 +f 6808/10957/2740 6806/10959/2740 6809/10960/2740 +f 6812/10961/2741 6811/10962/2741 6810/10963/2741 +f 6812/10961/2741 6810/10963/2741 6813/10964/2741 +f 6816/10965/2742 6815/10966/2742 6814/10967/2742 +f 6816/10965/2742 6814/10967/2742 6817/10968/2742 +f 6820/10969/2743 6819/10970/2743 6818/10971/2743 +f 6820/10969/2743 6818/10971/2743 6821/10972/2743 +f 6824/10973/2744 6823/10974/2744 6822/10975/2744 +f 6824/10973/2744 6822/10975/2744 6825/10976/2744 +f 6828/10977/2745 6827/10978/2745 6826/10979/2745 +f 6828/10977/2745 6826/10979/2745 6829/10980/2745 +f 6832/10981/2746 6831/10982/2746 6830/10983/2746 +f 6832/10981/2746 6830/10983/2746 6833/10984/2746 +f 6836/10985/2747 6835/10986/2747 6834/10987/2747 +f 6836/10985/2747 6834/10987/2747 6837/10988/2747 +f 6840/10989/2748 6839/10990/2748 6838/10991/2748 +f 6840/10989/2748 6838/10991/2748 6841/10992/2748 +f 6844/10993/2749 6843/10994/2749 6842/10995/2749 +f 6844/10993/2749 6842/10995/2749 6845/10996/2749 +f 6847/10997/2750 6846/10998/2750 6525/10999/2750 +f 6847/10997/2750 6525/10999/2750 6848/11000/2750 +f 6851/11001/2751 6850/11002/2751 6849/11003/2751 +f 6851/11001/2751 6849/11003/2751 6852/11004/2751 +f 6855/11005/2752 6854/11006/2752 6853/11007/2752 +f 6855/11005/2752 6853/11007/2752 6856/11008/2752 +f 6859/11009/2753 6858/11010/2753 6857/11011/2753 +f 6859/11009/2753 6857/11011/2753 6860/11012/2753 +f 6863/11013/2754 6862/11014/2754 6861/11015/2754 +f 6863/11013/2754 6861/11015/2754 6864/11016/2754 +f 6867/11017/2755 6866/11018/2755 6865/11019/2755 +f 6867/11017/2755 6865/11019/2755 6868/11020/2755 +f 6871/11021/2756 6870/11022/2756 6869/11023/2756 +f 6871/11021/2756 6869/11023/2756 6872/11024/2756 +f 6875/11025/2757 6874/11026/2757 6873/11027/2757 +f 6875/11025/2757 6873/11027/2757 6876/11028/2757 +f 6879/11029/2758 6878/11030/2758 6877/11031/2758 +f 6879/11029/2758 6877/11031/2758 6880/11032/2758 +f 6883/11033/2759 6882/11034/2759 6881/11035/2759 +f 6883/11033/2759 6881/11035/2759 6884/11036/2759 +f 6887/11037/2760 6886/11038/2760 6885/11039/2760 +f 6887/11037/2760 6885/11039/2760 6888/11040/2760 +f 6891/11041/2761 6890/11042/2761 6889/11043/2761 +f 6891/11041/2761 6889/11043/2761 6892/11044/2761 +f 6895/11045/2762 6894/11046/2762 6893/11047/2762 +f 6895/11045/2762 6893/11047/2762 6896/11048/2762 +f 6899/11049/2763 6898/11050/2763 6897/11051/2763 +f 6899/11049/2763 6897/11051/2763 6900/11052/2763 +f 6903/11053/2764 6902/11054/2764 6901/11055/2764 +f 6903/11053/2764 6901/11055/2764 6904/11056/2764 +f 6907/11057/2765 6906/11058/2765 6905/11059/2765 +f 6907/11057/2765 6905/11059/2765 6908/11060/2765 +f 6911/11061/2766 6910/11062/2766 6909/11063/2766 +f 6911/11061/2766 6909/11063/2766 6912/11064/2766 +f 6915/11065/2767 6914/11066/2767 6913/11067/2767 +f 6915/11065/2767 6913/11067/2767 6916/11068/2767 +f 6919/11069/2768 6918/11070/2768 6917/11071/2768 +f 6919/11069/2768 6917/11071/2768 6920/11072/2768 +f 6923/11073/2769 6922/11074/2769 6921/11075/2769 +f 6923/11073/2769 6921/11075/2769 6924/11076/2769 +f 6927/11077/2770 6926/11078/2770 6925/11079/2770 +f 6927/11077/2770 6925/11079/2770 6928/11080/2770 +f 6931/11081/2771 6930/11082/2771 6929/11083/2771 +f 6931/11081/2771 6929/11083/2771 6932/11084/2771 +f 6935/11085/2772 6934/11086/2772 6933/11087/2772 +f 6935/11085/2772 6933/11087/2772 6936/11088/2772 +f 6939/11089/2773 6938/11090/2773 6937/11091/2773 +f 6939/11089/2773 6937/11091/2773 6940/11092/2773 +f 6943/11093/2774 6942/11094/2774 6941/11095/2774 +f 6943/11093/2774 6941/11095/2774 6944/11096/2774 +f 6947/11097/2775 6946/11098/2775 6945/11099/2775 +f 6947/11097/2775 6945/11099/2775 6948/11100/2775 +f 6951/11101/2776 6950/11102/2776 6949/11103/2776 +f 6951/11101/2776 6949/11103/2776 6952/11104/2776 +f 6955/11105/2777 6954/11106/2777 6953/11107/2777 +f 6955/11105/2777 6953/11107/2777 6956/11108/2777 +f 6959/11109/2778 6958/11110/2778 6957/11111/2778 +f 6959/11109/2778 6957/11111/2778 6960/11112/2778 +f 6963/11113/2779 6962/11114/2779 6961/11115/2779 +f 6963/11113/2779 6961/11115/2779 6964/11116/2779 +f 6967/11117/2780 6966/11118/2780 6965/11119/2780 +f 6967/11117/2780 6965/11119/2780 6968/11120/2780 +f 6971/11121/2781 6970/11122/2781 6969/11123/2781 +f 6971/11121/2781 6969/11123/2781 6972/11124/2781 +f 6975/11125/2782 6974/11126/2782 6973/11127/2782 +f 6975/11125/2782 6973/11127/2782 6976/11128/2782 +f 6979/11129/2783 6978/11130/2783 6977/11131/2783 +f 6979/11129/2783 6977/11131/2783 6980/11132/2783 +f 6983/11133/2784 6982/11134/2784 6981/11135/2784 +f 6983/11133/2784 6981/11135/2784 6984/11136/2784 +f 6987/11137/2785 6986/11138/2785 6985/11139/2785 +f 6987/11137/2785 6985/11139/2785 6988/11140/2785 +f 6991/11141/2786 6990/11142/2786 6989/11143/2786 +f 6991/11141/2786 6989/11143/2786 6992/11144/2786 +f 6995/11145/2787 6994/11146/2787 6993/11147/2787 +f 6995/11145/2787 6993/11147/2787 6996/11148/2787 +f 6999/11149/2788 6998/11150/2788 6997/11151/2788 +f 6999/11149/2788 6997/11151/2788 7000/11152/2788 +f 7003/11153/2789 7002/11154/2789 7001/11155/2789 +f 7003/11153/2789 7001/11155/2789 7004/11156/2789 +f 7007/11157/2790 7006/11158/2790 7005/11159/2790 +f 7007/11157/2790 7005/11159/2790 7008/11160/2790 +f 7011/11161/2791 7010/11162/2791 7009/11163/2791 +f 7011/11161/2791 7009/11163/2791 7012/11164/2791 +f 7007/11165/2792 7008/11166/2792 7013/11167/2792 +f 7007/11165/2792 7013/11167/2792 7014/11168/2792 +f 7014/11169/2793 7013/11170/2793 7015/11171/2793 +f 7014/11169/2793 7015/11171/2793 7016/11172/2793 +f 7018/11173/2794 7017/11174/2794 7005/11175/2794 +f 7018/11173/2794 7005/11175/2794 7015/11176/2794 +f 7008/11177/2795 7020/11178/2795 7019/11179/2795 +f 7008/11177/2795 7019/11179/2795 7013/11180/2795 +f 7013/11181/2796 7019/11182/2796 7018/11183/2796 +f 7013/11181/2796 7018/11183/2796 7015/11184/2796 +f 7015/11185/2797 7005/11186/2797 7006/11187/2797 +f 7015/11185/2797 7006/11187/2797 7016/11188/2797 +f 7008/11189/2798 7005/11190/2798 7017/11191/2798 +f 7008/11189/2798 7017/11191/2798 7020/11192/2798 +f 7010/11193/2799 7022/11194/2799 7021/11195/2799 +f 7010/11193/2799 7021/11195/2799 7009/11196/2799 +f 7011/11197/2800 7012/11198/2800 7023/11199/2800 +f 7011/11197/2800 7023/11199/2800 7024/11200/2800 +f 7024/11201/2801 7023/11202/2801 7021/11203/2801 +f 7024/11201/2801 7021/11203/2801 7022/11204/2801 +f 7017/11205/2802 7018/11206/2802 7022/11207/2802 +f 7017/11205/2802 7022/11207/2802 7010/11208/2802 +f 7020/11209/2803 7017/11210/2803 7010/11211/2803 +f 7020/11209/2803 7010/11211/2803 7011/11212/2803 +f 7020/11213/2804 7011/11214/2804 7024/11215/2804 +f 7020/11213/2804 7024/11215/2804 7019/11216/2804 +f 7019/11217/2805 7024/11218/2805 7022/11219/2805 +f 7019/11217/2805 7022/11219/2805 7018/11220/2805 +f 7007/11221/2806 7014/11222/2806 7016/11223/2806 +f 7007/11221/2806 7016/11223/2806 7006/11224/2806 +f 7027/11225/2807 7026/11226/2807 7025/11227/2807 +f 7027/11225/2807 7025/11227/2807 7028/11228/2807 +f 7031/11229/2808 7030/11230/2808 7029/11231/2808 +f 7031/11229/2808 7029/11231/2808 7032/11232/2808 +f 7035/11233/2809 7034/11234/2809 7033/11235/2809 +f 7035/11233/2809 7033/11235/2809 7036/11236/2809 +f 7039/11237/2810 7038/11238/2810 7037/11239/2810 +f 7039/11237/2810 7037/11239/2810 7040/11240/2810 +f 7043/11241/2811 7042/11242/2811 7041/11243/2811 +f 7043/11241/2811 7041/11243/2811 7044/11244/2811 +f 7047/11245/2812 7046/11246/2812 7045/11247/2812 +f 7047/11245/2812 7045/11247/2812 7048/11248/2812 +f 7051/11249/2813 7050/11250/2813 7049/11251/2813 +f 7051/11249/2813 7049/11251/2813 7052/11252/2813 +f 7055/11253/2814 7054/11254/2814 7053/11255/2814 +f 7055/11253/2814 7053/11255/2814 7056/11256/2814 +f 7059/11257/2815 7058/11258/2815 7057/11259/2815 +f 7059/11257/2815 7057/11259/2815 7060/11260/2815 +f 7063/11261/2816 7062/11262/2816 7061/11263/2816 +f 7063/11261/2816 7061/11263/2816 7064/11264/2816 +f 7067/11265/2817 7066/11266/2817 7065/11267/2817 +f 7067/11265/2817 7065/11267/2817 7068/11268/2817 +f 7071/11269/2818 7070/11270/2818 7069/11271/2818 +f 7071/11269/2818 7069/11271/2818 7072/11272/2818 +f 7075/11273/2819 7074/11274/2819 7073/11275/2819 +f 7075/11273/2819 7073/11275/2819 7076/11276/2819 +f 7079/11277/2820 7078/11278/2820 7077/11279/2820 +f 7079/11277/2820 7077/11279/2820 7080/11280/2820 +f 7083/11281/2821 7082/11282/2821 7081/11283/2821 +f 7083/11281/2821 7081/11283/2821 7084/11284/2821 +f 7087/11285/2822 7086/11286/2822 7085/11287/2822 +f 7087/11285/2822 7085/11287/2822 7088/11288/2822 +f 7091/11289/2823 7090/11290/2823 7089/11291/2823 +f 7091/11289/2823 7089/11291/2823 7092/11292/2823 +f 7095/11293/2824 7094/11294/2824 7093/11295/2824 +f 7095/11293/2824 7093/11295/2824 7096/11296/2824 +f 7099/11297/2825 7098/11298/2825 7097/11299/2825 +f 7099/11297/2825 7097/11299/2825 7100/11300/2825 +f 7100/11301/2826 7097/11302/2826 7093/11303/2826 +f 7100/11301/2826 7093/11303/2826 7094/11304/2826 +f 7099/11305/2827 7095/11306/2827 7096/11307/2827 +f 7099/11305/2827 7096/11307/2827 7098/11308/2827 +f 7103/11309/2828 7102/11310/2828 7101/11311/2828 +f 7103/11309/2828 7101/11311/2828 7104/11312/2828 +f 7106/11313/2829 7105/11314/2829 7101/11315/2829 +f 7106/11313/2829 7101/11315/2829 7102/11316/2829 +f 7109/11317/2830 7108/11318/2830 7107/11319/2830 +f 7109/11317/2830 7107/11319/2830 7110/11320/2830 +f 7111/11321/2831 7110/11322/2831 7107/11323/2831 +f 7111/11321/2831 7107/11323/2831 7112/11324/2831 +f 7115/11325/2832 7114/11326/2832 7113/11327/2832 +f 7115/11325/2832 7113/11327/2832 7116/11328/2832 +f 7118/11329/2833 7117/11330/2833 7111/11331/2833 +f 7118/11329/2833 7111/11331/2833 7119/11332/2833 +f 7114/11333/2834 7121/11334/2834 7120/11335/2834 +f 7114/11333/2834 7120/11335/2834 7113/11336/2834 +f 7115/11337/2835 7116/11338/2835 7122/11339/2835 +f 7115/11337/2835 7122/11339/2835 7123/11340/2835 +f 7123/11341/2836 7122/11342/2836 7120/11343/2836 +f 7123/11341/2836 7120/11343/2836 7121/11344/2836 +f 7126/11345/2837 7125/11346/2837 7124/11347/2837 +f 7126/11345/2837 7124/11347/2837 7127/11348/2837 +f 7130/11349/2838 7129/11350/2838 7128/11351/2838 +f 7130/11349/2838 7128/11351/2838 7131/11352/2838 +f 7134/11353/2839 7133/11354/2839 7132/11355/2839 +f 7134/11353/2839 7132/11355/2839 7135/11356/2839 +f 7135/11357/2840 7132/11358/2840 7128/11359/2840 +f 7135/11357/2840 7128/11359/2840 7129/11360/2840 +f 7138/11361/2841 7137/11362/2841 7136/11363/2841 +f 7138/11361/2841 7136/11363/2841 7139/11364/2841 +f 7140/11365/2842 7139/11366/2842 7136/11367/2842 +f 7140/11365/2842 7136/11367/2842 7141/11368/2842 +f 7144/11369/2843 7143/11370/2843 7142/11371/2843 +f 7144/11369/2843 7142/11371/2843 7145/11372/2843 +f 7147/11373/2844 7146/11374/2844 7140/11375/2844 +f 7147/11373/2844 7140/11375/2844 7148/11376/2844 +f 7143/11377/2845 7150/11378/2845 7149/11379/2845 +f 7143/11377/2845 7149/11379/2845 7142/11380/2845 +f 7144/11381/2846 7145/11382/2846 7151/11383/2846 +f 7144/11381/2846 7151/11383/2846 7152/11384/2846 +f 7152/11385/2847 7151/11386/2847 7149/11387/2847 +f 7152/11385/2847 7149/11387/2847 7150/11388/2847 +f 7134/11389/2848 7130/11390/2848 7131/11391/2848 +f 7134/11389/2848 7131/11391/2848 7133/11392/2848 +f 7155/11393/2849 7154/11394/2849 7153/11395/2849 +f 7155/11393/2849 7153/11395/2849 7156/11396/2849 +f 7159/11397/2850 7158/11398/2850 7157/11399/2850 +f 7159/11397/2850 7157/11399/2850 7160/11400/2850 +f 7162/11401/2851 7161/11402/2851 7158/11403/2851 +f 7162/11401/2851 7158/11403/2851 7159/11404/2851 +f 7163/11405/2852 7160/11406/2852 7157/11407/2852 +f 7163/11405/2852 7157/11407/2852 7164/11408/2852 +f 7167/11409/2853 7166/11410/2853 7165/11411/2853 +f 7167/11409/2853 7165/11411/2853 7168/11412/2853 +f 7162/11413/2854 7163/11414/2854 7164/11415/2854 +f 7162/11413/2854 7164/11415/2854 7161/11416/2854 +f 7166/11417/2855 7170/11418/2855 7169/11419/2855 +f 7166/11417/2855 7169/11419/2855 7165/11420/2855 +f 7167/11421/2856 7168/11422/2856 7171/11423/2856 +f 7167/11421/2856 7171/11423/2856 7172/11424/2856 +f 7172/11425/2857 7171/11426/2857 7169/11427/2857 +f 7172/11425/2857 7169/11427/2857 7170/11428/2857 +f 7116/11429/2858 7113/11430/2858 7095/11431/2858 +f 7116/11429/2858 7095/11431/2858 7099/11432/2858 +f 7168/11433/2859 7165/11434/2859 7130/11435/2859 +f 7168/11433/2859 7130/11435/2859 7134/11436/2859 +f 7116/11437/2860 7099/11438/2860 7100/11439/2860 +f 7116/11437/2860 7100/11439/2860 7122/11440/2860 +f 7122/11441/2861 7100/11442/2861 7094/11443/2861 +f 7122/11441/2861 7094/11443/2861 7120/11444/2861 +f 7096/11445/2862 7093/11446/2862 7173/11447/2862 +f 7096/11445/2862 7173/11447/2862 7090/11448/2862 +f 7113/11449/2863 7120/11450/2863 7094/11451/2863 +f 7113/11449/2863 7094/11451/2863 7095/11452/2863 +f 7098/11453/2864 7096/11454/2864 7090/11455/2864 +f 7098/11453/2864 7090/11455/2864 7091/11456/2864 +f 7098/11457/2865 7091/11458/2865 7174/11459/2865 +f 7098/11457/2865 7174/11459/2865 7097/11460/2865 +f 7097/11461/2866 7174/11462/2866 7173/11463/2866 +f 7097/11461/2866 7173/11463/2866 7093/11464/2866 +f 7145/11465/2867 7142/11466/2867 7103/11467/2867 +f 7145/11465/2867 7103/11467/2867 7175/11468/2867 +f 7177/11469/2868 7176/11470/2868 7117/11471/2868 +f 7177/11469/2868 7117/11471/2868 7118/11472/2868 +f 7145/11473/2869 7175/11474/2869 7106/11475/2869 +f 7145/11473/2869 7106/11475/2869 7151/11476/2869 +f 7151/11477/2870 7106/11478/2870 7102/11479/2870 +f 7151/11477/2870 7102/11479/2870 7149/11480/2870 +f 7175/11481/2871 7178/11482/2871 7105/11483/2871 +f 7175/11481/2871 7105/11483/2871 7106/11484/2871 +f 7119/11485/2872 7179/11486/2872 7108/11487/2872 +f 7119/11485/2872 7108/11487/2872 7109/11488/2872 +f 7125/11489/2873 7109/11490/2873 7110/11491/2873 +f 7125/11489/2873 7110/11491/2873 7124/11492/2873 +f 7118/11493/2874 7119/11494/2874 7109/11495/2874 +f 7118/11493/2874 7109/11495/2874 7125/11496/2874 +f 7112/11497/2875 7107/11498/2875 7121/11499/2875 +f 7112/11497/2875 7121/11499/2875 7114/11500/2875 +f 7117/11501/2876 7124/11502/2876 7110/11503/2876 +f 7117/11501/2876 7110/11503/2876 7111/11504/2876 +f 7119/11505/2877 7111/11506/2877 7112/11507/2877 +f 7119/11505/2877 7112/11507/2877 7179/11508/2877 +f 7179/11509/2878 7112/11510/2878 7114/11511/2878 +f 7179/11509/2878 7114/11511/2878 7115/11512/2878 +f 7179/11513/2879 7115/11514/2879 7123/11515/2879 +f 7179/11513/2879 7123/11515/2879 7108/11516/2879 +f 7108/11517/2880 7123/11518/2880 7121/11519/2880 +f 7108/11517/2880 7121/11519/2880 7107/11520/2880 +f 7104/11521/2881 7101/11522/2881 7127/11523/2881 +f 7104/11521/2881 7127/11523/2881 7176/11524/2881 +f 7142/11525/2882 7149/11526/2882 7102/11527/2882 +f 7142/11525/2882 7102/11527/2882 7103/11528/2882 +f 7175/11529/2883 7103/11530/2883 7104/11531/2883 +f 7175/11529/2883 7104/11531/2883 7178/11532/2883 +f 7178/11533/2884 7104/11534/2884 7176/11535/2884 +f 7178/11533/2884 7176/11535/2884 7177/11536/2884 +f 7178/11537/2885 7177/11538/2885 7126/11539/2885 +f 7178/11537/2885 7126/11539/2885 7105/11540/2885 +f 7105/11541/2886 7126/11542/2886 7127/11543/2886 +f 7105/11541/2886 7127/11543/2886 7101/11544/2886 +f 7176/11545/2887 7127/11546/2887 7124/11547/2887 +f 7176/11545/2887 7124/11547/2887 7117/11548/2887 +f 7177/11549/2888 7118/11550/2888 7125/11551/2888 +f 7177/11549/2888 7125/11551/2888 7126/11552/2888 +f 7181/11553/2889 7180/11554/2889 7146/11555/2889 +f 7181/11553/2889 7146/11555/2889 7147/11556/2889 +f 7168/11557/2890 7134/11558/2890 7135/11559/2890 +f 7168/11557/2890 7135/11559/2890 7171/11560/2890 +f 7171/11561/2891 7135/11562/2891 7129/11563/2891 +f 7171/11561/2891 7129/11563/2891 7169/11564/2891 +f 7148/11565/2892 7182/11566/2892 7137/11567/2892 +f 7148/11565/2892 7137/11567/2892 7138/11568/2892 +f 7154/11569/2893 7138/11570/2893 7139/11571/2893 +f 7154/11569/2893 7139/11571/2893 7153/11572/2893 +f 7147/11573/2894 7148/11574/2894 7138/11575/2894 +f 7147/11573/2894 7138/11575/2894 7154/11576/2894 +f 7141/11577/2895 7136/11578/2895 7150/11579/2895 +f 7141/11577/2895 7150/11579/2895 7143/11580/2895 +f 7146/11581/2896 7153/11582/2896 7139/11583/2896 +f 7146/11581/2896 7139/11583/2896 7140/11584/2896 +f 7148/11585/2897 7140/11586/2897 7141/11587/2897 +f 7148/11585/2897 7141/11587/2897 7182/11588/2897 +f 7182/11589/2898 7141/11590/2898 7143/11591/2898 +f 7182/11589/2898 7143/11591/2898 7144/11592/2898 +f 7182/11593/2899 7144/11594/2899 7152/11595/2899 +f 7182/11593/2899 7152/11595/2899 7137/11596/2899 +f 7137/11597/2900 7152/11598/2900 7150/11599/2900 +f 7137/11597/2900 7150/11599/2900 7136/11600/2900 +f 7131/11601/2901 7128/11602/2901 7156/11603/2901 +f 7131/11601/2901 7156/11603/2901 7180/11604/2901 +f 7165/11605/2902 7169/11606/2902 7129/11607/2902 +f 7165/11605/2902 7129/11607/2902 7130/11608/2902 +f 7133/11609/2903 7131/11610/2903 7180/11611/2903 +f 7133/11609/2903 7180/11611/2903 7181/11612/2903 +f 7133/11613/2904 7181/11614/2904 7155/11615/2904 +f 7133/11613/2904 7155/11615/2904 7132/11616/2904 +f 7132/11617/2905 7155/11618/2905 7156/11619/2905 +f 7132/11617/2905 7156/11619/2905 7128/11620/2905 +f 7180/11621/2906 7156/11622/2906 7153/11623/2906 +f 7180/11621/2906 7153/11623/2906 7146/11624/2906 +f 7181/11625/2907 7147/11626/2907 7154/11627/2907 +f 7181/11625/2907 7154/11627/2907 7155/11628/2907 +f 7183/11629/2908 7159/11630/2908 7160/11631/2908 +f 7183/11629/2908 7160/11631/2908 7184/11632/2908 +f 7185/11633/2909 7162/11634/2909 7159/11635/2909 +f 7185/11633/2909 7159/11635/2909 7183/11636/2909 +f 7185/11637/2910 7186/11638/2910 7163/11639/2910 +f 7185/11637/2910 7163/11639/2910 7162/11640/2910 +f 7164/11641/2911 7157/11642/2911 7170/11643/2911 +f 7164/11641/2911 7170/11643/2911 7166/11644/2911 +f 7186/11645/2912 7184/11646/2912 7160/11647/2912 +f 7186/11645/2912 7160/11647/2912 7163/11648/2912 +f 7161/11649/2913 7164/11650/2913 7166/11651/2913 +f 7161/11649/2913 7166/11651/2913 7167/11652/2913 +f 7161/11653/2914 7167/11654/2914 7172/11655/2914 +f 7161/11653/2914 7172/11655/2914 7158/11656/2914 +f 7158/11657/2915 7172/11658/2915 7170/11659/2915 +f 7158/11657/2915 7170/11659/2915 7157/11660/2915 +f 7188/11661/2916 7187/11662/2916 7186/11663/2916 +f 7188/11661/2916 7186/11663/2916 7185/11664/2916 +f 7187/11665/2917 7189/11666/2917 7184/11667/2917 +f 7187/11665/2917 7184/11667/2917 7186/11668/2917 +f 7188/11669/2918 7185/11670/2918 7183/11671/2918 +f 7188/11669/2918 7183/11671/2918 7190/11672/2918 +f 7190/11673/2919 7183/11674/2919 7184/11675/2919 +f 7190/11673/2919 7184/11675/2919 7189/11676/2919 +f 7191/11677/2920 7092/11678/2920 7089/11679/2920 +f 7191/11677/2920 7089/11679/2920 7192/11680/2920 +f 7192/11681/2921 7089/11682/2921 7090/11683/2921 +f 7192/11681/2921 7090/11683/2921 7173/11684/2921 +f 7091/11685/2922 7092/11686/2922 7191/11687/2922 +f 7091/11685/2922 7191/11687/2922 7174/11688/2922 +f 7174/11689/2923 7191/11690/2923 7192/11691/2923 +f 7174/11689/2923 7192/11691/2923 7173/11692/2923 +f 7195/11693/2924 7194/11694/2924 7193/11695/2924 +f 7195/11693/2924 7193/11695/2924 7196/11696/2924 +f 7197/11697/2925 7196/11698/2925 7193/11699/2925 +f 7197/11697/2925 7193/11699/2925 7198/11700/2925 +f 7201/11701/2926 7200/11702/2926 7199/11703/2926 +f 7201/11701/2926 7199/11703/2926 7202/11704/2926 +f 7200/11705/2927 7204/11706/2927 7203/11707/2927 +f 7200/11705/2927 7203/11707/2927 7199/11708/2927 +f 7201/11709/2928 7202/11710/2928 7205/11711/2928 +f 7201/11709/2928 7205/11711/2928 7206/11712/2928 +f 7206/11713/2929 7205/11714/2929 7203/11715/2929 +f 7206/11713/2929 7203/11715/2929 7204/11716/2929 +f 7208/11717/2930 7207/11718/2930 7194/11719/2930 +f 7208/11717/2930 7194/11719/2930 7195/11720/2930 +f 7209/11721/2931 7195/11722/2931 7196/11723/2931 +f 7209/11721/2931 7196/11723/2931 7210/11724/2931 +f 7211/11725/2932 7208/11726/2932 7195/11727/2932 +f 7211/11725/2932 7195/11727/2932 7209/11728/2932 +f 7211/11729/2933 7212/11730/2933 7197/11731/2933 +f 7211/11729/2933 7197/11731/2933 7208/11732/2933 +f 7198/11733/2934 7193/11734/2934 7204/11735/2934 +f 7198/11733/2934 7204/11735/2934 7200/11736/2934 +f 7212/11737/2935 7210/11738/2935 7196/11739/2935 +f 7212/11737/2935 7196/11739/2935 7197/11740/2935 +f 7208/11741/2936 7197/11742/2936 7198/11743/2936 +f 7208/11741/2936 7198/11743/2936 7207/11744/2936 +f 7207/11745/2937 7198/11746/2937 7200/11747/2937 +f 7207/11745/2937 7200/11747/2937 7201/11748/2937 +f 7207/11749/2938 7201/11750/2938 7206/11751/2938 +f 7207/11749/2938 7206/11751/2938 7194/11752/2938 +f 7204/11753/2939 7193/11754/2939 7194/11755/2939 +f 7204/11753/2939 7194/11755/2939 7206/11756/2939 +f 7214/11757/2940 7213/11758/2940 7212/11759/2940 +f 7214/11757/2940 7212/11759/2940 7211/11760/2940 +f 7213/11761/2941 7215/11762/2941 7210/11763/2941 +f 7213/11761/2941 7210/11763/2941 7212/11764/2941 +f 7214/11765/2942 7211/11766/2942 7209/11767/2942 +f 7214/11765/2942 7209/11767/2942 7216/11768/2942 +f 7216/11769/2943 7209/11770/2943 7210/11771/2943 +f 7216/11769/2943 7210/11771/2943 7215/11772/2943 +f 7199/11773/2944 7203/11774/2944 7205/11775/2944 +f 7199/11773/2944 7205/11775/2944 7202/11776/2944 +f 7220/11777/2945 7219/11778/2945 7218/11779/2945 +f 7220/11777/2945 7218/11779/2945 7221/11780/2945 +f 7224/11781/2946 7223/11782/2946 7222/11783/2946 +f 7224/11781/2946 7222/11783/2946 7225/11784/2946 +f 7228/11785/2947 7227/11786/2947 7226/11787/2947 +f 7228/11785/2947 7226/11787/2947 7229/11788/2947 +f 7232/11789/2948 7231/11790/2948 7230/11791/2948 +f 7232/11789/2948 7230/11791/2948 7233/11792/2948 +f 7236/11793/2949 7235/11794/2949 7234/11795/2949 +f 7236/11793/2949 7234/11795/2949 7237/11796/2949 +f 7240/11797/2950 7239/11798/2950 7238/11799/2950 +f 7240/11797/2950 7238/11799/2950 7241/11800/2950 +f 7244/11801/2951 7243/11802/2951 7242/11803/2951 +f 7244/11801/2951 7242/11803/2951 7245/11804/2951 +f 7248/11805/2952 7247/11806/2952 7246/11807/2952 +f 7248/11805/2952 7246/11807/2952 7249/11808/2952 +f 7252/11809/2953 7251/11810/2953 7250/11811/2953 +f 7252/11809/2953 7250/11811/2953 7253/11812/2953 +f 7256/11813/2954 7255/11814/2954 7254/11815/2954 +f 7256/11813/2954 7254/11815/2954 7257/11816/2954 +f 7260/11817/2955 7259/11818/2955 7258/11819/2955 +f 7260/11817/2955 7258/11819/2955 7261/11820/2955 +f 7264/11821/2956 7263/11822/2956 7262/11823/2956 +f 7264/11821/2956 7262/11823/2956 7265/11824/2956 +f 7268/11825/2957 7267/11826/2957 7266/11827/2957 +f 7268/11825/2957 7266/11827/2957 7269/11828/2957 +f 7272/11829/2958 7271/11830/2958 7270/11831/2958 +f 7272/11829/2958 7270/11831/2958 7273/11832/2958 +f 7276/11833/2959 7275/11834/2959 7274/11835/2959 +f 7276/11833/2959 7274/11835/2959 7277/11836/2959 +f 7280/11837/2960 7279/11838/2960 7278/11839/2960 +f 7280/11837/2960 7278/11839/2960 7281/11840/2960 +f 7284/11841/2961 7283/11842/2961 7282/11843/2961 +f 7284/11841/2961 7282/11843/2961 7285/11844/2961 +f 7288/11845/2962 7287/11846/2962 7286/11847/2962 +f 7288/11845/2962 7286/11847/2962 7289/11848/2962 +f 7292/11849/2963 7291/11850/2963 7290/11851/2963 +f 7292/11849/2963 7290/11851/2963 7293/11852/2963 +f 7296/11853/2964 7295/11854/2964 7294/11855/2964 +f 7296/11853/2964 7294/11855/2964 7297/11856/2964 +f 7300/11857/2965 7299/11858/2965 7298/11859/2965 +f 7300/11857/2965 7298/11859/2965 7301/11860/2965 +f 7304/11861/2966 7303/11862/2966 7302/11863/2966 +f 7304/11861/2966 7302/11863/2966 7305/11864/2966 +f 7308/11865/2967 7307/11866/2967 7306/11867/2967 +f 7308/11865/2967 7306/11867/2967 7309/11868/2967 +f 7312/11869/2968 7311/11870/2968 7310/11871/2968 +f 7312/11869/2968 7310/11871/2968 7313/11872/2968 +f 7316/11873/2969 7315/11874/2969 7314/11875/2969 +f 7316/11873/2969 7314/11875/2969 7317/11876/2969 +f 7320/11877/2970 7319/11878/2970 7318/11879/2970 +f 7320/11877/2970 7318/11879/2970 7321/11880/2970 +f 7324/11881/2971 7323/11882/2971 7322/11883/2971 +f 7324/11881/2971 7322/11883/2971 7325/11884/2971 +f 7328/11885/2972 7327/11886/2972 7326/11887/2972 +f 7328/11885/2972 7326/11887/2972 7329/11888/2972 +f 7332/11889/2973 7331/11890/2973 7330/11891/2973 +f 7332/11889/2973 7330/11891/2973 7333/11892/2973 +f 7336/11893/2974 7335/11894/2974 7334/11895/2974 +f 7336/11893/2974 7334/11895/2974 7337/11896/2974 +f 7340/11897/2975 7339/11898/2975 7338/11899/2975 +f 7340/11897/2975 7338/11899/2975 7341/11900/2975 +f 7344/11901/2976 7343/11902/2976 7342/11903/2976 +f 7344/11901/2976 7342/11903/2976 7345/11904/2976 +f 7348/11905/2977 7347/11906/2977 7346/11907/2977 +f 7348/11905/2977 7346/11907/2977 7349/11908/2977 +f 7352/11909/2978 7351/11910/2978 7350/11911/2978 +f 7352/11909/2978 7350/11911/2978 7353/11912/2978 +f 7356/11913/2979 7355/11914/2979 7354/11915/2979 +f 7356/11913/2979 7354/11915/2979 7357/11916/2979 +f 7360/11917/2980 7359/11918/2980 7358/11919/2980 +f 7360/11917/2980 7358/11919/2980 7361/11920/2980 +f 7364/11921/2981 7363/11922/2981 7362/11923/2981 +f 7364/11921/2981 7362/11923/2981 7365/11924/2981 +f 7368/11925/2982 7367/11926/2982 7366/11927/2982 +f 7368/11925/2982 7366/11927/2982 7369/11928/2982 +f 7372/11929/2983 7371/11930/2983 7370/11931/2983 +f 7372/11929/2983 7370/11931/2983 7373/11932/2983 +f 7376/11933/2984 7375/11934/2984 7374/11935/2984 +f 7376/11933/2984 7374/11935/2984 7377/11936/2984 +f 7380/11937/2985 7379/11938/2985 7378/11939/2985 +f 7380/11937/2985 7378/11939/2985 7381/11940/2985 +f 7384/11941/2986 7383/11942/2986 7382/11943/2986 +f 7384/11941/2986 7382/11943/2986 7385/11944/2986 +f 7388/11945/2987 7387/11946/2987 7386/11947/2987 +f 7388/11945/2987 7386/11947/2987 7389/11948/2987 +f 7392/11949/2988 7391/11950/2988 7390/11951/2988 +f 7392/11949/2988 7390/11951/2988 7393/11952/2988 +f 7396/11953/2989 7395/11954/2989 7394/11955/2989 +f 7396/11953/2989 7394/11955/2989 7397/11956/2989 +f 7400/11957/2990 7399/11958/2990 7398/11959/2990 +f 7400/11957/2990 7398/11959/2990 7401/11960/2990 +f 7404/11961/2991 7403/11962/2991 7402/11963/2991 +f 7404/11961/2991 7402/11963/2991 7405/11964/2991 +f 7408/11965/2992 7407/11966/2992 7406/11967/2992 +f 7408/11965/2992 7406/11967/2992 7409/11968/2992 +f 7412/11969/2993 7411/11970/2993 7410/11971/2993 +f 7412/11969/2993 7410/11971/2993 7413/11972/2993 +f 7416/11973/2994 7415/11974/2994 7414/11975/2994 +f 7416/11973/2994 7414/11975/2994 7417/11976/2994 +f 7420/11977/2995 7419/11978/2995 7418/11979/2995 +f 7420/11977/2995 7418/11979/2995 7421/11980/2995 +f 7424/11981/2996 7423/11982/2996 7422/11983/2996 +f 7424/11981/2996 7422/11983/2996 7425/11984/2996 +f 7428/11985/2997 7427/11986/2997 7426/11987/2997 +f 7428/11985/2997 7426/11987/2997 7429/11988/2997 +f 7432/11989/2998 7431/11990/2998 7430/11991/2998 +f 7432/11989/2998 7430/11991/2998 7433/11992/2998 +f 7436/11993/2999 7435/11994/2999 7434/11995/2999 +f 7436/11993/2999 7434/11995/2999 7437/11996/2999 +f 7440/11997/3000 7439/11998/3000 7438/11999/3000 +f 7440/11997/3000 7438/11999/3000 7441/12000/3000 +f 7444/12001/3001 7443/12002/3001 7442/12003/3001 +f 7444/12001/3001 7442/12003/3001 7445/12004/3001 +f 7448/12005/3002 7447/12006/3002 7446/12007/3002 +f 7448/12005/3002 7446/12007/3002 7449/12008/3002 +f 7452/12009/3003 7451/12010/3003 7450/12011/3003 +f 7452/12009/3003 7450/12011/3003 7453/12012/3003 +f 7456/12013/3004 7455/12014/3004 7454/12015/3004 +f 7456/12013/3004 7454/12015/3004 7457/12016/3004 +f 7460/12017/3005 7459/12018/3005 7458/12019/3005 +f 7460/12017/3005 7458/12019/3005 7461/12020/3005 +f 7464/12021/3006 7463/12022/3006 7462/12023/3006 +f 7464/12021/3006 7462/12023/3006 7465/12024/3006 +f 7468/12025/3007 7467/12026/3007 7466/12027/3007 +f 7468/12025/3007 7466/12027/3007 7469/12028/3007 +f 7472/12029/3008 7471/12030/3008 7470/12031/3008 +f 7472/12029/3008 7470/12031/3008 7473/12032/3008 +f 7476/12033/3009 7475/12034/3009 7474/12035/3009 +f 7476/12033/3009 7474/12035/3009 7477/12036/3009 +f 7480/12037/3010 7479/12038/3010 7478/12039/3010 +f 7480/12037/3010 7478/12039/3010 7481/12040/3010 +f 7484/12041/3011 7483/12042/3011 7482/12043/3011 +f 7484/12041/3011 7482/12043/3011 7485/12044/3011 +f 7488/12045/3012 7487/12046/3012 7486/12047/3012 +f 7488/12045/3012 7486/12047/3012 7489/12048/3012 +f 7492/12049/3013 7491/12050/3013 7490/12051/3013 +f 7492/12049/3013 7490/12051/3013 7493/12052/3013 +f 7496/12053/3014 7495/12054/3014 7494/12055/3014 +f 7496/12053/3014 7494/12055/3014 7497/12056/3014 +f 7500/12057/3015 7499/12058/3015 7498/12059/3015 +f 7500/12057/3015 7498/12059/3015 7501/12060/3015 +f 7504/12061/3016 7503/12062/3016 7502/12063/3016 +f 7504/12061/3016 7502/12063/3016 7505/12064/3016 +f 7508/12065/3017 7507/12066/3017 7506/12067/3017 +f 7508/12065/3017 7506/12067/3017 7509/12068/3017 +f 7512/12069/3018 7511/12070/3018 7510/12071/3018 +f 7512/12069/3018 7510/12071/3018 7513/12072/3018 +f 7516/12073/3019 7515/12074/3019 7514/12075/3019 +f 7516/12073/3019 7514/12075/3019 7517/12076/3019 +f 7520/12077/3020 7519/12078/3020 7518/12079/3020 +f 7520/12077/3020 7518/12079/3020 7521/12080/3020 +f 7524/12081/3021 7523/12082/3021 7522/12083/3021 +f 7524/12081/3021 7522/12083/3021 7525/12084/3021 +f 7528/12085/3022 7527/12086/3022 7526/12087/3022 +f 7528/12085/3022 7526/12087/3022 7529/12088/3022 +f 7532/12089/3023 7531/12090/3023 7530/12091/3023 +f 7532/12089/3023 7530/12091/3023 7533/12092/3023 +f 7536/12093/3024 7535/12094/3024 7534/12095/3024 +f 7536/12093/3024 7534/12095/3024 7537/12096/3024 +f 7539/12097/3025 7538/12098/3025 7217/12099/3025 +f 7539/12097/3025 7217/12099/3025 7540/12100/3025 +f 7543/12101/3026 7542/12102/3026 7541/12103/3026 +f 7543/12101/3026 7541/12103/3026 7544/12104/3026 +f 7547/12105/3027 7546/12106/3027 7545/12107/3027 +f 7547/12105/3027 7545/12107/3027 7548/12108/3027 +f 7551/12109/3028 7550/12110/3028 7549/12111/3028 +f 7551/12109/3028 7549/12111/3028 7552/12112/3028 +f 7555/12113/3029 7554/12114/3029 7553/12115/3029 +f 7555/12113/3029 7553/12115/3029 7556/12116/3029 +f 7559/12117/3030 7558/12118/3030 7557/12119/3030 +f 7559/12117/3030 7557/12119/3030 7560/12120/3030 +f 7563/12121/3031 7562/12122/3031 7561/12123/3031 +f 7563/12121/3031 7561/12123/3031 7564/12124/3031 +f 7567/12125/3032 7566/12126/3032 7565/12127/3032 +f 7567/12125/3032 7565/12127/3032 7568/12128/3032 +f 7571/12129/3033 7570/12130/3033 7569/12131/3033 +f 7571/12129/3033 7569/12131/3033 7572/12132/3033 +f 7575/12133/3034 7574/12134/3034 7573/12135/3034 +f 7575/12133/3034 7573/12135/3034 7576/12136/3034 +f 7579/12137/3035 7578/12138/3035 7577/12139/3035 +f 7579/12137/3035 7577/12139/3035 7580/12140/3035 +f 7583/12141/3036 7582/12142/3036 7581/12143/3036 +f 7583/12141/3036 7581/12143/3036 7584/12144/3036 +f 7587/12145/3037 7586/12146/3037 7585/12147/3037 +f 7587/12145/3037 7585/12147/3037 7588/12148/3037 +f 7591/12149/3038 7590/12150/3038 7589/12151/3038 +f 7591/12149/3038 7589/12151/3038 7592/12152/3038 +f 7595/12153/3039 7594/12154/3039 7593/12155/3039 +f 7595/12153/3039 7593/12155/3039 7596/12156/3039 +f 7599/12157/3040 7598/12158/3040 7597/12159/3040 +f 7599/12157/3040 7597/12159/3040 7600/12160/3040 +f 7603/12161/3041 7602/12162/3041 7601/12163/3041 +f 7603/12161/3041 7601/12163/3041 7604/12164/3041 +f 7607/12165/3042 7606/12166/3042 7605/12167/3042 +f 7607/12165/3042 7605/12167/3042 7608/12168/3042 +f 7611/12169/3043 7610/12170/3043 7609/12171/3043 +f 7611/12169/3043 7609/12171/3043 7612/12172/3043 +f 7615/12173/3044 7614/12174/3044 7613/12175/3044 +f 7615/12173/3044 7613/12175/3044 7616/12176/3044 +f 7619/12177/3045 7618/12178/3045 7617/12179/3045 +f 7619/12177/3045 7617/12179/3045 7620/12180/3045 +f 7623/12181/3046 7622/12182/3046 7621/12183/3046 +f 7623/12181/3046 7621/12183/3046 7624/12184/3046 +f 7627/12185/3047 7626/12186/3047 7625/12187/3047 +f 7627/12185/3047 7625/12187/3047 7628/12188/3047 +f 7631/12189/3048 7630/12190/3048 7629/12191/3048 +f 7631/12189/3048 7629/12191/3048 7632/12192/3048 +f 7635/12193/3049 7634/12194/3049 7633/12195/3049 +f 7635/12193/3049 7633/12195/3049 7636/12196/3049 +f 7639/12197/3050 7638/12198/3050 7637/12199/3050 +f 7639/12197/3050 7637/12199/3050 7640/12200/3050 +f 7643/12201/3051 7642/12202/3051 7641/12203/3051 +f 7643/12201/3051 7641/12203/3051 7644/12204/3051 +f 7647/12205/3052 7646/12206/3052 7645/12207/3052 +f 7647/12205/3052 7645/12207/3052 7648/12208/3052 +f 7651/12209/3053 7650/12210/3053 7649/12211/3053 +f 7651/12209/3053 7649/12211/3053 7652/12212/3053 +f 7655/12213/3054 7654/12214/3054 7653/12215/3054 +f 7655/12213/3054 7653/12215/3054 7656/12216/3054 +f 7659/12217/3055 7658/12218/3055 7657/12219/3055 +f 7659/12217/3055 7657/12219/3055 7660/12220/3055 +f 7663/12221/3056 7662/12222/3056 7661/12223/3056 +f 7663/12221/3056 7661/12223/3056 7664/12224/3056 +f 7667/12225/3057 7666/12226/3057 7665/12227/3057 +f 7667/12225/3057 7665/12227/3057 7668/12228/3057 +f 7671/12229/3058 7670/12230/3058 7669/12231/3058 +f 7671/12229/3058 7669/12231/3058 7672/12232/3058 +f 7675/12233/3059 7674/12234/3059 7673/12235/3059 +f 7675/12233/3059 7673/12235/3059 7676/12236/3059 +f 7679/12237/3060 7678/12238/3060 7677/12239/3060 +f 7679/12237/3060 7677/12239/3060 7680/12240/3060 +f 7683/12241/3061 7682/12242/3061 7681/12243/3061 +f 7683/12241/3061 7681/12243/3061 7684/12244/3061 +f 7687/12245/3062 7686/12246/3062 7685/12247/3062 +f 7687/12245/3062 7685/12247/3062 7688/12248/3062 +f 7691/12249/3063 7690/12250/3063 7689/12251/3063 +f 7691/12249/3063 7689/12251/3063 7692/12252/3063 +f 7695/12253/3064 7694/12254/3064 7693/12255/3064 +f 7695/12253/3064 7693/12255/3064 7696/12256/3064 +f 7699/12257/3065 7698/12258/3065 7697/12259/3065 +f 7699/12257/3065 7697/12259/3065 7700/12260/3065 +f 7703/12261/3066 7702/12262/3066 7701/12263/3066 +f 7703/12261/3066 7701/12263/3066 7704/12264/3066 +f 7707/12265/3067 7706/12266/3067 7705/12267/3067 +f 7707/12265/3067 7705/12267/3067 7708/12268/3067 +f 7711/12269/3068 7710/12270/3068 7709/12271/3068 +f 7711/12269/3068 7709/12271/3068 7712/12272/3068 +f 7715/12273/3069 7714/12274/3069 7713/12275/3069 +f 7715/12273/3069 7713/12275/3069 7716/12276/3069 +f 7719/12277/3070 7718/12278/3070 7717/12279/3070 +f 7719/12277/3070 7717/12279/3070 7720/12280/3070 +f 7723/12281/3071 7722/12282/3071 7721/12283/3071 +f 7723/12281/3071 7721/12283/3071 7724/12284/3071 +f 7727/12285/3072 7726/12286/3072 7725/12287/3072 +f 7727/12285/3072 7725/12287/3072 7728/12288/3072 +f 7731/12289/3073 7730/12290/3073 7729/12291/3073 +f 7731/12289/3073 7729/12291/3073 7732/12292/3073 +f 7735/12293/3074 7734/12294/3074 7733/12295/3074 +f 7735/12293/3074 7733/12295/3074 7736/12296/3074 +f 7739/12297/3075 7738/12298/3075 7737/12299/3075 +f 7739/12297/3075 7737/12299/3075 7740/12300/3075 +f 7743/12301/3076 7742/12302/3076 7741/12303/3076 +f 7743/12301/3076 7741/12303/3076 7744/12304/3076 +f 7747/12305/3077 7746/12306/3077 7745/12307/3077 +f 7747/12305/3077 7745/12307/3077 7748/12308/3077 +f 7751/12309/3078 7750/12310/3078 7749/12311/3078 +f 7751/12309/3078 7749/12311/3078 7752/12312/3078 +f 7755/12313/3079 7754/12314/3079 7753/12315/3079 +f 7755/12313/3079 7753/12315/3079 7756/12316/3079 +f 7759/12317/3080 7758/12318/3080 7757/12319/3080 +f 7759/12317/3080 7757/12319/3080 7760/12320/3080 +f 7763/12321/3081 7762/12322/3081 7761/12323/3081 +f 7763/12321/3081 7761/12323/3081 7764/12324/3081 +f 7767/12325/3082 7766/12326/3082 7765/12327/3082 +f 7767/12325/3082 7765/12327/3082 7768/12328/3082 +f 7771/12329/3083 7770/12330/3083 7769/12331/3083 +f 7771/12329/3083 7769/12331/3083 7772/12332/3083 +f 7775/12333/3084 7774/12334/3084 7773/12335/3084 +f 7775/12333/3084 7773/12335/3084 7776/12336/3084 +f 7779/12337/3085 7778/12338/3085 7777/12339/3085 +f 7779/12337/3085 7777/12339/3085 7780/12340/3085 +f 7783/12341/3086 7782/12342/3086 7781/12343/3086 +f 7783/12341/3086 7781/12343/3086 7784/12344/3086 +f 7787/12345/3087 7786/12346/3087 7785/12347/3087 +f 7787/12345/3087 7785/12347/3087 7788/12348/3087 +f 7788/12349/3088 7785/12350/3088 7781/12351/3088 +f 7788/12349/3088 7781/12351/3088 7782/12352/3088 +f 7787/12353/3089 7783/12354/3089 7784/12355/3089 +f 7787/12353/3089 7784/12355/3089 7786/12356/3089 +f 7791/12357/3090 7790/12358/3090 7789/12359/3090 +f 7791/12357/3090 7789/12359/3090 7792/12360/3090 +f 7793/12361/3091 7792/12362/3091 7789/12363/3091 +f 7793/12361/3091 7789/12363/3091 7794/12364/3091 +f 7797/12365/3092 7796/12366/3092 7795/12367/3092 +f 7797/12365/3092 7795/12367/3092 7798/12368/3092 +f 7800/12369/3093 7799/12370/3093 7793/12371/3093 +f 7800/12369/3093 7793/12371/3093 7801/12372/3093 +f 7796/12373/3094 7803/12374/3094 7802/12375/3094 +f 7796/12373/3094 7802/12375/3094 7795/12376/3094 +f 7797/12377/3095 7798/12378/3095 7804/12379/3095 +f 7797/12377/3095 7804/12379/3095 7805/12380/3095 +f 7805/12381/3096 7804/12382/3096 7802/12383/3096 +f 7805/12381/3096 7802/12383/3096 7803/12384/3096 +f 7808/12385/3097 7807/12386/3097 7806/12387/3097 +f 7808/12385/3097 7806/12387/3097 7809/12388/3097 +f 7798/12389/3098 7795/12390/3098 7783/12391/3098 +f 7798/12389/3098 7783/12391/3098 7787/12392/3098 +f 7798/12393/3099 7787/12394/3099 7788/12395/3099 +f 7798/12393/3099 7788/12395/3099 7804/12396/3099 +f 7804/12397/3100 7788/12398/3100 7782/12399/3100 +f 7804/12397/3100 7782/12399/3100 7802/12400/3100 +f 7784/12401/3101 7781/12402/3101 7810/12403/3101 +f 7784/12401/3101 7810/12403/3101 7778/12404/3101 +f 7795/12405/3102 7802/12406/3102 7782/12407/3102 +f 7795/12405/3102 7782/12407/3102 7783/12408/3102 +f 7786/12409/3103 7784/12410/3103 7778/12411/3103 +f 7786/12409/3103 7778/12411/3103 7779/12412/3103 +f 7786/12413/3104 7779/12414/3104 7811/12415/3104 +f 7786/12413/3104 7811/12415/3104 7785/12416/3104 +f 7785/12417/3105 7811/12418/3105 7810/12419/3105 +f 7785/12417/3105 7810/12419/3105 7781/12420/3105 +f 7813/12421/3106 7812/12422/3106 7799/12423/3106 +f 7813/12421/3106 7799/12423/3106 7800/12424/3106 +f 7801/12425/3107 7814/12426/3107 7790/12427/3107 +f 7801/12425/3107 7790/12427/3107 7791/12428/3107 +f 7807/12429/3108 7791/12430/3108 7792/12431/3108 +f 7807/12429/3108 7792/12431/3108 7806/12432/3108 +f 7800/12433/3109 7801/12434/3109 7791/12435/3109 +f 7800/12433/3109 7791/12435/3109 7807/12436/3109 +f 7794/12437/3110 7789/12438/3110 7803/12439/3110 +f 7794/12437/3110 7803/12439/3110 7796/12440/3110 +f 7799/12441/3111 7806/12442/3111 7792/12443/3111 +f 7799/12441/3111 7792/12443/3111 7793/12444/3111 +f 7801/12445/3112 7793/12446/3112 7794/12447/3112 +f 7801/12445/3112 7794/12447/3112 7814/12448/3112 +f 7814/12449/3113 7794/12450/3113 7796/12451/3113 +f 7814/12449/3113 7796/12451/3113 7797/12452/3113 +f 7814/12453/3114 7797/12454/3114 7805/12455/3114 +f 7814/12453/3114 7805/12455/3114 7790/12456/3114 +f 7790/12457/3115 7805/12458/3115 7803/12459/3115 +f 7790/12457/3115 7803/12459/3115 7789/12460/3115 +f 7812/12461/3116 7809/12462/3116 7806/12463/3116 +f 7812/12461/3116 7806/12463/3116 7799/12464/3116 +f 7813/12465/3117 7800/12466/3117 7807/12467/3117 +f 7813/12465/3117 7807/12467/3117 7808/12468/3117 +f 7815/12469/3118 7780/12470/3118 7777/12471/3118 +f 7815/12469/3118 7777/12471/3118 7816/12472/3118 +f 7816/12473/3119 7777/12474/3119 7778/12475/3119 +f 7816/12473/3119 7778/12475/3119 7810/12476/3119 +f 7779/12477/3120 7780/12478/3120 7815/12479/3120 +f 7779/12477/3120 7815/12479/3120 7811/12480/3120 +f 7811/12481/3121 7815/12482/3121 7816/12483/3121 +f 7811/12481/3121 7816/12483/3121 7810/12484/3121 +f 7819/12485/3122 7818/12486/3122 7817/12487/3122 +f 7819/12485/3122 7817/12487/3122 7820/12488/3122 +f 7821/12489/3123 7820/12490/3123 7817/12491/3123 +f 7821/12489/3123 7817/12491/3123 7822/12492/3123 +f 7825/12493/3124 7824/12494/3124 7823/12495/3124 +f 7825/12493/3124 7823/12495/3124 7826/12496/3124 +f 7824/12497/3125 7828/12498/3125 7827/12499/3125 +f 7824/12497/3125 7827/12499/3125 7823/12500/3125 +f 7825/12501/3126 7826/12502/3126 7829/12503/3126 +f 7825/12501/3126 7829/12503/3126 7830/12504/3126 +f 7830/12505/3127 7829/12506/3127 7827/12507/3127 +f 7830/12505/3127 7827/12507/3127 7828/12508/3127 +f 7832/12509/3128 7831/12510/3128 7818/12511/3128 +f 7832/12509/3128 7818/12511/3128 7819/12512/3128 +f 7833/12513/3129 7819/12514/3129 7820/12515/3129 +f 7833/12513/3129 7820/12515/3129 7834/12516/3129 +f 7835/12517/3130 7832/12518/3130 7819/12519/3130 +f 7835/12517/3130 7819/12519/3130 7833/12520/3130 +f 7835/12521/3131 7836/12522/3131 7821/12523/3131 +f 7835/12521/3131 7821/12523/3131 7832/12524/3131 +f 7822/12525/3132 7817/12526/3132 7828/12527/3132 +f 7822/12525/3132 7828/12527/3132 7824/12528/3132 +f 7836/12529/3133 7834/12530/3133 7820/12531/3133 +f 7836/12529/3133 7820/12531/3133 7821/12532/3133 +f 7832/12533/3134 7821/12534/3134 7822/12535/3134 +f 7832/12533/3134 7822/12535/3134 7831/12536/3134 +f 7831/12537/3135 7822/12538/3135 7824/12539/3135 +f 7831/12537/3135 7824/12539/3135 7825/12540/3135 +f 7831/12541/3136 7825/12542/3136 7830/12543/3136 +f 7831/12541/3136 7830/12543/3136 7818/12544/3136 +f 7828/12545/3137 7817/12546/3137 7818/12547/3137 +f 7828/12545/3137 7818/12547/3137 7830/12548/3137 +f 7838/12549/3138 7837/12550/3138 7836/12551/3138 +f 7838/12549/3138 7836/12551/3138 7835/12552/3138 +f 7837/12553/3139 7839/12554/3139 7834/12555/3139 +f 7837/12553/3139 7834/12555/3139 7836/12556/3139 +f 7838/12557/3140 7835/12558/3140 7833/12559/3140 +f 7838/12557/3140 7833/12559/3140 7840/12560/3140 +f 7840/12561/3141 7833/12562/3141 7834/12563/3141 +f 7840/12561/3141 7834/12563/3141 7839/12564/3141 +f 7823/12565/3142 7827/12566/3142 7829/12567/3142 +f 7823/12565/3142 7829/12567/3142 7826/12568/3142 usemtl wooden_chain_fence -f 7841/12569/3143 7842/12570/3143 7844/12571/3143 7843/12572/3143 -f 7846/12573/3144 7845/12574/3144 7847/12575/3144 7848/12576/3144 -f 7846/12577/3145 7842/12578/3145 7841/12579/3145 7845/12580/3145 -f 7847/12581/3146 7843/12582/3146 7844/12583/3146 7848/12584/3146 -f 7845/12585/3147 7841/12586/3147 7843/12587/3147 7847/12588/3147 -f 7842/12589/3148 7849/12590/3148 7850/12591/3148 7844/12592/3148 -f 7851/12593/3149 7846/12594/3149 7848/12595/3149 7852/12596/3149 -f 7851/12597/3150 7849/12598/3150 7842/12599/3150 7846/12600/3150 -f 7848/12601/3151 7844/12602/3151 7850/12603/3151 7852/12604/3151 -f 7849/12605/3152 7853/12606/3152 7854/12607/3152 7850/12608/3152 -f 7855/12609/3153 7851/12610/3153 7852/12611/3153 7856/12612/3153 -f 7855/12613/3154 7853/12614/3154 7849/12615/3154 7851/12616/3154 -f 7852/12617/3155 7850/12618/3155 7854/12619/3155 7856/12620/3155 -f 7855/12621/3156 7853/12622/3156 7854/12623/3156 7856/12624/3156 -f 7857/12625/3157 7858/12626/3157 7860/12627/3157 7859/12628/3157 -f 7862/12629/3158 7861/12630/3158 7863/12631/3158 7864/12632/3158 -f 7862/12633/3159 7858/12634/3159 7857/12635/3159 7861/12636/3159 -f 7863/12637/3160 7859/12638/3160 7860/12639/3160 7864/12640/3160 -f 7861/12641/3161 7857/12642/3161 7859/12643/3161 7863/12644/3161 -f 7858/12645/3162 7862/12646/3162 7864/12647/3162 7860/12648/3162 -f 7865/12649/3163 7866/12650/3163 7868/12651/3163 7867/12652/3163 -f 7870/12653/3164 7869/12654/3164 7871/12655/3164 7872/12656/3164 -f 7870/12657/3165 7866/12658/3165 7865/12659/3165 7869/12660/3165 -f 7871/12661/3166 7867/12662/3166 7868/12663/3166 7872/12664/3166 -f 7869/12665/3167 7865/12666/3167 7867/12667/3167 7871/12668/3167 -f 7866/12669/3168 7870/12670/3168 7872/12671/3168 7868/12672/3168 -f 7876/12673/3169 7874/12674/3169 7873/12675/3169 7875/12676/3169 -f 7879/12677/3170 7877/12678/3170 7878/12679/3170 7880/12680/3170 -f 7873/12681/3171 7874/12682/3171 7878/12683/3171 7877/12684/3171 -f 7876/12685/3172 7875/12686/3172 7879/12687/3172 7880/12688/3172 -f 7875/12689/3173 7873/12690/3173 7877/12691/3173 7879/12692/3173 -f 7880/12693/3174 7878/12694/3174 7874/12695/3174 7876/12696/3174 -f 7884/12697/3175 7882/12698/3175 7881/12699/3175 7883/12700/3175 -f 7887/12701/3176 7885/12702/3176 7886/12703/3176 7888/12704/3176 -f 7881/12705/3177 7882/12706/3177 7886/12707/3177 7885/12708/3177 -f 7884/12709/3178 7883/12710/3178 7887/12711/3178 7888/12712/3178 -f 7883/12713/3179 7881/12714/3179 7885/12715/3179 7887/12716/3179 -f 7888/12717/3180 7886/12718/3180 7882/12719/3180 7884/12720/3180 +f 7841/12569/3143 7842/12570/3143 7844/12571/3143 +f 7841/12569/3143 7844/12571/3143 7843/12572/3143 +f 7846/12573/3144 7845/12574/3144 7847/12575/3144 +f 7846/12573/3144 7847/12575/3144 7848/12576/3144 +f 7846/12577/3145 7842/12578/3145 7841/12579/3145 +f 7846/12577/3145 7841/12579/3145 7845/12580/3145 +f 7847/12581/3146 7843/12582/3146 7844/12583/3146 +f 7847/12581/3146 7844/12583/3146 7848/12584/3146 +f 7845/12585/3147 7841/12586/3147 7843/12587/3147 +f 7845/12585/3147 7843/12587/3147 7847/12588/3147 +f 7842/12589/3148 7849/12590/3148 7850/12591/3148 +f 7842/12589/3148 7850/12591/3148 7844/12592/3148 +f 7851/12593/3149 7846/12594/3149 7848/12595/3149 +f 7851/12593/3149 7848/12595/3149 7852/12596/3149 +f 7851/12597/3150 7849/12598/3150 7842/12599/3150 +f 7851/12597/3150 7842/12599/3150 7846/12600/3150 +f 7848/12601/3151 7844/12602/3151 7850/12603/3151 +f 7848/12601/3151 7850/12603/3151 7852/12604/3151 +f 7849/12605/3152 7853/12606/3152 7854/12607/3152 +f 7849/12605/3152 7854/12607/3152 7850/12608/3152 +f 7855/12609/3153 7851/12610/3153 7852/12611/3153 +f 7855/12609/3153 7852/12611/3153 7856/12612/3153 +f 7855/12613/3154 7853/12614/3154 7849/12615/3154 +f 7855/12613/3154 7849/12615/3154 7851/12616/3154 +f 7852/12617/3155 7850/12618/3155 7854/12619/3155 +f 7852/12617/3155 7854/12619/3155 7856/12620/3155 +f 7855/12621/3156 7853/12622/3156 7854/12623/3156 +f 7855/12621/3156 7854/12623/3156 7856/12624/3156 +f 7857/12625/3157 7858/12626/3157 7860/12627/3157 +f 7857/12625/3157 7860/12627/3157 7859/12628/3157 +f 7862/12629/3158 7861/12630/3158 7863/12631/3158 +f 7862/12629/3158 7863/12631/3158 7864/12632/3158 +f 7862/12633/3159 7858/12634/3159 7857/12635/3159 +f 7862/12633/3159 7857/12635/3159 7861/12636/3159 +f 7863/12637/3160 7859/12638/3160 7860/12639/3160 +f 7863/12637/3160 7860/12639/3160 7864/12640/3160 +f 7861/12641/3161 7857/12642/3161 7859/12643/3161 +f 7861/12641/3161 7859/12643/3161 7863/12644/3161 +f 7858/12645/3162 7862/12646/3162 7864/12647/3162 +f 7858/12645/3162 7864/12647/3162 7860/12648/3162 +f 7865/12649/3163 7866/12650/3163 7868/12651/3163 +f 7865/12649/3163 7868/12651/3163 7867/12652/3163 +f 7870/12653/3164 7869/12654/3164 7871/12655/3164 +f 7870/12653/3164 7871/12655/3164 7872/12656/3164 +f 7870/12657/3165 7866/12658/3165 7865/12659/3165 +f 7870/12657/3165 7865/12659/3165 7869/12660/3165 +f 7871/12661/3166 7867/12662/3166 7868/12663/3166 +f 7871/12661/3166 7868/12663/3166 7872/12664/3166 +f 7869/12665/3167 7865/12666/3167 7867/12667/3167 +f 7869/12665/3167 7867/12667/3167 7871/12668/3167 +f 7866/12669/3168 7870/12670/3168 7872/12671/3168 +f 7866/12669/3168 7872/12671/3168 7868/12672/3168 +f 7876/12673/3169 7874/12674/3169 7873/12675/3169 +f 7876/12673/3169 7873/12675/3169 7875/12676/3169 +f 7879/12677/3170 7877/12678/3170 7878/12679/3170 +f 7879/12677/3170 7878/12679/3170 7880/12680/3170 +f 7873/12681/3171 7874/12682/3171 7878/12683/3171 +f 7873/12681/3171 7878/12683/3171 7877/12684/3171 +f 7876/12685/3172 7875/12686/3172 7879/12687/3172 +f 7876/12685/3172 7879/12687/3172 7880/12688/3172 +f 7875/12689/3173 7873/12690/3173 7877/12691/3173 +f 7875/12689/3173 7877/12691/3173 7879/12692/3173 +f 7880/12693/3174 7878/12694/3174 7874/12695/3174 +f 7880/12693/3174 7874/12695/3174 7876/12696/3174 +f 7884/12697/3175 7882/12698/3175 7881/12699/3175 +f 7884/12697/3175 7881/12699/3175 7883/12700/3175 +f 7887/12701/3176 7885/12702/3176 7886/12703/3176 +f 7887/12701/3176 7886/12703/3176 7888/12704/3176 +f 7881/12705/3177 7882/12706/3177 7886/12707/3177 +f 7881/12705/3177 7886/12707/3177 7885/12708/3177 +f 7884/12709/3178 7883/12710/3178 7887/12711/3178 +f 7884/12709/3178 7887/12711/3178 7888/12712/3178 +f 7883/12713/3179 7881/12714/3179 7885/12715/3179 +f 7883/12713/3179 7885/12715/3179 7887/12716/3179 +f 7888/12717/3180 7886/12718/3180 7882/12719/3180 +f 7888/12717/3180 7882/12719/3180 7884/12720/3180 usemtl flagpole_mod -f 7892/12721/3181 7890/12722/3181 7889/12723/3181 7891/12724/3181 -f 7895/12725/3182 7893/12726/3182 7894/12727/3182 7896/12728/3182 -f 7889/12729/3183 7890/12730/3183 7894/12731/3183 7893/12732/3183 -f 7891/12733/3184 7889/12734/3184 7893/12735/3184 7895/12736/3184 -f 7896/12737/3185 7894/12738/3185 7890/12739/3185 7892/12740/3185 -f 7900/12741/3186 7898/12742/3186 7897/12743/3186 7899/12744/3186 -f 7903/12745/3187 7901/12746/3187 7902/12747/3187 7904/12748/3187 -f 7897/12749/3188 7898/12750/3188 7902/12751/3188 7901/12752/3188 -f 7900/12753/3189 7899/12754/3189 7903/12755/3189 7904/12756/3189 -f 7899/12757/3190 7897/12758/3190 7901/12759/3190 7903/12760/3190 -f 7904/12761/3191 7902/12762/3191 7898/12763/3191 7900/12764/3191 -f 7908/12765/3192 7906/12766/3192 7905/12767/3192 7907/12768/3192 -f 7911/12769/3193 7909/12770/3193 7910/12771/3193 7912/12772/3193 -f 7905/12773/3194 7906/12774/3194 7910/12775/3194 7909/12776/3194 -f 7908/12777/3195 7907/12778/3195 7911/12779/3195 7912/12780/3195 -f 7907/12781/3196 7905/12782/3196 7909/12783/3196 7911/12784/3196 -f 7912/12785/3197 7910/12786/3197 7906/12787/3197 7908/12788/3197 -f 7916/12789/3198 7914/12790/3198 7913/12791/3198 7915/12792/3198 -f 7919/12793/3199 7917/12794/3199 7918/12795/3199 7920/12796/3199 -f 7913/12797/3200 7914/12798/3200 7918/12799/3200 7917/12800/3200 -f 7915/12801/3201 7913/12802/3201 7917/12803/3201 7919/12804/3201 -f 7920/12805/3202 7918/12806/3202 7914/12807/3202 7916/12808/3202 -f 7924/12809/3203 7922/12810/3203 7921/12811/3203 7923/12812/3203 -f 7927/12813/3204 7925/12814/3204 7926/12815/3204 7928/12816/3204 -f 7921/12817/3205 7922/12818/3205 7926/12819/3205 7925/12820/3205 -f 7924/12821/3206 7923/12822/3206 7927/12823/3206 7928/12824/3206 -f 7923/12825/3207 7921/12826/3207 7925/12827/3207 7927/12828/3207 -f 7928/12829/3208 7926/12830/3208 7922/12831/3208 7924/12832/3208 \ No newline at end of file +f 7892/12721/3181 7890/12722/3181 7889/12723/3181 +f 7892/12721/3181 7889/12723/3181 7891/12724/3181 +f 7895/12725/3182 7893/12726/3182 7894/12727/3182 +f 7895/12725/3182 7894/12727/3182 7896/12728/3182 +f 7889/12729/3183 7890/12730/3183 7894/12731/3183 +f 7889/12729/3183 7894/12731/3183 7893/12732/3183 +f 7891/12733/3184 7889/12734/3184 7893/12735/3184 +f 7891/12733/3184 7893/12735/3184 7895/12736/3184 +f 7896/12737/3185 7894/12738/3185 7890/12739/3185 +f 7896/12737/3185 7890/12739/3185 7892/12740/3185 +f 7900/12741/3186 7898/12742/3186 7897/12743/3186 +f 7900/12741/3186 7897/12743/3186 7899/12744/3186 +f 7903/12745/3187 7901/12746/3187 7902/12747/3187 +f 7903/12745/3187 7902/12747/3187 7904/12748/3187 +f 7897/12749/3188 7898/12750/3188 7902/12751/3188 +f 7897/12749/3188 7902/12751/3188 7901/12752/3188 +f 7900/12753/3189 7899/12754/3189 7903/12755/3189 +f 7900/12753/3189 7903/12755/3189 7904/12756/3189 +f 7899/12757/3190 7897/12758/3190 7901/12759/3190 +f 7899/12757/3190 7901/12759/3190 7903/12760/3190 +f 7904/12761/3191 7902/12762/3191 7898/12763/3191 +f 7904/12761/3191 7898/12763/3191 7900/12764/3191 +f 7908/12765/3192 7906/12766/3192 7905/12767/3192 +f 7908/12765/3192 7905/12767/3192 7907/12768/3192 +f 7911/12769/3193 7909/12770/3193 7910/12771/3193 +f 7911/12769/3193 7910/12771/3193 7912/12772/3193 +f 7905/12773/3194 7906/12774/3194 7910/12775/3194 +f 7905/12773/3194 7910/12775/3194 7909/12776/3194 +f 7908/12777/3195 7907/12778/3195 7911/12779/3195 +f 7908/12777/3195 7911/12779/3195 7912/12780/3195 +f 7907/12781/3196 7905/12782/3196 7909/12783/3196 +f 7907/12781/3196 7909/12783/3196 7911/12784/3196 +f 7912/12785/3197 7910/12786/3197 7906/12787/3197 +f 7912/12785/3197 7906/12787/3197 7908/12788/3197 +f 7916/12789/3198 7914/12790/3198 7913/12791/3198 +f 7916/12789/3198 7913/12791/3198 7915/12792/3198 +f 7919/12793/3199 7917/12794/3199 7918/12795/3199 +f 7919/12793/3199 7918/12795/3199 7920/12796/3199 +f 7913/12797/3200 7914/12798/3200 7918/12799/3200 +f 7913/12797/3200 7918/12799/3200 7917/12800/3200 +f 7915/12801/3201 7913/12802/3201 7917/12803/3201 +f 7915/12801/3201 7917/12803/3201 7919/12804/3201 +f 7920/12805/3202 7918/12806/3202 7914/12807/3202 +f 7920/12805/3202 7914/12807/3202 7916/12808/3202 +f 7924/12809/3203 7922/12810/3203 7921/12811/3203 +f 7924/12809/3203 7921/12811/3203 7923/12812/3203 +f 7927/12813/3204 7925/12814/3204 7926/12815/3204 +f 7927/12813/3204 7926/12815/3204 7928/12816/3204 +f 7921/12817/3205 7922/12818/3205 7926/12819/3205 +f 7921/12817/3205 7926/12819/3205 7925/12820/3205 +f 7924/12821/3206 7923/12822/3206 7927/12823/3206 +f 7924/12821/3206 7927/12823/3206 7928/12824/3206 +f 7923/12825/3207 7921/12826/3207 7925/12827/3207 +f 7923/12825/3207 7925/12827/3207 7927/12828/3207 +f 7928/12829/3208 7926/12830/3208 7922/12831/3208 +f 7928/12829/3208 7922/12831/3208 7924/12832/3208 +usemtl flagpole +f 7932/12833/3209 7930/12834/3209 7929/12835/3209 +f 7932/12833/3209 7929/12835/3209 7931/12836/3209 +f 7935/12837/3210 7933/12838/3210 7934/12839/3210 +f 7935/12837/3210 7934/12839/3210 7936/12840/3210 +f 7929/12841/3211 7930/12842/3211 7934/12843/3211 +f 7929/12841/3211 7934/12843/3211 7933/12844/3211 +f 7932/12845/3212 7931/12846/3212 7935/12847/3212 +f 7932/12845/3212 7935/12847/3212 7936/12848/3212 +f 7931/12849/3213 7929/12850/3213 7933/12851/3213 +f 7931/12849/3213 7933/12851/3213 7935/12852/3213 +f 7936/12853/3214 7934/12854/3214 7930/12855/3214 +f 7936/12853/3214 7930/12855/3214 7932/12856/3214 +f 7940/12857/3215 7938/12858/3215 7937/12859/3215 +f 7940/12857/3215 7937/12859/3215 7939/12860/3215 +f 7943/12861/3216 7941/12862/3216 7942/12863/3216 +f 7943/12861/3216 7942/12863/3216 7944/12864/3216 +f 7937/12865/3217 7938/12866/3217 7942/12867/3217 +f 7937/12865/3217 7942/12867/3217 7941/12868/3217 +f 7940/12869/3218 7939/12870/3218 7943/12871/3218 +f 7940/12869/3218 7943/12871/3218 7944/12872/3218 +f 7939/12873/3219 7937/12874/3219 7941/12875/3219 +f 7939/12873/3219 7941/12875/3219 7943/12876/3219 +f 7944/12877/3220 7942/12878/3220 7938/12879/3220 +f 7944/12877/3220 7938/12879/3220 7940/12880/3220 +f 7948/12881/3221 7946/12882/3221 7945/12883/3221 +f 7948/12881/3221 7945/12883/3221 7947/12884/3221 +f 7951/12885/3222 7949/12886/3222 7950/12887/3222 +f 7951/12885/3222 7950/12887/3222 7952/12888/3222 +f 7945/12889/3223 7946/12890/3223 7950/12891/3223 +f 7945/12889/3223 7950/12891/3223 7949/12892/3223 +f 7948/12893/3224 7947/12894/3224 7951/12895/3224 +f 7948/12893/3224 7951/12895/3224 7952/12896/3224 +f 7947/12897/3225 7945/12898/3225 7949/12899/3225 +f 7947/12897/3225 7949/12899/3225 7951/12900/3225 +f 7952/12901/3226 7950/12902/3226 7946/12903/3226 +f 7952/12901/3226 7946/12903/3226 7948/12904/3226 +f 7956/12905/3227 7954/12906/3227 7953/12907/3227 +f 7956/12905/3227 7953/12907/3227 7955/12908/3227 +f 7953/12909/3228 7954/12910/3228 7958/12911/3228 +f 7953/12909/3228 7958/12911/3228 7957/12912/3228 +f 7956/12913/3229 7955/12914/3229 7959/12915/3229 +f 7956/12913/3229 7959/12915/3229 7960/12916/3229 +f 7955/12917/3230 7953/12918/3230 7957/12919/3230 +f 7955/12917/3230 7957/12919/3230 7959/12920/3230 +f 7960/12921/3231 7958/12922/3231 7954/12923/3231 +f 7960/12921/3231 7954/12923/3231 7956/12924/3231 +f 7964/12925/3232 7962/12926/3232 7961/12927/3232 +f 7964/12925/3232 7961/12927/3232 7963/12928/3232 +f 7967/12929/3233 7965/12930/3233 7966/12931/3233 +f 7967/12929/3233 7966/12931/3233 7968/12932/3233 +f 7961/12933/3234 7962/12934/3234 7966/12935/3234 +f 7961/12933/3234 7966/12935/3234 7965/12936/3234 +f 7964/12937/3235 7963/12938/3235 7967/12939/3235 +f 7964/12937/3235 7967/12939/3235 7968/12940/3235 +f 7969/12941/3236 7970/12942/3236 7974/12943/3236 +f 7969/12941/3236 7974/12943/3236 7973/12944/3236 +f 7972/12945/3237 7971/12946/3237 7975/12947/3237 +f 7972/12945/3237 7975/12947/3237 7976/12948/3237 +f 7971/12949/3238 7969/12950/3238 7973/12951/3238 +f 7971/12949/3238 7973/12951/3238 7975/12952/3238 +f 7976/12953/3239 7974/12954/3239 7970/12955/3239 +f 7976/12953/3239 7970/12955/3239 7972/12956/3239 +f 7980/12957/3240 7978/12958/3240 7977/12959/3240 +f 7980/12957/3240 7977/12959/3240 7979/12960/3240 +f 7977/12961/3241 7978/12962/3241 7982/12963/3241 +f 7977/12961/3241 7982/12963/3241 7981/12964/3241 +f 7980/12965/3242 7979/12966/3242 7983/12967/3242 +f 7980/12965/3242 7983/12967/3242 7984/12968/3242 +f 7979/12969/3243 7977/12970/3243 7981/12971/3243 +f 7979/12969/3243 7981/12971/3243 7983/12972/3243 +f 7984/12973/3244 7982/12974/3244 7978/12975/3244 +f 7984/12973/3244 7978/12975/3244 7980/12976/3244 +f 7988/12977/3245 7986/12978/3245 7985/12979/3245 +f 7988/12977/3245 7985/12979/3245 7987/12980/3245 +f 7991/12981/3246 7989/12982/3246 7990/12983/3246 +f 7991/12981/3246 7990/12983/3246 7992/12984/3246 +f 7985/12985/3247 7986/12986/3247 7990/12987/3247 +f 7985/12985/3247 7990/12987/3247 7989/12988/3247 +f 7988/12989/3248 7987/12990/3248 7991/12991/3248 +f 7988/12989/3248 7991/12991/3248 7992/12992/3248 +f 7997/12993/3249 7996/12994/3249 7995/12995/3249 +f 7997/12993/3249 7995/12995/3249 7994/12996/3249 +f 8000/12997/3250 7998/12998/3250 7999/12999/3250 +f 8000/12997/3250 7999/12999/3250 7993/13000/3250 +f 7995/13001/3251 7996/13002/3251 7999/13003/3251 +f 7995/13001/3251 7999/13003/3251 7998/13004/3251 +f 7994/13005/3252 7995/13006/3252 7998/13007/3252 +f 7994/13005/3252 7998/13007/3252 8000/13008/3252 +f 7993/13009/3253 7999/13010/3253 7996/13011/3253 +f 7993/13009/3253 7996/13011/3253 7997/13012/3253 +f 8004/13013/3254 8002/13014/3254 8001/13015/3254 +f 8004/13013/3254 8001/13015/3254 8003/13016/3254 +f 8007/13017/3255 8005/13018/3255 8006/13019/3255 +f 8007/13017/3255 8006/13019/3255 8008/13020/3255 +f 8003/13021/3256 8001/13022/3256 8005/13023/3256 +f 8003/13021/3256 8005/13023/3256 8007/13024/3256 +f 8008/13025/3257 8006/13026/3257 8002/13027/3257 +f 8008/13025/3257 8002/13027/3257 8004/13028/3257 +f 8012/13029/3258 8010/13030/3258 8009/13031/3258 +f 8012/13029/3258 8009/13031/3258 8011/13032/3258 +f 8015/13033/3259 8013/13034/3259 8014/13035/3259 +f 8015/13033/3259 8014/13035/3259 8016/13036/3259 +f 8009/13037/3260 8010/13038/3260 8014/13039/3260 +f 8009/13037/3260 8014/13039/3260 8013/13040/3260 +f 8012/13041/3261 8011/13042/3261 8015/13043/3261 +f 8012/13041/3261 8015/13043/3261 8016/13044/3261 +f 8011/13045/3262 8009/13046/3262 8013/13047/3262 +f 8011/13045/3262 8013/13047/3262 8015/13048/3262 +f 8016/13049/3263 8014/13050/3263 8010/13051/3263 +f 8016/13049/3263 8010/13051/3263 8012/13052/3263 +f 8020/13053/3264 8018/13054/3264 8017/13055/3264 +f 8020/13053/3264 8017/13055/3264 8019/13056/3264 +f 8023/13057/3265 8021/13058/3265 8022/13059/3265 +f 8023/13057/3265 8022/13059/3265 8024/13060/3265 +f 8017/13061/3266 8018/13062/3266 8022/13063/3266 +f 8017/13061/3266 8022/13063/3266 8021/13064/3266 +f 8019/13065/3267 8017/13066/3267 8021/13067/3267 +f 8019/13065/3267 8021/13067/3267 8023/13068/3267 +f 8024/13069/3268 8022/13070/3268 8018/13071/3268 +f 8024/13069/3268 8018/13071/3268 8020/13072/3268 +f 8028/13073/3269 8026/13074/3269 8025/13075/3269 +f 8028/13073/3269 8025/13075/3269 8027/13076/3269 +f 8031/13077/3270 8029/13078/3270 8030/13079/3270 +f 8031/13077/3270 8030/13079/3270 8032/13080/3270 +f 8027/13081/3271 8025/13082/3271 8029/13083/3271 +f 8027/13081/3271 8029/13083/3271 8031/13084/3271 +f 8032/13085/3272 8030/13086/3272 8026/13087/3272 +f 8032/13085/3272 8026/13087/3272 8028/13088/3272 +f 8037/13089/3273 8036/13090/3273 8035/13091/3273 +f 8037/13089/3273 8035/13091/3273 8034/13092/3273 +f 8040/13093/3274 8038/13094/3274 8039/13095/3274 +f 8040/13093/3274 8039/13095/3274 8033/13096/3274 +f 8035/13097/3275 8036/13098/3275 8039/13099/3275 +f 8035/13097/3275 8039/13099/3275 8038/13100/3275 +f 8034/13101/3276 8035/13102/3276 8038/13103/3276 +f 8034/13101/3276 8038/13103/3276 8040/13104/3276 +f 8033/13105/3277 8039/13106/3277 8036/13107/3277 +f 8033/13105/3277 8036/13107/3277 8037/13108/3277 +f 8044/13109/3278 8042/13110/3278 8041/13111/3278 +f 8044/13109/3278 8041/13111/3278 8043/13112/3278 +f 8047/13113/3279 8045/13114/3279 8046/13115/3279 +f 8047/13113/3279 8046/13115/3279 8048/13116/3279 +f 8041/13117/3280 8042/13118/3280 8046/13119/3280 +f 8041/13117/3280 8046/13119/3280 8045/13120/3280 +f 8044/13121/3281 8043/13122/3281 8047/13123/3281 +f 8044/13121/3281 8047/13123/3281 8048/13124/3281 +f 8043/13125/3282 8041/13126/3282 8045/13127/3282 +f 8043/13125/3282 8045/13127/3282 8047/13128/3282 +f 8048/13129/3283 8046/13130/3283 8042/13131/3283 +f 8048/13129/3283 8042/13131/3283 8044/13132/3283 +f 8052/13133/3284 8050/13134/3284 8049/13135/3284 +f 8052/13133/3284 8049/13135/3284 8051/13136/3284 +f 8055/13137/3285 8053/13138/3285 8054/13139/3285 +f 8055/13137/3285 8054/13139/3285 8056/13140/3285 +f 8049/13141/3286 8050/13142/3286 8054/13143/3286 +f 8049/13141/3286 8054/13143/3286 8053/13144/3286 +f 8051/13145/3287 8049/13146/3287 8053/13147/3287 +f 8051/13145/3287 8053/13147/3287 8055/13148/3287 +f 8056/13149/3288 8054/13150/3288 8050/13151/3288 +f 8056/13149/3288 8050/13151/3288 8052/13152/3288 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj.amt new file mode 100644 index 000000000..acedb1bd3 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_taser_locks.obj.amt @@ -0,0 +1,18 @@ +{ + "origins": { + "upgrade_taser_locks": [5, 7.25, 2.4875], + "taser_locks_wire": [-1.8, 67.5, 28] + }, + "hierarchy": { + "taser_locks_wire": "upgrade_taser_locks" + }, + "properties": { + "taser_locks_wire": { + "start": [3.5, 72.9, 31.6], + "end": [20.6, -5.8, 26.1], + "wire_type": "copper", + "diameter": 0.0625, + "slack": 1.02 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj index 237f2a661..bea690952 100644 --- a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj @@ -1,336 +1,313 @@ # Made by Pabilo8 with Blockbench -# Exported with IIToolkit Plugin on 12/05/2026 +# Exported with IIToolkit Plugin on 16/08/2026 mtllib flagpole.mtl o upgrade_unit_post -v 1.75 -0.1875 1 -v 1.75 -0.1875 0.25 -v 1.75 -1.0625 1 -v 1.75 -1.0625 0.25 -v 0.75 -0.1875 1 -v 0.75 -0.1875 0.25 -v 0.75 -1.0625 1 -v 0.75 -1.0625 0.25 -v 1.5988 -0.1875 2.5299 -v 1.625 -0.1875 1.0302 -v 1.5988 -0.6875 2.5299 -v 1.625 -0.6875 1.0302 -v 1.0989 -0.1875 2.5212 -v 1.1251 -0.1875 1.0214 -v 1.0989 -0.6875 2.5212 -v 1.1251 -0.6875 1.0214 -v 1.6119 -0.1875 1.78 -v 1.6119 -0.6875 1.78 -v 1.112 -0.6875 1.7713 -v 1.112 -0.1875 1.7713 -v 0 -1 1.5 -v 0 -0.25 1.5 -v 0 -0.25 1.125 -v -0.75 -0.25 1.5 -v -0.75 -0.25 1.125 -v 0 -1 1.125 -v -0.75 -1 1.125 -v -0.75 -1 1.5 -v -0.2796 -0.8125 2.4908 -v -0.375 -0.8125 2 -v -0.2796 -1 2.4908 -v -0.375 -1 2 -v -0.525 -0.8125 2.5385 -v -0.6204 -0.8125 2.0477 -v -0.525 -1 2.5385 -v -0.6204 -1 2.0477 -v 0 -0.25 1.9375 -v 0 -0.25 1.5625 -v -0.75 -0.25 1.9375 -v -0.75 -0.25 1.5625 -v 0 -1 1.5625 -v -0.75 -1 1.5625 -v 0 -1 1.9375 -v -0.75 -1 1.9375 -v 0.3838 -0.1875 2.3047 -v 0.4485 -0.1875 2.0632 -v 0.5649 -0.4375 2.3532 -v 0.6296 -0.4375 2.1118 -v -0.0991 -0.1875 2.1753 -v -0.0344 -0.1875 1.9338 -v -0.0991 -0.4375 2.1753 -v -0.0344 -0.4375 1.9338 -v 0.2793 -0.0625 2.212 -v 0.3116 -0.0625 2.0912 -v 0.3396 -0.125 2.2282 -v 0.372 -0.125 2.1074 -v 0.0378 -0.0625 2.1473 -v 0.0701 -0.0625 2.0265 -v -0.0226 -0.125 2.1311 -v 0.0098 -0.125 2.0104 -v 0.5649 -0.4375 2.3532 -v 0.6296 -0.4375 2.1118 -v 0.5649 -1 2.3532 -v 0.6296 -1 2.1118 -v -0.0991 -0.4375 2.1753 -v -0.0344 -0.4375 1.9338 -v -0.0991 -1 2.1753 -v -0.0344 -1 1.9338 -v 0.0378 -0.125 2.1473 -v 0.0701 -0.125 2.0265 -v 0.0378 -0.1875 2.1473 -v 0.0701 -0.1875 2.0265 -v -0.0226 -0.125 2.1311 -v 0.0098 -0.125 2.0104 -v -0.0226 -0.1875 2.1311 -v 0.0098 -0.1875 2.0104 -v 0.3396 -0.125 2.2282 -v 0.372 -0.125 2.1074 -v 0.3396 -0.1875 2.2282 -v 0.372 -0.1875 2.1074 -v 0.2793 -0.125 2.212 -v 0.3116 -0.125 2.0912 -v 0.2793 -0.1875 2.212 -v 0.3116 -0.1875 2.0912 -v 0.4882 -0.2048 2.268 -v 0.5205 -0.2048 2.1472 -v 0.5617 -0.3039 2.2877 -v 0.594 -0.3039 2.1669 -v 0.4403 -0.2428 2.2551 -v 0.4726 -0.2428 2.1344 -v 0.5138 -0.342 2.2748 -v 0.5462 -0.342 2.1541 -v 0.3457 -0.1875 2.6639 -v 0.4413 -0.1875 2.433 -v 0.5189 -0.4375 2.7357 -v 0.6146 -0.4375 2.5047 -v -0.1163 -0.1875 2.4726 -v -0.0206 -0.1875 2.2416 -v -0.1163 -0.4375 2.4726 -v -0.0206 -0.4375 2.2416 -v 0.2541 -0.0625 2.5584 -v 0.3019 -0.0625 2.4429 -v 0.3118 -0.125 2.5823 -v 0.3597 -0.125 2.4668 -v 0.0231 -0.0625 2.4627 -v 0.071 -0.0625 2.3472 -v -0.0346 -0.125 2.4388 -v 0.0132 -0.125 2.3233 -v 0.5189 -0.4375 2.7357 -v 0.6146 -0.4375 2.5047 -v 0.5189 -1 2.7357 -v 0.6146 -1 2.5047 -v -0.1163 -0.4375 2.4726 -v -0.0206 -0.4375 2.2416 -v -0.1163 -1 2.4726 -v -0.0206 -1 2.2416 -v 0.0231 -0.125 2.4627 -v 0.071 -0.125 2.3472 -v 0.0231 -0.1875 2.4627 -v 0.071 -0.1875 2.3472 -v -0.0346 -0.125 2.4388 -v 0.0132 -0.125 2.3233 -v -0.0346 -0.1875 2.4388 -v 0.0132 -0.1875 2.3233 -v 0.3118 -0.125 2.5823 -v 0.3597 -0.125 2.4668 -v 0.3118 -0.1875 2.5823 -v 0.3597 -0.1875 2.4668 -v 0.2541 -0.125 2.5584 -v 0.3019 -0.125 2.4429 -v 0.2541 -0.1875 2.5584 -v 0.3019 -0.1875 2.4429 -v 0.4539 -0.2048 2.6411 -v 0.5018 -0.2048 2.5257 -v 0.5242 -0.3039 2.6703 -v 0.5721 -0.3039 2.5548 -v 0.4081 -0.2428 2.6222 -v 0.456 -0.2428 2.5067 -v 0.4784 -0.342 2.6513 -v 0.5263 -0.342 2.5358 -v 0.6622 -0.1875 2.5309 -v 0.9112 -0.1875 2.5527 -v 0.6458 -0.4375 2.7177 -v 0.8949 -0.4375 2.7395 -v 0.7057 -0.1875 2.0328 -v 0.9548 -0.1875 2.0546 -v 0.7057 -0.4375 2.0328 -v 0.9548 -0.4375 2.0546 -v 0.7353 -0.0625 2.4119 -v 0.8598 -0.0625 2.4228 -v 0.7299 -0.125 2.4741 -v 0.8544 -0.125 2.485 -v 0.7571 -0.0625 2.1628 -v 0.8816 -0.0625 2.1737 -v 0.7626 -0.125 2.1005 -v 0.8871 -0.125 2.1114 -v 0.6458 -0.4375 2.7177 -v 0.8949 -0.4375 2.7395 -v 0.6458 -1 2.7177 -v 0.8949 -1 2.7395 -v 0.7057 -0.4375 2.0328 -v 0.9548 -0.4375 2.0546 -v 0.7057 -1 2.0328 -v 0.9548 -1 2.0546 -v 0.7571 -0.125 2.1628 -v 0.8816 -0.125 2.1737 -v 0.7571 -0.1875 2.1628 -v 0.8816 -0.1875 2.1737 -v 0.7626 -0.125 2.1005 -v 0.8871 -0.125 2.1114 -v 0.7626 -0.1875 2.1005 -v 0.8871 -0.1875 2.1114 -v 0.7299 -0.125 2.4741 -v 0.8544 -0.125 2.485 -v 0.7299 -0.1875 2.4741 -v 0.8544 -0.1875 2.485 -v 0.7353 -0.125 2.4119 -v 0.8598 -0.125 2.4228 -v 0.7353 -0.1875 2.4119 -v 0.8598 -0.1875 2.4228 -v 0.7165 -0.2048 2.6273 -v 0.841 -0.2048 2.6382 -v 0.7098 -0.3039 2.7032 -v 0.8344 -0.3039 2.714 -v 0.7208 -0.2428 2.578 -v 0.8453 -0.2428 2.5888 -v 0.7142 -0.342 2.6538 -v 0.8387 -0.342 2.6647 -v 1.625 0.0625 1.375 -v 1.625 0.0625 1 -v 1.625 -0.1875 1.375 -v 1.625 -0.1875 1 -v 1.1875 0.0625 1.375 -v 1.1875 0.0625 1 -v 1.1875 -0.1875 1.375 -v 1.1875 -0.1875 1 -v 1.5625 0.25 1.3125 -v 1.5625 0.25 1.1875 -v 1.5625 0.0625 1.3125 -v 1.5625 0.0625 1.1875 -v 1.4375 0.25 1.3125 -v 1.4375 0.25 1.1875 -v 1.4375 0.0625 1.3125 -v 1.4375 0.0625 1.1875 -v 1.5313 1.625 1.2813 -v 1.5313 1.625 1.2188 -v 1.5313 0.25 1.2813 -v 1.5313 0.25 1.2188 -v 1.4688 1.625 1.2813 -v 1.4688 1.625 1.2188 -v 1.4688 0.25 1.2813 -v 1.4688 0.25 1.2188 -v 1.7067 0.125 2.2834 -v 1.5 0.125 1.5625 -v 1.7067 -0.1875 2.2834 -v 1.5 -0.1875 1.5625 -v 1.3463 0.125 2.3868 -v 1.1395 0.125 1.6659 -v 1.3463 -0.1875 2.3868 -v 1.1395 -0.1875 1.6659 -v 1.1875 0.0313 1.25 -v 1.1875 0.0313 1.0625 -v 1.1875 -0.1562 1.25 -v 1.1875 -0.1562 1.0625 -v 1.125 0.0313 1.25 -v 1.125 0.0313 1.0625 -v 1.125 -0.1562 1.25 -v 1.125 -0.1562 1.0625 -v 1.125 0 1.2188 -v 1.125 0 1.0938 -v 1.125 -0.6875 1.2188 -v 1.125 -0.6875 1.0938 -v 1 -0.0625 1.2188 -v 1 -0.0625 1.0938 -v 1 -0.6875 1.2188 -v 1 -0.6875 1.0938 -v 1 -0.5625 1.2188 -v 1 -0.5625 1.0938 -v 1 -1 1.2188 -v 1 -1 1.0938 -v 0.875 -0.625 1.2188 -v 0.875 -0.625 1.0938 -v 0.875 -1 1.2188 -v 0.875 -1 1.0938 -v 0.875 -0.875 1.2188 -v 0.875 -0.875 1.0938 -v 0.875 -1 1.2188 -v 0.875 -1 1.0938 -v 0.125 -0.875 1.2188 -v 0.125 -0.875 1.0938 -v 0.125 -1 1.2188 -v 0.125 -1 1.0938 -v 0.25 -0.25 1.2188 -v 0.25 -0.25 1.0938 -v 0.25 -0.875 1.2188 -v 0.25 -0.875 1.0938 -v 0.125 -0.25 1.2188 -v 0.125 -0.25 1.0938 -v 0.125 -0.875 1.2188 -v 0.125 -0.875 1.0938 -v 0.1875 -0.125 1.2188 -v 0.1875 -0.125 1.0938 -v 0.25 -0.25 1.2188 -v 0.25 -0.25 1.0938 -v -0.1875 -0.125 1.2188 -v -0.1875 -0.125 1.0938 -v -0.1875 -0.25 1.2188 -v -0.1875 -0.25 1.0938 -v -0.1875 -0.125 1.7188 -v -0.1875 -0.125 1.0938 -v -0.1875 -0.25 1.7188 -v -0.1875 -0.25 1.0938 -v -0.3125 -0.125 1.7813 -v -0.3125 -0.125 1.1563 -v -0.3125 -0.25 1.7813 -v -0.3125 -0.25 1.1563 -v -0.3125 -0.125 1.7813 -v -0.3125 -0.125 1.6563 -v -0.3125 -0.25 1.7813 -v -0.3125 -0.25 1.6563 -v -0.5625 -0.125 1.7813 -v -0.5625 -0.125 1.6563 -v -0.5 -0.25 1.7813 -v -0.5 -0.25 1.6563 -v -0.4375 0.0625 1.7813 -v -0.4375 0 1.6563 -v -0.4375 -0.125 1.7813 -v -0.4375 -0.125 1.6563 -v -0.5625 0.0625 1.7813 -v -0.5625 0 1.6563 -v -0.5625 -0.125 1.7813 -v -0.5625 -0.125 1.6563 -v -0.4375 0.0625 1.9063 -v -0.4375 0.0625 1.7813 -v -0.4375 -0.0625 1.9063 -v -0.4375 -0.0625 1.7813 -v -0.5625 0.0625 1.9063 -v -0.5625 0.0625 1.7813 -v -0.5625 -0.0625 1.9063 -v -0.5625 -0.0625 1.7813 -v -0.1861 0.1875 2.4588 -v -0.3213 0.1875 1.8486 -v -0.1861 -0.1875 2.4588 -v -0.3213 -0.1875 1.8486 -v -0.4912 0.1875 2.5264 -v -0.6264 0.1875 1.9162 -v -0.4912 -0.1875 2.5264 -v -0.6264 -0.1875 1.9162 -v -0.3917 0.0938 1.8649 -v -0.4053 0.0938 1.8038 -v -0.3917 -0.0937 1.8649 -v -0.4053 -0.0937 1.8038 -v -0.5748 0.0938 1.9054 -v -0.5883 0.0938 1.8444 -v -0.5748 -0.0937 1.9054 -v -0.5883 -0.0937 1.8444 -vt 0.875 0.125 -vt 0.875 0.875 -vt 0.125 0.875 -vt 0.125 0.125 -vt 0.125 0.125 +v 0.0195 -0.1875 0.2216 +v -0.7305 -0.1875 0.2216 +v 0.0195 -1.0625 0.2216 +v -0.7305 -1.0625 0.2216 +v 0.0194 -0.1875 1.2216 +v -0.7305 -0.1875 1.2216 +v 0.0194 -1.0625 1.2216 +v -0.7305 -1.0625 1.2216 +v 0.5194 -1 2.0028 +v 0.5194 -0.25 2.0028 +v 0.1444 -0.25 2.0028 +v 0.5194 -0.25 2.7528 +v 0.1444 -0.25 2.7528 +v 0.1444 -1 2.0028 +v 0.1444 -1 2.7528 +v 0.5194 -1 2.7528 +v 0.9569 -0.25 2.0028 +v 0.5819 -0.25 2.0028 +v 0.9569 -0.25 2.7528 +v 0.5819 -0.25 2.7528 +v 0.5819 -1 2.0028 +v 0.5819 -1 2.7528 +v 0.9569 -1 2.0028 +v 0.9569 -1 2.7528 +v 1.5504 -0.1875 1.3094 +v 1.5722 -0.1875 1.0604 +v 1.7372 -0.4375 1.3257 +v 1.759 -0.4375 1.0767 +v 1.0523 -0.1875 1.2658 +v 1.0741 -0.1875 1.0168 +v 1.0523 -0.4375 1.2658 +v 1.0741 -0.4375 1.0168 +v 1.4313 -0.0625 1.2362 +v 1.4422 -0.0625 1.1117 +v 1.4936 -0.125 1.2417 +v 1.5045 -0.125 1.1172 +v 1.1823 -0.0625 1.2145 +v 1.1932 -0.0625 1.0899 +v 1.12 -0.125 1.209 +v 1.1309 -0.125 1.0845 +v 1.7372 -0.4375 1.3257 +v 1.759 -0.4375 1.0767 +v 1.7372 -1 1.3257 +v 1.759 -1 1.0767 +v 1.0523 -0.4375 1.2658 +v 1.0741 -0.4375 1.0168 +v 1.0523 -1 1.2658 +v 1.0741 -1 1.0168 +v 1.1823 -0.125 1.2145 +v 1.1932 -0.125 1.0899 +v 1.1823 -0.1875 1.2145 +v 1.1932 -0.1875 1.0899 +v 1.12 -0.125 1.209 +v 1.1309 -0.125 1.0845 +v 1.12 -0.1875 1.209 +v 1.1309 -0.1875 1.0845 +v 1.4936 -0.125 1.2417 +v 1.5045 -0.125 1.1172 +v 1.4936 -0.1875 1.2417 +v 1.5045 -0.1875 1.1172 +v 1.4313 -0.125 1.2362 +v 1.4422 -0.125 1.1117 +v 1.4313 -0.1875 1.2362 +v 1.4422 -0.1875 1.1117 +v 1.6468 -0.2048 1.2551 +v 1.6577 -0.2048 1.1306 +v 1.7226 -0.3039 1.2617 +v 1.7335 -0.3039 1.1372 +v 1.5974 -0.2428 1.2508 +v 1.6083 -0.2428 1.1263 +v 1.6732 -0.342 1.2574 +v 1.6841 -0.342 1.1329 +v 0.3945 0.125 0.3466 +v 0.0195 0.125 0.3466 +v 0.3945 -0.125 0.3466 +v 0.0195 -0.125 0.3466 +v 0.3945 0.125 0.7841 +v 0.0195 0.125 0.7841 +v 0.3945 -0.125 0.7841 +v 0.0195 -0.125 0.7841 +v 0.332 0.3125 0.4091 +v 0.207 0.3125 0.4091 +v 0.332 0.125 0.4091 +v 0.207 0.125 0.4091 +v 0.332 0.3125 0.5341 +v 0.207 0.3125 0.5341 +v 0.332 0.125 0.5341 +v 0.207 0.125 0.5341 +v 0.9948 -0.172 1.4093 +v 0.7619 -0.2047 1.494 +v 0.9613 -0.4199 1.2219 +v 0.7284 -0.4525 1.3067 +v 1.1658 -0.172 1.8791 +v 0.9329 -0.2047 1.9639 +v 1.1965 -0.4199 1.8679 +v 0.9635 -0.4525 1.9527 +v 0.964 -0.0562 1.5535 +v 0.8475 -0.0726 1.5959 +v 0.9503 -0.1182 1.492 +v 0.8338 -0.1345 1.5344 +v 1.0495 -0.0562 1.7884 +v 0.933 -0.0726 1.8308 +v 1.0785 -0.1182 1.8444 +v 0.9621 -0.1345 1.8867 +v 0.9613 -0.4199 1.2219 +v 0.7284 -0.4525 1.3067 +v 1.0303 -0.9776 1.1968 +v 0.7974 -1.0102 1.2816 +v 1.1965 -0.4199 1.8679 +v 0.9635 -0.4525 1.9527 +v 1.2654 -0.9776 1.8428 +v 1.0325 -1.0102 1.9276 +v 1.0571 -0.1182 1.7856 +v 0.9407 -0.1345 1.828 +v 1.0648 -0.1802 1.7828 +v 0.9483 -0.1965 1.8252 +v 1.0785 -0.1182 1.8444 +v 0.9621 -0.1345 1.8867 +v 1.0862 -0.1802 1.8416 +v 0.9697 -0.1965 1.884 +v 0.9503 -0.1182 1.492 +v 0.8338 -0.1345 1.5344 +v 0.9579 -0.1802 1.4892 +v 0.8415 -0.1965 1.5316 +v 0.9716 -0.1182 1.5507 +v 0.8552 -0.1345 1.5931 +v 0.9793 -0.1802 1.5479 +v 0.8628 -0.1965 1.5903 +v 0.9074 -0.1973 1.3439 +v 0.791 -0.2136 1.3863 +v 0.8936 -0.2956 1.2679 +v 0.7771 -0.3119 1.3103 +v 0.9291 -0.235 1.3888 +v 0.8126 -0.2513 1.4312 +v 0.9152 -0.3333 1.3128 +v 0.7987 -0.3497 1.3552 +v 1.3081 -0.1517 1.483 +v 1.1628 -0.2261 1.6724 +v 1.2002 -0.3869 1.3078 +v 1.0549 -0.4613 1.4972 +v 1.7064 -0.1608 1.785 +v 1.5612 -0.2352 1.9744 +v 1.7479 -0.3994 1.7231 +v 1.6027 -0.4738 1.9125 +v 1.3506 -0.0533 1.6368 +v 1.2779 -0.0905 1.7315 +v 1.3112 -0.1118 1.5836 +v 1.2385 -0.149 1.6783 +v 1.5498 -0.0578 1.7878 +v 1.4771 -0.095 1.8825 +v 1.6099 -0.1186 1.8101 +v 1.5373 -0.1558 1.9048 +v 1.2002 -0.3869 1.3078 +v 1.0549 -0.4613 1.4972 +v 1.2936 -0.9238 1.1684 +v 1.1483 -0.9982 1.3578 +v 1.7479 -0.3994 1.7231 +v 1.6027 -0.4738 1.9125 +v 1.8414 -0.9363 1.5838 +v 1.6961 -1.0107 1.7731 +v 1.5601 -0.1175 1.7724 +v 1.4875 -0.1547 1.867 +v 1.5705 -0.1771 1.7569 +v 1.4979 -0.2143 1.8516 +v 1.6099 -0.1186 1.8101 +v 1.5373 -0.1558 1.9048 +v 1.6203 -0.1782 1.7946 +v 1.5477 -0.2155 1.8893 +v 1.3112 -0.1118 1.5836 +v 1.2385 -0.149 1.6783 +v 1.3215 -0.1714 1.5681 +v 1.2489 -0.2086 1.6628 +v 1.361 -0.1129 1.6213 +v 1.2883 -0.1501 1.716 +v 1.3713 -0.1726 1.6059 +v 1.2987 -0.2098 1.7005 +v 1.2019 -0.1851 1.4709 +v 1.1292 -0.2223 1.5656 +v 1.1577 -0.2784 1.4004 +v 1.0851 -0.3156 1.495 +v 1.2477 -0.2223 1.4914 +v 1.1751 -0.2595 1.5861 +v 1.2035 -0.3156 1.4209 +v 1.1309 -0.3528 1.5156 +v 0.207 0.125 0.3466 +v 0.207 0.125 0.7841 +v 0.207 -0.125 0.7841 +v 0.207 -0.125 0.3466 +v 0.207 0.125 0.4924 +v 0.3945 0.125 0.4924 +v 0.3945 -0.125 0.4924 +v 0.207 -0.125 0.4924 +v 0.0195 -0.125 0.4924 +v 0.0195 0.125 0.4924 +v 0.0194 -0.8125 1.5966 +v 0.2069 0 1.7841 +v 0.2069 -0.1875 1.7841 +v 0.2069 0 2.4091 +v 0.2069 -0.1875 2.4091 +v 0.0194 0 1.7841 +v 0.0194 -0.1875 1.7841 +v 0.0194 0 2.4091 +v 0.0194 -0.1875 2.4091 +v 0.2069 0 2.4091 +v 0.2069 -0.1875 2.4091 +v 0.8319 0 2.4091 +v 0.8319 -0.1875 2.4091 +v 0.2069 0 2.5966 +v 0.2069 -0.1875 2.5966 +v 0.8319 0 2.5966 +v 0.8319 -0.1875 2.5966 +v 0.0194 -0.0625 1.5966 +v 0.0194 0 1.7841 +v 0.0194 -0.1875 1.5966 +v 0.0194 -0.1875 1.7841 +v 0.2069 -0.0625 1.5966 +v 0.2069 0 1.7841 +v 0.2069 -0.1875 1.5966 +v 0.2069 -0.1875 1.7841 +v 0.2069 -0.1875 1.7841 +v 0.2069 -0.1875 1.5966 +v 0.2069 -0.8125 1.7841 +v 0.2069 -0.8125 1.5966 +v 0.0194 -0.1875 1.7841 +v 0.0194 -0.1875 1.5966 +v 0.0194 -0.8125 1.7841 +v 0.0194 -0.8125 1.5966 +v 0.2069 -0.8125 0.9716 +v 0.2069 -1 0.9716 +v 0.2069 -0.8125 1.5966 +v 0.2069 -1 1.5966 +v 0.0194 -0.8125 0.9716 +v 0.0194 -1 0.9716 +v 0.0194 -1 1.5966 +v 0.0194 -1 1.7216 +v 0.0194 -0.8125 1.7841 +v 0.0194 -1 1.5966 +v 0.0194 -0.8125 1.5966 +v 0.2069 -1 1.7216 +v 0.2069 -0.8125 1.7841 +v 0.2069 -1 1.5966 +v 0.2069 -0.8125 1.5966 +v 0.0819 0 2.5966 +v 0.0194 0 2.4091 +v 0.2069 0 2.5966 +v 0.2069 0 2.4091 +v 0.0819 -0.1875 2.5966 +v 0.0194 -0.1875 2.4091 +v 0.2069 -0.1875 2.5966 +v 0.0195 -1 0.8466 +v 0.0195 -0.8125 0.7841 +v 0.0194 -1 0.9716 +v 0.0194 -0.8125 0.9716 +v 0.207 -1 0.8466 +v 0.207 -0.8125 0.7841 +v 0.2069 -1 0.9716 +v 0.2069 -0.8125 0.9716 +v 0.2069 -0.0625 0.9716 +v 0.207 -0.0625 0.7841 +v 0.2069 -0.8125 0.9716 +v 0.207 -0.8125 0.7841 +v 0.0194 -0.0625 0.9716 +v 0.0195 -0.0625 0.7841 +v 0.0194 -0.8125 0.9716 +v 0.0195 -0.8125 0.7841 +v 0.2069 0.0625 0.9716 +v 0.207 0.125 0.7841 +v 0.2069 -0.0625 0.9716 +v 0.207 -0.0625 0.7841 +v 0.0194 0.0625 0.9716 +v 0.0195 0.125 0.7841 +v 0.0194 -0.0625 0.9716 +v 0.0195 -0.0625 0.7841 +v 0.3007 1.6875 0.4403 +v 0.2382 1.6875 0.4403 +v 0.3007 0.3125 0.4403 +v 0.2382 0.3125 0.4403 +v 0.3007 1.6875 0.5028 +v 0.2382 1.6875 0.5028 +v 0.3007 0.3125 0.5028 +v 0.2382 0.3125 0.5028 +v 0.7748 -0.125 0.2451 +v 0.033 -0.125 0.3559 +v 0.7748 -0.4375 0.2451 +v 0.033 -0.4375 0.3559 +v 0.8302 -0.125 0.6159 +v 0.0884 -0.125 0.7268 +v 0.8302 -0.4375 0.6159 +v 0.0884 -0.4375 0.7268 +v 1.2921 0.2358 2.2542 +v 0.6964 0.1038 2.3895 +v 1.3733 -0.1303 2.2542 +v 0.7776 -0.2623 2.3895 +v 1.3581 0.2505 2.5593 +v 0.7624 0.1184 2.6946 +v 1.4393 -0.1156 2.5593 +v 0.8436 -0.2477 2.6946 +vt 0.875 0.0625 +vt 0.875 0.9375 vt 0.125 0.9375 +vt 0.125 0.0625 +vt 0.875 0.0625 vt 0.875 0.9375 -vt 0.875 0.125 -vt 0 0 -vt 0.75 0 -vt 0.75 1 -vt 0 1 +vt 0.125 0.9375 +vt 0.125 0.0625 vt 0 0 vt 0.75 0 vt 0.75 1 @@ -339,54 +316,6 @@ vt 0 0 vt 0.8125 0 vt 0.8125 1 vt 0 1 -vt 0 0 -vt 0.75 0 -vt 0.75 1 -vt 0 1 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 0.2813 0.2813 -vt 0.2813 0.5313 -vt 0.0313 0.5313 -vt 0.0313 0.2813 -vt 0.2813 0.2813 -vt 0.2813 0.5313 -vt 0.0313 0.5313 -vt 0.0313 0.2813 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 1 0.3438 -vt 1 0.4219 -vt 1 0.4219 -vt 1 0.3438 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.8438 0.9688 -vt 0.4688 0.9688 -vt 0.4688 0.7188 -vt 0.8438 0.7188 -vt 0.8281 0 -vt 0.8281 0.1875 -vt 0.7344 0.1875 -vt 0.7344 0 vt 0.8281 0 vt 0.8281 0.1875 vt 0.7344 0.1875 @@ -403,38 +332,6 @@ vt 0.875 0 vt 0.875 0.1875 vt 0.6875 0.1875 vt 0.6875 0 -vt 0.75 0.5 -vt 0.9375 0.5 -vt 0.9375 0.4063 -vt 0.75 0.4063 -vt 0.5 0.3281 -vt 0.5 0.375 -vt 0.375 0.375 -vt 0.375 0.3281 -vt 0.4219 0.3125 -vt 0.4219 0.3438 -vt 0.3438 0.3438 -vt 0.3438 0.3125 -vt 0.5156 0.375 -vt 0.3906 0.375 -vt 0.3906 0.3125 -vt 0.5156 0.3125 -vt 0.3906 0.3125 -vt 0.3906 0.3438 -vt 0.3594 0.3438 -vt 0.3594 0.3125 -vt 0.4063 0.3125 -vt 0.4063 0.3438 -vt 0.375 0.3438 -vt 0.375 0.3125 -vt 0.375 0.3125 -vt 0.375 0.3438 -vt 0.3438 0.3438 -vt 0.3438 0.3125 -vt 0.8281 0 -vt 0.8281 0.1875 -vt 0.7344 0.1875 -vt 0.7344 0 vt 0.8281 0 vt 0.8281 0.1875 vt 0.7344 0.1875 @@ -451,10 +348,6 @@ vt 0.875 0 vt 0.875 0.1875 vt 0.6875 0.1875 vt 0.6875 0 -vt 0.75 0.5 -vt 0.9375 0.5 -vt 0.9375 0.4063 -vt 0.75 0.4063 vt 0.7656 0.1875 vt 0.8438 0.1875 vt 0.8438 0.25 @@ -571,6 +464,50 @@ vt 0.8438 0.2813 vt 0.8438 0.3125 vt 0.8281 0.3125 vt 0.8281 0.2813 +vt 0.375 0.0625 +vt 0.3281 0.0625 +vt 0.3281 0 +vt 0.375 0 +vt 0.3125 0 +vt 0.3594 0 +vt 0.3594 0.0625 +vt 0.3125 0.0625 +vt 0.75 0.2969 +vt 0.8229 0.2969 +vt 0.8229 0.25 +vt 0.75 0.25 +vt 1 0.6094 +vt 1 0.6094 +vt 1 0.6563 +vt 1 0.6563 +vt 0.2813 0 +vt 0.3542 0 +vt 0.3542 0.0625 +vt 0.2813 0.0625 +vt 0.3906 0.0625 +vt 0.3177 0.0625 +vt 0.3177 0 +vt 0.3906 0 +vt 0.9063 0.0938 +vt 0.9063 0.1406 +vt 0.875 0.1406 +vt 0.875 0.0938 +vt 0.9063 0.0938 +vt 0.9063 0.1406 +vt 0.875 0.1406 +vt 0.875 0.0938 +vt 0.9063 0.0938 +vt 0.9063 0.125 +vt 0.875 0.125 +vt 0.875 0.0938 +vt 0.9063 0.0938 +vt 0.9063 0.1406 +vt 0.875 0.1406 +vt 0.875 0.0938 +vt 0.9063 0.0938 +vt 0.9063 0.1406 +vt 0.875 0.1406 +vt 0.875 0.0938 vt 0.7656 0.1875 vt 0.8438 0.1875 vt 0.8438 0.25 @@ -803,78 +740,206 @@ vt 0.8438 0.2813 vt 0.8438 0.3125 vt 0.8281 0.3125 vt 0.8281 0.2813 -vt 0.375 0 -vt 0.375 0.0625 -vt 0.2813 0.0625 -vt 0.2813 0 -vt 0.4063 0 +vt 0.75 0.25 +vt 0.8229 0.25 +vt 0.8229 0.2969 +vt 0.75 0.2969 vt 0.4063 0.0625 -vt 0.3125 0.0625 -vt 0.3125 0 -vt 0.8594 0.25 -vt 0.8594 0.3438 -vt 0.75 0.3438 +vt 0.3594 0.0625 +vt 0.3594 0 +vt 0.4063 0 +vt 1 0.6563 +vt 1 0.6563 +vt 1 0.7031 +vt 1 0.7031 +vt 0.2813 0 +vt 0.3281 0 +vt 0.3281 0.0625 +vt 0.2813 0.0625 +vt 0.75 0.2969 +vt 0.7813 0.2969 +vt 0.7813 0.25 vt 0.75 0.25 -vt 1 0.6094 +vt 0.3906 0.0625 +vt 0.3542 0.0625 +vt 0.3542 0 +vt 0.3906 0 vt 1 0.7031 vt 1 0.7031 +vt 1 0.6563 +vt 1 0.6563 +vt 1 0.6563 +vt 1 0.6563 +vt 1 0.6094 vt 1 0.6094 -vt 0.3906 0 -vt 0.3906 0.0625 -vt 0.2813 0.0625 vt 0.2813 0 -vt 0.3906 0 -vt 0.3906 0.0625 +vt 0.3177 0 +vt 0.3177 0.0625 vt 0.2813 0.0625 -vt 0.2813 0 -vt 0.9063 0.0938 -vt 0.9063 0.1406 -vt 0.875 0.1406 -vt 0.875 0.0938 -vt 0.9063 0.0938 -vt 0.9063 0.1406 -vt 0.875 0.1406 -vt 0.875 0.0938 -vt 0.9063 0.0938 -vt 0.9063 0.125 -vt 0.875 0.125 -vt 0.875 0.0938 -vt 1 0.8906 -vt 1 0.9219 -vt 1 0.9219 -vt 1 0.8906 -vt 0.9063 0.0938 -vt 0.9063 0.1406 -vt 0.875 0.1406 -vt 0.875 0.0938 -vt 0.9063 0.0938 -vt 0.9063 0.1406 -vt 0.875 0.1406 -vt 0.875 0.0938 -vt 1 0.2188 -vt 1 0.5625 -vt 0.9844 0.5625 -vt 0.9844 0.2188 -vt 0.9844 0.1719 -vt 0.9844 0.5156 -vt 0.9688 0.5156 -vt 0.9688 0.1719 -vt 0.1563 0.5 -vt 0.1563 0.5 -vt 0.1563 0.5 +vt 0.75 0.25 +vt 0.7813 0.25 +vt 0.7813 0.2969 +vt 0.75 0.2969 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 1 0.125 +vt 1 0.3125 +vt 0.8125 0.3125 +vt 0.8125 0.125 +vt 0.8125 0.125 +vt 0.8125 0.3125 +vt 1 0.3125 +vt 1 0.125 +vt 0.5 0.8125 +vt 0.5 1 +vt 0.3125 1 +vt 0.3125 0.8125 +vt 0.5 0.75 +vt 0.5 0.875 +vt 0.3125 0.875 +vt 0.3125 0.75 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.5 0.125 +vt 0.5 0.75 +vt 0.3125 0.75 +vt 0.3125 0.125 +vt 0.8125 0.3125 +vt 1 0.3125 +vt 1 0.125 +vt 0.8125 0.125 +vt 1 0.3125 +vt 0.8125 0.3125 +vt 0.8125 0.125 +vt 1 0.125 +vt 0.3125 1 +vt 0.5 1 +vt 0.5 0.8125 +vt 0.3125 0.8125 +vt 1 0.125 +vt 1 0.3125 +vt 0.8125 0.3125 +vt 0.8125 0.125 +vt 0.5 0.8125 +vt 0.5 1 +vt 0.3125 1 +vt 0.3125 0.8125 +vt 0.5 0.75 +vt 0.5 0.875 +vt 0.3125 0.875 +vt 0.3125 0.75 +vt 1 0.125 +vt 1 0.3125 +vt 0.8125 0.3125 +vt 0.8125 0.125 +vt 0.8125 0.125 +vt 0.8125 0.3125 +vt 1 0.3125 +vt 1 0.125 +vt 0.5 0.8125 +vt 0.5 1 +vt 0.3125 1 +vt 0.3125 0.8125 +vt 0.5 0.0625 +vt 0.5 0.8125 +vt 0.3125 0.8125 +vt 0.3125 0.0625 +vt 0.5 0.0625 +vt 0.5 0.8125 +vt 0.3125 0.8125 +vt 0.3125 0.0625 +vt 0.5 0.0625 +vt 0.5 0.8125 +vt 0.3125 0.8125 +vt 0.3125 0.0625 +vt 0.5 0.0625 +vt 0.5 0.8125 +vt 0.3125 0.8125 +vt 0.3125 0.0625 +vt 1 0.125 +vt 1 0.3125 +vt 0.8125 0.3125 +vt 0.8125 0.125 +vt 0.8125 0.125 +vt 0.8125 0.3125 +vt 1 0.3125 +vt 1 0.125 +vt 0.5 0.8125 +vt 0.5 1 +vt 0.3125 1 +vt 0.3125 0.8125 +vt 0.5 0.75 +vt 0.5 0.875 +vt 0.3125 0.875 +vt 0.3125 0.75 +vt 0.7188 0.4219 +vt 0.7188 0.7656 +vt 0.7031 0.7656 +vt 0.7031 0.4219 +vt 0.7188 0.4219 +vt 0.7188 0.7656 +vt 0.7031 0.7656 +vt 0.7031 0.4219 +vt 0.1719 0.4844 +vt 0.1719 0.5 vt 0.1563 0.5 -vt 1 0.1563 -vt 1 0.1719 -vt 1 0.1719 -vt 1 0.1563 -vt 0.9844 0.1094 -vt 0.9844 0.4531 -vt 0.9688 0.4531 -vt 0.9688 0.1094 -vt 0.9844 0.1719 -vt 0.9844 0.5156 -vt 0.9688 0.5156 -vt 0.9688 0.1719 +vt 0.1563 0.4844 +vt 0.7188 0.4219 +vt 0.7188 0.7656 +vt 0.7031 0.7656 +vt 0.7031 0.4219 +vt 0.7188 0.4219 +vt 0.7188 0.7656 +vt 0.7031 0.7656 +vt 0.7031 0.4219 vt 0.9063 0.8125 vt 0.9844 0.8125 vt 0.9844 1 @@ -899,242 +964,14 @@ vt 0.9063 0.7344 vt 0.9063 0.8125 vt 0.8125 0.8125 vt 0.8125 0.7344 -vt 0.375 0 -vt 0.375 0.0625 -vt 0.2813 0.0625 -vt 0.2813 0 -vt 0.9688 0.0781 -vt 0.9688 0.125 -vt 0.9219 0.125 -vt 0.9219 0.0781 -vt 0.9531 0.0781 -vt 0.9531 0.125 -vt 0.9375 0.125 -vt 0.9375 0.0781 -vt 0.9375 0.0938 -vt 0.9375 0.1406 -vt 0.9219 0.1406 -vt 0.9219 0.0938 -vt 0.9375 0.0781 -vt 0.9375 0.125 -vt 0.9219 0.125 -vt 0.9219 0.0781 -vt 0.9219 0.0938 -vt 0.9219 0.1406 -vt 0.9063 0.1406 -vt 0.9063 0.0938 -vt 0.125 0.1875 -vt 0.125 0.875 -vt 0 0.875 -vt 0 0.1875 -vt 0.375 0.1875 -vt 0.375 0.875 -vt 0.25 0.875 -vt 0.25 0.1875 -vt 0.125 1 -vt 0.125 0.875 -vt 0.25 0.875 -vt 0.25 1 -vt 0.25 0.875 -vt 0.25 1 -vt 0.375 1 -vt 0.375 0.875 -vt 0.5 0.1875 -vt 0.5 0.875 -vt 0.375 0.875 -vt 0.375 0.1875 -vt 0.25 0.1875 -vt 0.25 0.8125 -vt 0.125 0.875 -vt 0.125 0.1875 -vt 0.125 0.4375 -vt 0.125 0.875 -vt 0 0.875 -vt 0 0.4375 -vt 0.4375 0.4375 -vt 0.4375 0.8125 -vt 0.3125 0.8125 -vt 0.3125 0.4375 -vt 0.125 1 -vt 0.125 0.875 -vt 0.25 0.875 -vt 0.25 1 -vt 0.25 0.875 -vt 0.25 1 -vt 0.375 1 -vt 0.375 0.875 -vt 0.5 0.4375 -vt 0.5 0.875 -vt 0.375 0.875 -vt 0.375 0.4375 -vt 0.25 0.3125 -vt 0.25 0.6875 -vt 0.125 0.75 -vt 0.125 0.3125 -vt 0.25 0.875 -vt 0.125 0.875 -vt 0.125 0.75 -vt 0.25 0.75 -vt 0.125 0.125 -vt 0.25 0.125 -vt 0.25 0.875 -vt 0.125 0.875 -vt 0.25 0.125 -vt 0.125 0.125 -vt 0.125 0.875 -vt 0.25 0.875 -vt 0.25 0.125 -vt 0.125 0.125 -vt 0.125 0.875 -vt 0.25 0.875 -vt 0.25 0.875 -vt 0.125 0.875 -vt 0.125 0.125 -vt 0.25 0.125 -vt 0.5 0.25 -vt 0.5 0.875 -vt 0.375 0.875 -vt 0.375 0.25 -vt 0.5 0.25 -vt 0.5 0.875 -vt 0.375 0.875 -vt 0.375 0.25 -vt 0.4375 0.25 -vt 0.4375 0.875 -vt 0.3125 0.875 -vt 0.3125 0.25 -vt 0.4375 0.25 -vt 0.4375 0.875 -vt 0.3125 0.875 -vt 0.3125 0.25 -vt 0.6875 0.875 -vt 0.6875 1 -vt 0.5625 1 -vt 0.5625 0.875 -vt 1 0.75 -vt 1 0.875 -vt 1 0.875 -vt 1 0.75 -vt 0 0.9375 -vt 0.125 0.9375 -vt 0.125 0.5625 -vt 0 0.5625 -vt 0 1 -vt 0.125 1 -vt 0.125 0.5625 -vt 0 0.5625 -vt 0.125 1 -vt 0 0.9375 -vt 0 0.5625 -vt 0.125 0.5625 -vt 0 0.5625 -vt 0.125 0.5625 -vt 0.125 0.9375 -vt 0 1 -vt 0.125 1 -vt 0 1 -vt 0 0.375 -vt 0.125 0.375 -vt 0.125 1 -vt 0 1 -vt 0 0.375 -vt 0.125 0.375 -vt 0.125 0.375 -vt 0.125 1 -vt 0 0.9375 -vt 0 0.3125 -vt 0.125 0.3125 -vt 0.125 0.9375 -vt 0 1 -vt 0 0.375 -vt 1 0.75 -vt 1 0.875 -vt 1 0.875 -vt 1 0.75 -vt 0.4991 0.4375 -vt 0.4991 0.5625 -vt 0.375 0.5625 -vt 0.375 0.4375 -vt 1 0.75 -vt 1 0.875 -vt 1 0.875 -vt 1 0.75 -vt 0.125 0.8759 -vt 0.125 1 -vt 0 1 -vt 0 0.8759 -vt 0 0.75 -vt 0.125 0.75 -vt 0.125 1 -vt 0 1 -vt 0 0.75 -vt 0.125 0.75 -vt 0.125 0.9375 -vt 0 0.9375 -vt 0 0.75 -vt 0.125 0.75 -vt 0.125 1 -vt 0 0.9375 -vt 0 0.8125 -vt 0.125 0.75 -vt 0.125 1 -vt 0 1 -vt 0 0.8125 -vt 0 0.9375 -vt 0.125 1 -vt 0.125 0.8125 -vt 0.125 0.8125 -vt 0.125 1 -vt 0 0.9375 -vt 0 0.8125 -vt 0 1 -vt 0 0.8759 -vt 0.125 0.8759 -vt 0.125 1 -vt 1 0.875 -vt 1 1 -vt 1 1 -vt 1 0.875 -vt 1 0.6875 -vt 1 0.875 -vt 1 0.875 -vt 1 0.6875 -vt 0.125 0.875 -vt 0.125 1 -vt 0 1 -vt 0 0.875 -vt 0.125 0.875 -vt 0.125 1 -vt 0 1 -vt 0 0.875 -vt 0.125 0.875 -vt 0.125 1 -vt 0 1 -vt 0 0.875 -vt 0.125 0.875 -vt 0.125 1 -vt 0 1 -vt 0 0.875 -vt 0.125 0.875 -vt 0.125 1 -vt 0 1 -vt 0 0.875 -vt 0.125 0.875 -vt 0.125 1 -vt 0 1 -vt 0 0.875 -vt 1 0.75 -vt 1 0.875 -vt 1 0.875 -vt 1 0.75 vt 0.9219 0.25 vt 0.9219 0.3438 vt 0.7656 0.3438 vt 0.7656 0.25 -vt 0.9219 0.25 -vt 0.9219 0.3438 vt 0.7656 0.3438 vt 0.7656 0.25 +vt 0.9219 0.25 +vt 0.9219 0.3438 vt 0.7656 0.3281 vt 0.9219 0.3281 vt 0.9219 0.25 @@ -1151,464 +988,527 @@ vt 0.8438 0.3438 vt 0.8438 0.25 vt 0.9219 0.25 vt 0.9219 0.3438 -vt 0.3281 0.7969 -vt 0.3281 0.8438 -vt 0.3125 0.8438 -vt 0.3125 0.7969 -vt 0.3906 0.7969 -vt 0.3906 0.8438 -vt 0.375 0.8438 -vt 0.375 0.7969 -vt 0.3281 0.8594 -vt 0.3281 0.8438 -vt 0.375 0.8438 -vt 0.375 0.8594 -vt 0.375 0.8438 -vt 0.375 0.8594 -vt 0.4219 0.8594 -vt 0.4219 0.8438 -vt 0.4375 0.7969 -vt 0.4375 0.8438 -vt 0.3906 0.8438 -vt 0.3906 0.7969 -vt 0.375 0.7969 -vt 0.375 0.8438 -vt 0.3281 0.8438 -vt 0.3281 0.7969 -vn 1 0 0 -vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 vn 0 0 -1 -vn 1 0 0.02 -vn -1 0 -0.02 -vn 0 1 0 -vn 0 -1 0 -vn -0.02 0 1 -vn 0.02 0 -1 -vn 1 0 0.02 -vn 0 -1 0 -vn -1 0 -0.02 +vn 0 0 1 vn 0 1 0 vn 1 0 0 -vn -1 0 0 -vn 0 1 0 -vn 0 0 1 vn 0 0 -1 -vn 0 -1 0 -vn 0.98 0 -0.19 -vn -0.98 0 0.19 vn 0 1 0 -vn 0 -1 0 -vn 0.19 0 0.98 -vn -0.19 0 -0.98 vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 0 1 vn 0 0 -1 -vn 0 -1 0 -vn 0.77 0.6 0.21 -vn -0.97 0 -0.26 vn 0 1 0 -vn -0.26 0 0.97 -vn 0.26 0 -0.97 -vn 0.68 0.71 0.18 -vn -0.68 0.71 -0.18 -vn 0 1 0 -vn 0 -1 0 -vn -0.26 0 0.97 -vn 0.26 0 -0.97 -vn 0.97 0 0.26 -vn -0.97 0 -0.26 -vn 0 -1 0 -vn -0.26 0 0.97 -vn 0.26 0 -0.97 -vn 0.97 0 0.26 -vn -0.97 0 -0.26 -vn -0.26 0 0.97 -vn 0.26 0 -0.97 -vn 0.97 0 0.26 -vn -0.97 0 -0.26 -vn -0.26 0 0.97 -vn 0.26 0 -0.97 -vn 0.77 0.61 0.21 -vn -0.59 0.79 -0.16 -vn 0.59 -0.79 0.16 -vn -0.26 0 0.97 -vn 0.26 0 -0.97 -vn 0.74 0.6 0.31 -vn -0.92 0 -0.38 -vn 0 1 0 -vn -0.38 0 0.92 -vn 0.38 0 -0.92 -vn 0.65 0.71 0.27 -vn -0.65 0.71 -0.27 +vn 1 0 0 +vn -1 0 0 +vn 0.8 0.6 0.07 +vn -1 0 -0.09 vn 0 1 0 -vn 0 -1 0 -vn -0.38 0 0.92 -vn 0.38 0 -0.92 -vn 0.92 0 0.38 -vn -0.92 0 -0.38 -vn 0 -1 0 -vn -0.38 0 0.92 -vn 0.38 0 -0.92 -vn 0.92 0 0.38 -vn -0.92 0 -0.38 -vn -0.38 0 0.92 -vn 0.38 0 -0.92 -vn 0.92 0 0.38 -vn -0.92 0 -0.38 -vn -0.38 0 0.92 -vn 0.38 0 -0.92 -vn 0.73 0.61 0.3 -vn -0.56 0.79 -0.23 -vn 0.56 -0.79 0.23 -vn -0.38 0 0.92 -vn 0.38 0 -0.92 -vn -0.07 0.6 0.8 +vn -0.09 0 1 vn 0.09 0 -1 -vn 0 1 0 -vn -1 0 -0.09 -vn 1 0 0.09 -vn -0.06 0.71 0.7 -vn 0.06 0.71 -0.7 +vn 0.7 0.71 0.06 +vn -0.7 0.71 -0.06 vn 0 1 0 vn 0 -1 0 -vn -1 0 -0.09 -vn 1 0 0.09 vn -0.09 0 1 vn 0.09 0 -1 -vn 0 -1 0 -vn -1 0 -0.09 vn 1 0 0.09 +vn -1 0 -0.09 +vn 0 -1 0 vn -0.09 0 1 vn 0.09 0 -1 -vn -1 0 -0.09 vn 1 0 0.09 +vn -1 0 -0.09 vn -0.09 0 1 vn 0.09 0 -1 -vn -1 0 -0.09 vn 1 0 0.09 -vn -0.07 0.61 0.79 -vn 0.05 0.79 -0.61 -vn -0.05 -0.79 0.61 vn -1 0 -0.09 -vn 1 0 0.09 -vn 1 0 0 -vn -1 0 0 +vn -0.09 0 1 +vn 0.09 0 -1 +vn 0.79 0.61 0.07 +vn -0.61 0.79 -0.05 +vn 0.61 -0.79 0.05 +vn -0.09 0 1 +vn 0.09 0 -1 +vn 0 0 -1 +vn 0 0 1 vn 0 1 0 vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 vn 0 0 -1 +vn 0 0 1 +vn 0 1 0 vn 1 0 0 vn -1 0 0 +vn -0.35 0.59 -0.72 +vn 0.34 0 0.94 +vn -0.12 0.99 0.04 +vn 0.93 0.13 -0.34 +vn -0.93 -0.13 0.34 +vn -0.33 0.7 -0.63 +vn 0.16 0.7 0.7 +vn -0.12 0.99 0.04 +vn 0.12 -0.99 -0.04 +vn 0.93 0.13 -0.34 +vn -0.93 -0.13 0.34 +vn -0.34 0 -0.94 +vn 0.34 0 0.94 +vn 0.12 -0.99 -0.04 +vn 0.93 0.13 -0.34 +vn -0.93 -0.13 0.34 +vn -0.34 0 -0.94 +vn 0.34 0 0.94 +vn 0.93 0.13 -0.34 +vn -0.93 -0.13 0.34 +vn -0.34 0 -0.94 +vn 0.34 0 0.94 +vn 0.93 0.13 -0.34 +vn -0.93 -0.13 0.34 +vn -0.35 0.6 -0.72 +vn 0.11 0.79 0.61 +vn -0.11 -0.79 -0.61 +vn 0.93 0.13 -0.34 +vn -0.93 -0.13 0.34 +vn -0.74 0.59 -0.33 +vn 0.8 -0.02 0.6 +vn -0.17 0.95 0.25 +vn 0.58 0.3 -0.76 +vn -0.58 -0.3 0.76 +vn -0.68 0.69 -0.25 +vn 0.45 0.66 0.6 +vn -0.17 0.95 0.25 +vn 0.17 -0.95 -0.25 +vn 0.58 0.3 -0.76 +vn -0.58 -0.3 0.76 +vn -0.8 0.02 -0.6 +vn 0.8 -0.02 0.6 +vn 0.17 -0.95 -0.25 +vn 0.58 0.3 -0.76 +vn -0.58 -0.3 0.76 +vn -0.8 0.02 -0.6 +vn 0.8 -0.02 0.6 +vn 0.58 0.3 -0.76 +vn -0.58 -0.3 0.76 +vn -0.8 0.02 -0.6 +vn 0.8 -0.02 0.6 +vn 0.58 0.3 -0.76 +vn -0.58 -0.3 0.76 +vn -0.73 0.6 -0.33 +vn 0.35 0.75 0.56 +vn -0.35 -0.75 -0.56 +vn 0.58 0.3 -0.76 +vn -0.58 -0.3 0.76 vn 0 1 0 -vn 0 -1 0 vn 0 0 1 +vn 0 -1 0 vn 0 0 -1 -vn 0.96 0 -0.28 -vn -0.96 0 0.28 vn 0 1 0 -vn 0 -1 0 -vn 0.28 0 0.96 -vn -0.28 0 -0.96 vn 1 0 0 +vn 0 -1 0 +vn 0 -1 0 vn -1 0 0 vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 vn 1 0 0 vn -1 0 0 -vn -0.45 0.89 0 +vn 0 1 0 vn 0 -1 0 -vn 0 0 1 vn 0 0 -1 -vn 1 0 0 -vn -1 0 0 -vn -0.45 0.89 0 -vn 0 -1 0 vn 0 0 1 -vn 0 0 -1 -vn -1 0 0 vn 0 1 0 -vn 0 -1 0 -vn 0 0 1 -vn 0 0 -1 -vn 1 0 0 vn -1 0 0 -vn 0 0 1 +vn 1 0 0 +vn 0 0.95 -0.32 vn 0 0 -1 -vn 0.89 0.45 0 +vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 vn 0 0 1 vn 0 0 -1 vn 1 0 0 vn -1 0 0 vn 0 1 0 -vn 0 -1 0 -vn 0.45 0 0.89 -vn -0.45 0 -0.89 +vn -1 0 0 vn 1 0 0 -vn -0.89 -0.45 0 +vn 0 -0.32 0.95 vn 0 1 0 -vn 0 -1 0 +vn -0.95 0 0.32 vn 0 0 1 -vn 0 0 -1 +vn -1 0 0 +vn 1 0 0 +vn 0 -0.32 -0.95 vn 1 0 0 vn -1 0 0 -vn 0 0.89 -0.45 -vn 0 -1 0 vn 0 0 1 vn 0 0 -1 vn 1 0 0 vn -1 0 0 -vn 0 1 0 -vn 0 -1 0 +vn 0 0.95 0.32 vn 0 0 1 vn 0 0 -1 -vn 0.98 0 -0.22 -vn -0.98 0 0.22 +vn 0 0 1 vn 0 1 0 -vn 0 -1 0 -vn 0.22 0 0.98 -vn -0.22 0 -0.98 -vn 0.98 0 -0.22 -vn -0.98 0 0.22 +vn 1 0 0 +vn -1 0 0 +vn -0.15 0 -0.99 +vn 0.15 0 0.99 vn 0 1 0 vn 0 -1 0 -vn 0.22 0 0.98 -vn -0.22 0 -0.98 +vn 0.99 0 -0.15 +vn -0.99 0 0.15 +vn -0.21 -0.05 -0.98 +vn 0.21 0.05 0.98 +vn -0.22 0.98 0 +vn 0.22 -0.98 0 +vn 0.95 0.21 -0.22 +vn -0.95 -0.21 0.22 usemtl metal_device0_barrel_up_none -f 4/1/1 2/2/1 1/3/1 3/4/1 -f 7/5/2 5/6/2 6/7/2 8/8/2 +f 4/1/1 2/2/1 1/3/1 +f 4/1/1 1/3/1 3/4/1 +f 7/5/2 5/6/2 6/7/2 +f 7/5/2 6/7/2 8/8/2 usemtl metal_device0_barrel_side -f 1/9/3 2/10/3 6/11/3 5/12/3 -f 4/13/4 3/14/4 7/15/4 8/16/4 -f 3/17/5 1/18/5 5/19/5 7/20/5 -f 8/21/6 6/22/6 2/23/6 4/24/6 -usemtl metal -f 11/25/7 18/26/7 17/27/7 9/28/7 -f 13/29/8 20/30/8 19/31/8 15/32/8 -f 9/33/9 17/34/9 20/35/9 13/36/9 -f 15/37/10 19/38/10 18/39/10 11/40/10 -f 11/41/11 9/42/11 13/43/11 15/44/11 -f 16/45/12 14/46/12 10/47/12 12/48/12 -f 10/49/13 17/50/13 18/51/13 12/52/13 -f 12/53/14 18/54/14 19/55/14 16/56/14 -f 16/57/15 19/58/15 20/59/15 14/60/15 -f 14/61/16 20/62/16 17/63/16 10/64/16 +f 1/9/3 2/10/3 6/11/3 +f 1/9/3 6/11/3 5/12/3 +f 3/13/4 1/14/4 5/15/4 +f 3/13/4 5/15/4 7/16/4 usemtl flagpole -f 26/65/17 23/66/17 22/67/17 21/68/17 -f 28/69/18 24/70/18 25/71/18 27/72/18 -f 22/73/19 23/74/19 25/75/19 24/76/19 -f 21/77/20 22/78/20 24/79/20 28/80/20 -f 27/81/21 25/82/21 23/83/21 26/84/21 -f 27/85/22 26/86/22 21/87/22 28/88/22 -f 32/89/23 30/90/23 29/91/23 31/92/23 -f 35/93/24 33/94/24 34/95/24 36/96/24 -f 29/97/25 30/98/25 34/99/25 33/100/25 -f 32/101/26 31/102/26 35/103/26 36/104/26 -f 31/105/27 29/106/27 33/107/27 35/108/27 -f 36/109/28 34/110/28 30/111/28 32/112/28 -f 41/113/29 38/114/29 37/115/29 43/116/29 -f 44/117/30 39/118/30 40/119/30 42/120/30 -f 37/121/31 38/122/31 40/123/31 39/124/31 -f 43/125/32 37/126/32 39/127/32 44/128/32 -f 42/129/33 40/130/33 38/131/33 41/132/33 -f 42/133/34 41/134/34 43/135/34 44/136/34 -f 48/137/35 46/138/35 45/139/35 47/140/35 -f 51/141/36 49/142/36 50/143/36 52/144/36 -f 45/145/37 46/146/37 50/147/37 49/148/37 -f 47/149/38 45/150/38 49/151/38 51/152/38 -f 52/153/39 50/154/39 46/155/39 48/156/39 -f 56/157/40 54/158/40 53/159/40 55/160/40 -f 59/161/41 57/162/41 58/163/41 60/164/41 -f 53/165/42 54/166/42 58/167/42 57/168/42 -f 56/169/43 55/170/43 59/171/43 60/172/43 -f 55/173/44 53/174/44 57/175/44 59/176/44 -f 60/177/45 58/178/45 54/179/45 56/180/45 -f 64/181/46 62/182/46 61/183/46 63/184/46 -f 67/185/47 65/186/47 66/187/47 68/188/47 -f 64/189/48 63/190/48 67/191/48 68/192/48 -f 63/193/49 61/194/49 65/195/49 67/196/49 -f 68/197/50 66/198/50 62/199/50 64/200/50 -f 72/201/51 70/202/51 69/203/51 71/204/51 -f 75/205/52 73/206/52 74/207/52 76/208/52 -f 71/209/53 69/210/53 73/211/53 75/212/53 -f 76/213/54 74/214/54 70/215/54 72/216/54 -f 80/217/55 78/218/55 77/219/55 79/220/55 -f 83/221/56 81/222/56 82/223/56 84/224/56 -f 79/225/57 77/226/57 81/227/57 83/228/57 -f 84/229/58 82/230/58 78/231/58 80/232/58 -f 88/233/59 86/234/59 85/235/59 87/236/59 -f 85/237/60 86/238/60 90/239/60 89/240/60 -f 88/241/61 87/242/61 91/243/61 92/244/61 -f 87/245/62 85/246/62 89/247/62 91/248/62 -f 92/249/63 90/250/63 86/251/63 88/252/63 -f 96/253/64 94/254/64 93/255/64 95/256/64 -f 99/257/65 97/258/65 98/259/65 100/260/65 -f 93/261/66 94/262/66 98/263/66 97/264/66 -f 95/265/67 93/266/67 97/267/67 99/268/67 -f 100/269/68 98/270/68 94/271/68 96/272/68 -f 104/273/69 102/274/69 101/275/69 103/276/69 -f 107/277/70 105/278/70 106/279/70 108/280/70 -f 101/281/71 102/282/71 106/283/71 105/284/71 -f 104/285/72 103/286/72 107/287/72 108/288/72 -f 103/289/73 101/290/73 105/291/73 107/292/73 -f 108/293/74 106/294/74 102/295/74 104/296/74 -f 112/297/75 110/298/75 109/299/75 111/300/75 -f 115/301/76 113/302/76 114/303/76 116/304/76 -f 112/305/77 111/306/77 115/307/77 116/308/77 -f 111/309/78 109/310/78 113/311/78 115/312/78 -f 116/313/79 114/314/79 110/315/79 112/316/79 -f 120/317/80 118/318/80 117/319/80 119/320/80 -f 123/321/81 121/322/81 122/323/81 124/324/81 -f 119/325/82 117/326/82 121/327/82 123/328/82 -f 124/329/83 122/330/83 118/331/83 120/332/83 -f 128/333/84 126/334/84 125/335/84 127/336/84 -f 131/337/85 129/338/85 130/339/85 132/340/85 -f 127/341/86 125/342/86 129/343/86 131/344/86 -f 132/345/87 130/346/87 126/347/87 128/348/87 -f 136/349/88 134/350/88 133/351/88 135/352/88 -f 133/353/89 134/354/89 138/355/89 137/356/89 -f 136/357/90 135/358/90 139/359/90 140/360/90 -f 135/361/91 133/362/91 137/363/91 139/364/91 -f 140/365/92 138/366/92 134/367/92 136/368/92 -f 144/369/93 142/370/93 141/371/93 143/372/93 -f 147/373/94 145/374/94 146/375/94 148/376/94 -f 141/377/95 142/378/95 146/379/95 145/380/95 -f 143/381/96 141/382/96 145/383/96 147/384/96 -f 148/385/97 146/386/97 142/387/97 144/388/97 -f 152/389/98 150/390/98 149/391/98 151/392/98 -f 155/393/99 153/394/99 154/395/99 156/396/99 -f 149/397/100 150/398/100 154/399/100 153/400/100 -f 152/401/101 151/402/101 155/403/101 156/404/101 -f 151/405/102 149/406/102 153/407/102 155/408/102 -f 156/409/103 154/410/103 150/411/103 152/412/103 -f 160/413/104 158/414/104 157/415/104 159/416/104 -f 163/417/105 161/418/105 162/419/105 164/420/105 -f 160/421/106 159/422/106 163/423/106 164/424/106 -f 159/425/107 157/426/107 161/427/107 163/428/107 -f 164/429/108 162/430/108 158/431/108 160/432/108 -f 168/433/109 166/434/109 165/435/109 167/436/109 -f 171/437/110 169/438/110 170/439/110 172/440/110 -f 167/441/111 165/442/111 169/443/111 171/444/111 -f 172/445/112 170/446/112 166/447/112 168/448/112 -f 176/449/113 174/450/113 173/451/113 175/452/113 -f 179/453/114 177/454/114 178/455/114 180/456/114 -f 175/457/115 173/458/115 177/459/115 179/460/115 -f 180/461/116 178/462/116 174/463/116 176/464/116 -f 184/465/117 182/466/117 181/467/117 183/468/117 -f 181/469/118 182/470/118 186/471/118 185/472/118 -f 184/473/119 183/474/119 187/475/119 188/476/119 -f 183/477/120 181/478/120 185/479/120 187/480/120 -f 188/481/121 186/482/121 182/483/121 184/484/121 -f 192/485/122 190/486/122 189/487/122 191/488/122 -f 195/489/123 193/490/123 194/491/123 196/492/123 -f 189/493/124 190/494/124 194/495/124 193/496/124 -f 192/497/125 191/498/125 195/499/125 196/500/125 -f 191/501/126 189/502/126 193/503/126 195/504/126 -f 196/505/127 194/506/127 190/507/127 192/508/127 +f 14/17/5 11/18/5 10/19/5 +f 14/17/5 10/19/5 9/20/5 +f 10/21/6 11/22/6 13/23/6 +f 10/21/6 13/23/6 12/24/6 +f 9/25/7 10/26/7 12/27/7 +f 9/25/7 12/27/7 16/28/7 +f 15/29/8 13/30/8 11/31/8 +f 15/29/8 11/31/8 14/32/8 +f 21/33/9 18/34/9 17/35/9 +f 21/33/9 17/35/9 23/36/9 +f 17/37/10 18/38/10 20/39/10 +f 17/37/10 20/39/10 19/40/10 +f 23/41/11 17/42/11 19/43/11 +f 23/41/11 19/43/11 24/44/11 +f 22/45/12 20/46/12 18/47/12 +f 22/45/12 18/47/12 21/48/12 +f 28/49/13 26/50/13 25/51/13 +f 28/49/13 25/51/13 27/52/13 +f 31/53/14 29/54/14 30/55/14 +f 31/53/14 30/55/14 32/56/14 +f 25/57/15 26/58/15 30/59/15 +f 25/57/15 30/59/15 29/60/15 +f 27/61/16 25/62/16 29/63/16 +f 27/61/16 29/63/16 31/64/16 +f 32/65/17 30/66/17 26/67/17 +f 32/65/17 26/67/17 28/68/17 +f 36/69/18 34/70/18 33/71/18 +f 36/69/18 33/71/18 35/72/18 +f 39/73/19 37/74/19 38/75/19 +f 39/73/19 38/75/19 40/76/19 +f 33/77/20 34/78/20 38/79/20 +f 33/77/20 38/79/20 37/80/20 +f 36/81/21 35/82/21 39/83/21 +f 36/81/21 39/83/21 40/84/21 +f 35/85/22 33/86/22 37/87/22 +f 35/85/22 37/87/22 39/88/22 +f 40/89/23 38/90/23 34/91/23 +f 40/89/23 34/91/23 36/92/23 +f 44/93/24 42/94/24 41/95/24 +f 44/93/24 41/95/24 43/96/24 +f 47/97/25 45/98/25 46/99/25 +f 47/97/25 46/99/25 48/100/25 +f 44/101/26 43/102/26 47/103/26 +f 44/101/26 47/103/26 48/104/26 +f 43/105/27 41/106/27 45/107/27 +f 43/105/27 45/107/27 47/108/27 +f 48/109/28 46/110/28 42/111/28 +f 48/109/28 42/111/28 44/112/28 +f 52/113/29 50/114/29 49/115/29 +f 52/113/29 49/115/29 51/116/29 +f 55/117/30 53/118/30 54/119/30 +f 55/117/30 54/119/30 56/120/30 +f 51/121/31 49/122/31 53/123/31 +f 51/121/31 53/123/31 55/124/31 +f 56/125/32 54/126/32 50/127/32 +f 56/125/32 50/127/32 52/128/32 +f 60/129/33 58/130/33 57/131/33 +f 60/129/33 57/131/33 59/132/33 +f 63/133/34 61/134/34 62/135/34 +f 63/133/34 62/135/34 64/136/34 +f 59/137/35 57/138/35 61/139/35 +f 59/137/35 61/139/35 63/140/35 +f 64/141/36 62/142/36 58/143/36 +f 64/141/36 58/143/36 60/144/36 +f 68/145/37 66/146/37 65/147/37 +f 68/145/37 65/147/37 67/148/37 +f 65/149/38 66/150/38 70/151/38 +f 65/149/38 70/151/38 69/152/38 +f 68/153/39 67/154/39 71/155/39 +f 68/153/39 71/155/39 72/156/39 +f 67/157/40 65/158/40 69/159/40 +f 67/157/40 69/159/40 71/160/40 +f 72/161/41 70/162/41 66/163/41 +f 72/161/41 66/163/41 68/164/41 +f 74/165/42 185/166/42 188/167/42 +f 74/165/42 188/167/42 76/168/42 +f 80/169/43 187/170/43 186/171/43 +f 80/169/43 186/171/43 78/172/43 +f 186/173/44 189/174/44 194/175/44 +f 186/173/44 194/175/44 78/176/44 +f 80/177/45 193/178/45 192/179/45 +f 80/177/45 192/179/45 187/180/45 +f 79/181/46 191/182/46 190/183/46 +f 79/181/46 190/183/46 77/184/46 +f 78/185/47 194/186/47 193/187/47 +f 78/185/47 193/187/47 80/188/47 usemtl common_steel -f 200/509/128 198/510/128 197/511/128 199/512/128 -f 203/513/129 201/514/129 202/515/129 204/516/129 -f 197/517/130 198/518/130 202/519/130 201/520/130 -f 200/521/131 199/522/131 203/523/131 204/524/131 -f 199/525/132 197/526/132 201/527/132 203/528/132 -f 204/529/133 202/530/133 198/531/133 200/532/133 -f 208/533/134 206/534/134 205/535/134 207/536/134 -f 211/537/135 209/538/135 210/539/135 212/540/135 -f 205/541/136 206/542/136 210/543/136 209/544/136 -f 208/545/137 207/546/137 211/547/137 212/548/137 -f 207/549/138 205/550/138 209/551/138 211/552/138 -f 212/553/139 210/554/139 206/555/139 208/556/139 +f 84/189/48 82/190/48 81/191/48 +f 84/189/48 81/191/48 83/192/48 +f 87/193/49 85/194/49 86/195/49 +f 87/193/49 86/195/49 88/196/49 +f 81/197/50 82/198/50 86/199/50 +f 81/197/50 86/199/50 85/200/50 +f 83/201/51 81/202/51 85/203/51 +f 83/201/51 85/203/51 87/204/51 +f 88/205/52 86/206/52 82/207/52 +f 88/205/52 82/207/52 84/208/52 usemtl flagpole -f 216/557/140 214/558/140 213/559/140 215/560/140 -f 219/561/141 217/562/141 218/563/141 220/564/141 -f 213/565/142 214/566/142 218/567/142 217/568/142 -f 216/569/143 215/570/143 219/571/143 220/572/143 -f 215/573/144 213/574/144 217/575/144 219/576/144 -f 220/577/145 218/578/145 214/579/145 216/580/145 -f 224/581/146 222/582/146 221/583/146 223/584/146 -f 227/585/147 225/586/147 226/587/147 228/588/147 -f 221/589/148 222/590/148 226/591/148 225/592/148 -f 224/593/149 223/594/149 227/595/149 228/596/149 -f 223/597/150 221/598/150 225/599/150 227/600/150 -f 228/601/151 226/602/151 222/603/151 224/604/151 +f 92/209/53 90/210/53 89/211/53 +f 92/209/53 89/211/53 91/212/53 +f 95/213/54 93/214/54 94/215/54 +f 95/213/54 94/215/54 96/216/54 +f 89/217/55 90/218/55 94/219/55 +f 89/217/55 94/219/55 93/220/55 +f 91/221/56 89/222/56 93/223/56 +f 91/221/56 93/223/56 95/224/56 +f 96/225/57 94/226/57 90/227/57 +f 96/225/57 90/227/57 92/228/57 +f 100/229/58 98/230/58 97/231/58 +f 100/229/58 97/231/58 99/232/58 +f 103/233/59 101/234/59 102/235/59 +f 103/233/59 102/235/59 104/236/59 +f 97/237/60 98/238/60 102/239/60 +f 97/237/60 102/239/60 101/240/60 +f 100/241/61 99/242/61 103/243/61 +f 100/241/61 103/243/61 104/244/61 +f 99/245/62 97/246/62 101/247/62 +f 99/245/62 101/247/62 103/248/62 +f 104/249/63 102/250/63 98/251/63 +f 104/249/63 98/251/63 100/252/63 +f 108/253/64 106/254/64 105/255/64 +f 108/253/64 105/255/64 107/256/64 +f 111/257/65 109/258/65 110/259/65 +f 111/257/65 110/259/65 112/260/65 +f 108/261/66 107/262/66 111/263/66 +f 108/261/66 111/263/66 112/264/66 +f 107/265/67 105/266/67 109/267/67 +f 107/265/67 109/267/67 111/268/67 +f 112/269/68 110/270/68 106/271/68 +f 112/269/68 106/271/68 108/272/68 +f 116/273/69 114/274/69 113/275/69 +f 116/273/69 113/275/69 115/276/69 +f 119/277/70 117/278/70 118/279/70 +f 119/277/70 118/279/70 120/280/70 +f 115/281/71 113/282/71 117/283/71 +f 115/281/71 117/283/71 119/284/71 +f 120/285/72 118/286/72 114/287/72 +f 120/285/72 114/287/72 116/288/72 +f 124/289/73 122/290/73 121/291/73 +f 124/289/73 121/291/73 123/292/73 +f 127/293/74 125/294/74 126/295/74 +f 127/293/74 126/295/74 128/296/74 +f 123/297/75 121/298/75 125/299/75 +f 123/297/75 125/299/75 127/300/75 +f 128/301/76 126/302/76 122/303/76 +f 128/301/76 122/303/76 124/304/76 +f 132/305/77 130/306/77 129/307/77 +f 132/305/77 129/307/77 131/308/77 +f 129/309/78 130/310/78 134/311/78 +f 129/309/78 134/311/78 133/312/78 +f 132/313/79 131/314/79 135/315/79 +f 132/313/79 135/315/79 136/316/79 +f 131/317/80 129/318/80 133/319/80 +f 131/317/80 133/319/80 135/320/80 +f 136/321/81 134/322/81 130/323/81 +f 136/321/81 130/323/81 132/324/81 +f 140/325/82 138/326/82 137/327/82 +f 140/325/82 137/327/82 139/328/82 +f 143/329/83 141/330/83 142/331/83 +f 143/329/83 142/331/83 144/332/83 +f 137/333/84 138/334/84 142/335/84 +f 137/333/84 142/335/84 141/336/84 +f 139/337/85 137/338/85 141/339/85 +f 139/337/85 141/339/85 143/340/85 +f 144/341/86 142/342/86 138/343/86 +f 144/341/86 138/343/86 140/344/86 +f 148/345/87 146/346/87 145/347/87 +f 148/345/87 145/347/87 147/348/87 +f 151/349/88 149/350/88 150/351/88 +f 151/349/88 150/351/88 152/352/88 +f 145/353/89 146/354/89 150/355/89 +f 145/353/89 150/355/89 149/356/89 +f 148/357/90 147/358/90 151/359/90 +f 148/357/90 151/359/90 152/360/90 +f 147/361/91 145/362/91 149/363/91 +f 147/361/91 149/363/91 151/364/91 +f 152/365/92 150/366/92 146/367/92 +f 152/365/92 146/367/92 148/368/92 +f 156/369/93 154/370/93 153/371/93 +f 156/369/93 153/371/93 155/372/93 +f 159/373/94 157/374/94 158/375/94 +f 159/373/94 158/375/94 160/376/94 +f 156/377/95 155/378/95 159/379/95 +f 156/377/95 159/379/95 160/380/95 +f 155/381/96 153/382/96 157/383/96 +f 155/381/96 157/383/96 159/384/96 +f 160/385/97 158/386/97 154/387/97 +f 160/385/97 154/387/97 156/388/97 +f 164/389/98 162/390/98 161/391/98 +f 164/389/98 161/391/98 163/392/98 +f 167/393/99 165/394/99 166/395/99 +f 167/393/99 166/395/99 168/396/99 +f 163/397/100 161/398/100 165/399/100 +f 163/397/100 165/399/100 167/400/100 +f 168/401/101 166/402/101 162/403/101 +f 168/401/101 162/403/101 164/404/101 +f 172/405/102 170/406/102 169/407/102 +f 172/405/102 169/407/102 171/408/102 +f 175/409/103 173/410/103 174/411/103 +f 175/409/103 174/411/103 176/412/103 +f 171/413/104 169/414/104 173/415/104 +f 171/413/104 173/415/104 175/416/104 +f 176/417/105 174/418/105 170/419/105 +f 176/417/105 170/419/105 172/420/105 +f 180/421/106 178/422/106 177/423/106 +f 180/421/106 177/423/106 179/424/106 +f 177/425/107 178/426/107 182/427/107 +f 177/425/107 182/427/107 181/428/107 +f 180/429/108 179/430/108 183/431/108 +f 180/429/108 183/431/108 184/432/108 +f 179/433/109 177/434/109 181/435/109 +f 179/433/109 181/435/109 183/436/109 +f 184/437/110 182/438/110 178/439/110 +f 184/437/110 178/439/110 180/440/110 +f 77/441/111 190/442/111 189/443/111 +f 77/441/111 189/443/111 186/444/111 +f 77/445/112 186/446/112 187/447/112 +f 77/445/112 187/447/112 79/448/112 +f 187/449/113 192/450/113 191/451/113 +f 187/449/113 191/451/113 79/452/113 +f 75/453/114 188/454/114 185/455/114 +f 75/453/114 185/455/114 73/456/114 +f 185/457/115 189/458/115 190/459/115 +f 185/457/115 190/459/115 73/460/115 +f 73/461/116 190/462/116 191/463/116 +f 73/461/116 191/463/116 75/464/116 +f 75/465/117 191/466/117 192/467/117 +f 75/465/117 192/467/117 188/468/117 +f 188/469/118 192/470/118 193/471/118 +f 188/469/118 193/471/118 76/472/118 +f 76/473/119 193/474/119 194/475/119 +f 76/473/119 194/475/119 74/476/119 +f 74/477/120 194/478/120 189/479/120 +f 74/477/120 189/479/120 185/480/120 usemtl common_copper_cable -f 232/605/152 230/606/152 229/607/152 231/608/152 -f 235/609/153 233/610/153 234/611/153 236/612/153 -f 229/613/154 230/614/154 234/615/154 233/616/154 -f 232/617/155 231/618/155 235/619/155 236/620/155 -f 231/621/156 229/622/156 233/623/156 235/624/156 -f 236/625/157 234/626/157 230/627/157 232/628/157 -f 240/629/158 238/630/158 237/631/158 239/632/158 -f 243/633/159 241/634/159 242/635/159 244/636/159 -f 237/637/160 238/638/160 242/639/160 241/640/160 -f 240/641/161 239/642/161 243/643/161 244/644/161 -f 239/645/162 237/646/162 241/647/162 243/648/162 -f 244/649/163 242/650/163 238/651/163 240/652/163 -f 251/653/164 249/654/164 250/655/164 252/656/164 -f 245/657/165 246/658/165 250/659/165 249/660/165 -f 248/661/166 247/662/166 251/663/166 252/664/166 -f 247/665/167 245/666/167 249/667/167 251/668/167 -f 252/669/168 250/670/168 246/671/168 248/672/168 -f 256/673/169 254/674/169 253/675/169 255/676/169 -f 259/677/170 257/678/170 258/679/170 260/680/170 -f 255/681/171 253/682/171 257/683/171 259/684/171 -f 260/685/172 258/686/172 254/687/172 256/688/172 -f 264/689/173 262/690/173 261/691/173 263/692/173 -f 267/693/174 265/694/174 266/695/174 268/696/174 -f 261/697/175 262/698/175 266/699/175 265/700/175 -f 264/701/176 263/702/176 267/703/176 268/704/176 -f 263/705/177 261/706/177 265/707/177 267/708/177 -f 268/709/178 266/710/178 262/711/178 264/712/178 -f 272/713/179 270/714/179 269/715/179 271/716/179 -f 275/717/180 273/718/180 274/719/180 276/720/180 -f 269/721/181 270/722/181 274/723/181 273/724/181 -f 272/725/182 271/726/182 275/727/182 276/728/182 -f 271/729/183 269/730/183 273/731/183 275/732/183 -f 276/733/184 274/734/184 270/735/184 272/736/184 -f 280/737/185 278/738/185 277/739/185 279/740/185 -f 283/741/186 281/742/186 282/743/186 284/744/186 -f 277/745/187 278/746/187 282/747/187 281/748/187 -f 280/749/188 279/750/188 283/751/188 284/752/188 -f 279/753/189 277/754/189 281/755/189 283/756/189 -f 284/757/190 282/758/190 278/759/190 280/760/190 -f 288/761/191 286/762/191 285/763/191 287/764/191 -f 291/765/192 289/766/192 290/767/192 292/768/192 -f 285/769/193 286/770/193 290/771/193 289/772/193 -f 288/773/194 287/774/194 291/775/194 292/776/194 -f 287/777/195 285/778/195 289/779/195 291/780/195 -f 292/781/196 290/782/196 286/783/196 288/784/196 -f 296/785/197 294/786/197 293/787/197 295/788/197 -f 299/789/198 297/790/198 298/791/198 300/792/198 -f 293/793/199 294/794/199 298/795/199 297/796/199 -f 296/797/200 295/798/200 299/799/200 300/800/200 -f 295/801/201 293/802/201 297/803/201 299/804/201 -f 300/805/202 298/806/202 294/807/202 296/808/202 -usemtl flagpole -f 304/809/203 302/810/203 301/811/203 303/812/203 -f 307/813/204 305/814/204 306/815/204 308/816/204 -f 301/817/205 302/818/205 306/819/205 305/820/205 -f 304/821/206 303/822/206 307/823/206 308/824/206 -f 303/825/207 301/826/207 305/827/207 307/828/207 -f 308/829/208 306/830/208 302/831/208 304/832/208 +f 199/481/121 197/482/121 196/483/121 +f 199/481/121 196/483/121 198/484/121 +f 202/485/122 200/486/122 201/487/122 +f 202/485/122 201/487/122 203/488/122 +f 198/489/123 196/490/123 200/491/123 +f 198/489/123 200/491/123 202/492/123 +f 203/493/124 201/494/124 197/495/124 +f 203/493/124 197/495/124 199/496/124 +f 207/497/125 205/498/125 204/499/125 +f 207/497/125 204/499/125 206/500/125 +f 210/501/126 208/502/126 209/503/126 +f 210/501/126 209/503/126 211/504/126 +f 206/505/127 204/506/127 208/507/127 +f 206/505/127 208/507/127 210/508/127 +f 215/509/128 213/510/128 212/511/128 +f 215/509/128 212/511/128 214/512/128 +f 218/513/129 216/514/129 217/515/129 +f 218/513/129 217/515/129 219/516/129 +f 212/517/130 213/518/130 217/519/130 +f 212/517/130 217/519/130 216/520/130 +f 214/521/131 212/522/131 216/523/131 +f 214/521/131 216/523/131 218/524/131 +f 223/525/132 221/526/132 220/527/132 +f 223/525/132 220/527/132 222/528/132 +f 226/529/133 224/530/133 225/531/133 +f 226/529/133 225/531/133 227/532/133 +f 222/533/134 220/534/134 224/535/134 +f 222/533/134 224/535/134 226/536/134 +f 227/537/135 225/538/135 221/539/135 +f 227/537/135 221/539/135 223/540/135 +f 231/541/136 229/542/136 228/543/136 +f 231/541/136 228/543/136 230/544/136 +f 195/545/137 232/546/137 233/547/137 +f 195/545/137 233/547/137 234/548/137 +f 230/549/138 228/550/138 232/551/138 +f 230/549/138 232/551/138 195/552/138 +f 235/553/139 236/554/139 238/555/139 +f 235/553/139 238/555/139 237/556/139 +f 240/557/140 239/558/140 241/559/140 +f 240/557/140 241/559/140 242/560/140 +f 240/561/141 236/562/141 235/563/141 +f 240/561/141 235/563/141 239/564/141 +f 246/565/142 244/566/142 243/567/142 +f 246/565/142 243/567/142 245/568/142 +f 243/569/143 244/570/143 248/571/143 +f 243/569/143 248/571/143 247/572/143 +f 245/573/144 243/574/144 247/575/144 +f 245/573/144 247/575/144 249/576/144 +f 253/577/145 251/578/145 250/579/145 +f 253/577/145 250/579/145 252/580/145 +f 256/581/146 254/582/146 255/583/146 +f 256/581/146 255/583/146 257/584/146 +f 250/585/147 251/586/147 255/587/147 +f 250/585/147 255/587/147 254/588/147 +f 261/589/148 259/590/148 258/591/148 +f 261/589/148 258/591/148 260/592/148 +f 264/593/149 262/594/149 263/595/149 +f 264/593/149 263/595/149 265/596/149 +f 260/597/150 258/598/150 262/599/150 +f 260/597/150 262/599/150 264/600/150 +f 265/601/151 263/602/151 259/603/151 +f 265/601/151 259/603/151 261/604/151 +f 269/605/152 267/606/152 266/607/152 +f 269/605/152 266/607/152 268/608/152 +f 272/609/153 270/610/153 271/611/153 +f 272/609/153 271/611/153 273/612/153 +f 266/613/154 267/614/154 271/615/154 +f 266/613/154 271/615/154 270/616/154 +f 268/617/155 266/618/155 270/619/155 +f 268/617/155 270/619/155 272/620/155 usemtl common_steel -f 312/833/209 310/834/209 309/835/209 311/836/209 -f 315/837/210 313/838/210 314/839/210 316/840/210 -f 309/841/211 310/842/211 314/843/211 313/844/211 -f 312/845/212 311/846/212 315/847/212 316/848/212 -f 311/849/213 309/850/213 313/851/213 315/852/213 -f 316/853/214 314/854/214 310/855/214 312/856/214 \ No newline at end of file +f 277/621/156 275/622/156 274/623/156 +f 277/621/156 274/623/156 276/624/156 +f 280/625/157 278/626/157 279/627/157 +f 280/625/157 279/627/157 281/628/157 +f 274/629/158 275/630/158 279/631/158 +f 274/629/158 279/631/158 278/632/158 +f 276/633/159 274/634/159 278/635/159 +f 276/633/159 278/635/159 280/636/159 +f 281/637/160 279/638/160 275/639/160 +f 281/637/160 275/639/160 277/640/160 +usemtl flagpole +f 285/641/161 283/642/161 282/643/161 +f 285/641/161 282/643/161 284/644/161 +f 288/645/162 286/646/162 287/647/162 +f 288/645/162 287/647/162 289/648/162 +f 282/649/163 283/650/163 287/651/163 +f 282/649/163 287/651/163 286/652/163 +f 285/653/164 284/654/164 288/655/164 +f 285/653/164 288/655/164 289/656/164 +f 284/657/165 282/658/165 286/659/165 +f 284/657/165 286/659/165 288/660/165 +f 289/661/166 287/662/166 283/663/166 +f 289/661/166 283/663/166 285/664/166 +f 293/665/167 291/666/167 290/667/167 +f 293/665/167 290/667/167 292/668/167 +f 296/669/168 294/670/168 295/671/168 +f 296/669/168 295/671/168 297/672/168 +f 290/673/169 291/674/169 295/675/169 +f 290/673/169 295/675/169 294/676/169 +f 293/677/170 292/678/170 296/679/170 +f 293/677/170 296/679/170 297/680/170 +f 292/681/171 290/682/171 294/683/171 +f 292/681/171 294/683/171 296/684/171 +f 297/685/172 295/686/172 291/687/172 +f 297/685/172 291/687/172 293/688/172 \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj.amt b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj.amt new file mode 100644 index 000000000..3382c0447 --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/models/block/multiblock/flagpole/upgrade_unit_post.obj.amt @@ -0,0 +1,6 @@ +{ + "origins": { + "upgrade_unit_post": [31.4093, -48, -3.2707] + }, + "hierarchy": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/multiblock/fortification/flagpole.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/multiblock/fortification/flagpole.png index 9f0943d5ad3411ed79de21efd227ad2a4515e969..6bbef05c96b45739df5436033f2d38704ee54d4e 100644 GIT binary patch literal 5644 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 Z{{bCmEcppIo(TW|002ovPDHLkV1nL}>kt3{ diff --git a/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java b/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java index 027aac90a..737837d5c 100644 --- a/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java +++ b/src/test/java/pl/pabilo8/immersiveintelligence/common/util/multiblock/MultiblockStuctureBaseTest.java @@ -115,17 +115,5 @@ public boolean isStackValid(int slot, ItemStack stack) { return false; } - - @Override - public int getSlotLimit(int slot) - { - return 0; - } - - @Override - public void doGraphicalUpdates(int slot) - { - - } } } From 32632acc2082ad43bf5b3d945c5223102d08b4c4 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 16 Aug 2026 06:47:03 +0200 Subject: [PATCH 22/23] Fixed angle limiting in GunAimCoordinate and NBT saving in ProtectionCapabilities --- .../capability/ProtectionCapabilities.java | 15 +- .../ProtectionCapabilityProvider.java | 4 +- .../entity/weapon/MachinegunRenderer.java | 29 +-- .../mounted_weapon/EntityMachinegun.java | 4 +- .../common/util/gun/GunAimCoordinate.java | 167 +++++++++--------- 5 files changed, 113 insertions(+), 106 deletions(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilities.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilities.java index 41c6f44c0..384ecc418 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilities.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilities.java @@ -1,7 +1,9 @@ package pl.pabilo8.immersiveintelligence.api.api.protection.capability; +import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.capabilities.Capability; @@ -56,6 +58,15 @@ public static void register() CapabilityManager.INSTANCE.register(IRadiationEmitter.class, new SerializableStorage<>(), RadiationEmitter::new); } + static boolean isSerializableCapabilityInstance(Object instance) + { + // Entity and tile entity instances own their NBT. + // Do not serialize them as capability data because this calls the capability dispatcher again. + return instance instanceof INBTSerializable + &&!(instance instanceof Entity) + &&!(instance instanceof TileEntity); + } + private static final class EmptyStorage implements IStorage { @Override @@ -76,7 +87,7 @@ private static final class SerializableStorage implements IStorage @Override public NBTBase writeNBT(Capability capability, T instance, EnumFacing side) { - if(instance instanceof INBTSerializable) + if(isSerializableCapabilityInstance(instance)) return ((INBTSerializable)instance).serializeNBT(); return null; } @@ -85,7 +96,7 @@ public NBTBase writeNBT(Capability capability, T instance, EnumFacing side) @SuppressWarnings({"rawtypes", "unchecked"}) public void readNBT(Capability capability, T instance, EnumFacing side, NBTBase nbt) { - if(instance instanceof INBTSerializable) + if(isSerializableCapabilityInstance(instance)) ((INBTSerializable)instance).deserializeNBT(nbt); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java index 04f4e1788..21f27a300 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/api/protection/capability/ProtectionCapabilityProvider.java @@ -69,7 +69,7 @@ public NBTTagCompound serializeNBT() for(Map.Entry, Object> entry : capabilities.entrySet()) { Object instance = entry.getValue(); - if(!(instance instanceof INBTSerializable)) + if(!ProtectionCapabilities.isSerializableCapabilityInstance(instance)) continue; Object serialized = ((INBTSerializable)instance).serializeNBT(); @@ -92,7 +92,7 @@ public void deserializeNBT(NBTTagCompound nbt) { Object instance = entry.getValue(); String name = entry.getKey().getName(); - if(instance instanceof INBTSerializable&&serializedCapabilities.hasKey(name)) + if(ProtectionCapabilities.isSerializableCapabilityInstance(instance)&&serializedCapabilities.hasKey(name)) ((INBTSerializable)instance).deserializeNBT(serializedCapabilities.getTag(name)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java index aced2406b..34b885030 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/entity/weapon/MachinegunRenderer.java @@ -94,7 +94,7 @@ public static void renderMachinegun(ItemStack stack, @Nullable EntityMachinegun if(entity!=null) { - float yaw = entity.aim.getYaw(partialTicks)-entity.aim.getCenterYaw(), pitch = entity.aim.getPitch(partialTicks); + float yaw = entity.aim.getRelativeYaw(partialTicks), pitch = entity.aim.getPitch(partialTicks); boolean tripod = entity.upgrades.contains(WeaponUpgrade.TRIPOD); if(tripod) GlStateManager.translate(0f, 0.5, 0f); @@ -169,11 +169,12 @@ public static void renderMachinegun(ItemStack stack, @Nullable EntityMachinegun ArrayList ammoStacks = new ArrayList<>(AmmunitionCrateHandler.getMountedAmmunition(entity)); if(!ammoStacks.isEmpty()) { - int beltLength = (int)(24+Math.max(Math.abs(entity.aim.getYaw(0f))-55, 0)/2-Math.max(entity.aim.getPitch(partialTicks)-20, 0)/2); + float relativeYaw = entity.aim.getRelativeYaw(0f); + int beltLength = (int)(24+Math.max(Math.abs(relativeYaw)-55, 0)/2-Math.max(entity.aim.getPitch(partialTicks)-20, 0)/2); beltLength -= 4; - float ammoDir = entity.aim.getYaw(0f)/(tripod?90f: 50f)*(1-Math.abs(entity.aim.getPitch(partialTicks))/40f); - float ammoTurn = tripod?Math.abs(entity.aim.getYaw(0f))/90f*(beltLength > 24?(beltLength-24)/24f: 1): 0; + float ammoDir = relativeYaw/(tripod?90f: 50f)*(1-Math.abs(entity.aim.getPitch(partialTicks))/40f); + float ammoTurn = tripod?Math.abs(relativeYaw)/90f*(beltLength > 24?(beltLength-24)/24f: 1): 0; GlStateManager.pushMatrix(); for(int i = 0; i < 4&&!ammoStacks.isEmpty(); i++) @@ -333,25 +334,26 @@ public boolean handleBipedRotations(ModelBiped model, EntityMachinegun mg, Entit IBlockState state = passenger.world.getBlockState(passenger.getPosition()); boolean tripod = mg.upgrades.contains(WeaponUpgrade.TRIPOD); - float aimYaw = mg.aim.getYaw(0f)-setYaw; + float aimYaw = mg.aim.getRelativeYaw(0f); if(!tripod&&state.getMaterial().isSolid()&&!(state.getBlock()==IIContent.blockMetalDevice&&state.getValue(IIContent.blockMetalDevice.property)==IIBlockTypes_MetalDevice.AMMUNITION_CRATE)) { - if(Math.abs(aimYaw-true_head_angle) > 5) + float headDelta = MathHelper.wrapDegrees(aimYaw-true_head_angle); + if(Math.abs(headDelta) > 5) { wtime = Math.abs((mg.getEntityWorld().getTotalWorldTime()+partialTicks)%20/20f-0.5f)/0.5f; wtime *= 0.25f; if(!mg.isSetupComplete()) wtime = 0; - if(aimYaw < true_head_angle) + if(headDelta < 0) { model.bipedRightLeg.rotateAngleY = -wtime*2f; model.bipedLeftLeg.rotateAngleY = wtime*2f; } - else if(aimYaw > true_head_angle) + else { - model.bipedRightLeg.rotateAngleY = -wtime*2f; - model.bipedLeftLeg.rotateAngleY = wtime*2f; + model.bipedRightLeg.rotateAngleY = wtime*2f; + model.bipedLeftLeg.rotateAngleY = -wtime*2f; } } @@ -383,13 +385,14 @@ else if(aimYaw > true_head_angle) if(!mg.isSetupComplete()) wtime = 0; model.bipedBody.rotateAngleX -= 0.0625f; - if(Math.abs(aimYaw-true_head_angle) > 5) - if(aimYaw < true_head_angle) + float headDelta = MathHelper.wrapDegrees(aimYaw-true_head_angle); + if(Math.abs(headDelta) > 5) + if(headDelta < 0) { model.bipedRightLeg.rotateAngleX = wtime*2f; model.bipedLeftLeg.rotateAngleX = -wtime*2f; } - else if(aimYaw > true_head_angle) + else { model.bipedRightLeg.rotateAngleX = -wtime*2f; model.bipedLeftLeg.rotateAngleX = wtime*2f; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/mounted_weapon/EntityMachinegun.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/mounted_weapon/EntityMachinegun.java index 5e6a60de8..284f2ac25 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/mounted_weapon/EntityMachinegun.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/mounted_weapon/EntityMachinegun.java @@ -104,7 +104,7 @@ public EntityMachinegun(World world, BlockPos pos, float yaw, ItemStack stack) { this(world); this.setPosition(pos.getX(), pos.getY(), pos.getZ()); - this.aim.withCenterYaw(yaw); + this.aim.withCenterYaw(yaw).withCurrentAngles(yaw, 0); setOriginStack(stack); if(upgrades.contains(WeaponUpgrade.TRIPOD)) this.posY += 0.385f; @@ -218,7 +218,7 @@ public void onEntityUpdate() { Entity user = getPassengers().get(0); //Aim to where the user is pointing - this.aim.setTarget(aim.clampYawToRange(user.getRotationYawHead()), aim.clampPitchToRange(user.rotationPitch)); + this.aim.setTargetClamped(user.getRotationYawHead(), user.rotationPitch); //Set shooter and gun info this.ammoFactory.setShooterAndGun(user, this) .setPositionAndVelocity(this.getPositionVector().addVector(0, 0.5f, 0), this.aim, 0.25f, 1f); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java index ab2917669..fea3fed9b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java @@ -13,6 +13,7 @@ * Stores yaw and pitch coordinates of a gun and provides utility methods for targetting and rendering. * * @author Pabilo8 (pabilo@iiteam.net) + * @updated 15.08.2026 * @ii-approved 0.3.1 * @implNote only pitch, yaw, targetPitch, targetYaw and centerYaw are synced to NBT, the rest is for runtime use only and not saved * @since 24.02.2026 @@ -38,8 +39,8 @@ public class GunAimCoordinate implements INBTSerializable public GunAimCoordinate withAimSpeed(float aimSpeedYaw, float aimSpeedPitch) { - this.aimSpeedYaw = aimSpeedYaw; - this.aimSpeedPitch = aimSpeedPitch; + this.aimSpeedYaw = Math.max(0, aimSpeedYaw); + this.aimSpeedPitch = Math.max(0, aimSpeedPitch); return this; } @@ -65,7 +66,7 @@ public GunAimCoordinate withCurrentAngles(float yaw, float pitch) */ public GunAimCoordinate withCenterYaw(float centerYaw) { - this.centerYaw = centerYaw; + this.centerYaw = MathHelper.wrapDegrees(centerYaw); this.yaw = clampYawToRange(this.yaw); this.targetYaw = clampYawToRange(this.targetYaw); return this; @@ -82,8 +83,8 @@ public GunAimCoordinate withCenterYaw(float centerYaw) */ public GunAimCoordinate withYawLimit(float minYawLimit, float maxYawLimit) { - this.yawLimitMin = minYawLimit; - this.yawLimitMax = maxYawLimit; + this.yawLimitMin = MathHelper.clamp(minYawLimit, -180f, 180f); + this.yawLimitMax = MathHelper.clamp(maxYawLimit, -180f, 180f); //Re‑clamp current and target values to the new limits this.targetYaw = clampYawToRange(this.targetYaw); this.yaw = clampYawToRange(this.yaw); @@ -94,7 +95,7 @@ public GunAimCoordinate withPitchLimit(float minPitchLimit, float maxPitchLimit) { this.pitchLimitMin = Math.min(minPitchLimit, maxPitchLimit); this.pitchLimitMax = Math.max(minPitchLimit, maxPitchLimit); - this.targetPitch = MathHelper.clamp(this.pitch, this.pitchLimitMin, this.pitchLimitMax); + this.targetPitch = MathHelper.clamp(this.targetPitch, this.pitchLimitMin, this.pitchLimitMax); this.pitch = MathHelper.clamp(this.pitch, this.pitchLimitMin, this.pitchLimitMax); return this; } @@ -118,7 +119,7 @@ public boolean setTarget(float targetYaw, float targetPitch) { this.targetYaw = targetYaw; this.targetPitch = targetPitch; - this.target = IIMath.offsetPosDirection(1, this.targetYaw, this.targetPitch); + this.target = IIMath.offsetPosDirection(1, Math.toRadians(-this.targetYaw), Math.toRadians(-this.targetPitch)); return true; } return false; @@ -133,7 +134,7 @@ public boolean setTarget(float targetYaw, float targetPitch) */ public boolean setTargetClamped(float targetYaw, float targetPitch) { - return setTarget(clampYawToRange(targetYaw), clampYawToRange(targetPitch)); + return setTarget(clampYawToRange(targetYaw), clampPitchToRange(targetPitch)); } public boolean setTarget(Vec3d shooterPos, Vec3d shooterMotion, Vec3d targetPos, Vec3d targetMotion) @@ -190,10 +191,10 @@ public NBTTagCompound serializeNBT() public void deserializeNBT(NBTTagCompound nbt) { pitch = nbt.getFloat("pitch"); - yaw = nbt.getFloat("yaw"); + yaw = MathHelper.wrapDegrees(nbt.getFloat("yaw")); targetPitch = nbt.getFloat("target_pitch"); - targetYaw = nbt.getFloat("target_yaw"); - centerYaw = nbt.getFloat("center_yaw"); + targetYaw = MathHelper.wrapDegrees(nbt.getFloat("target_yaw")); + centerYaw = MathHelper.wrapDegrees(nbt.getFloat("center_yaw")); } //--- Utility methods --- // @@ -206,78 +207,65 @@ public float getYaw(float partialTicks) { if(partialTicks==0) return yaw; - if(Math.abs(yaw-targetYaw) <= MINIMAL) - return targetYaw; - float step = aimSpeedYaw*partialTicks; - float newYaw = moveYawTowards(yaw, targetYaw, step); - //Snap if very close - if(Math.abs(newYaw-targetYaw) <= MINIMAL) - newYaw = targetYaw; + float newYaw = moveYawTowards(yaw, targetYaw, aimSpeedYaw*partialTicks); + if(getYawDistance(newYaw, targetYaw) <= MINIMAL) + return targetYaw; return clampYawToRange(newYaw); } /** - * Moves {@code current} towards {@code target} by at most {@code maxStep} degrees, - * staying inside the allowed yaw region defined by {@link #yawLimitMin} and {@link #yawLimitMax} - * (relative to {@link #centerYaw}). Handles both normal and wrapped ranges, and always chooses - * the direction (shortest or longest) that keeps the movement within limits. - * - * @param current current absolute yaw (in -180..180) - * @param target target absolute yaw (in -180..180, guaranteed to be within limits) - * @param maxStep maximum angular change (positive) - * @return new absolute yaw after moving + * Moves the absolute yaw towards the target inside the configured relative yaw range. */ private float moveYawTowards(float current, float target, float maxStep) { - if(current==target||maxStep <= 0) + if(maxStep <= 0) return current; - if(Math.abs(current-target) <= MINIMAL) - return target; - - //Convert to [0,360) for easier circle arithmetic - float curr = (current%360+360)%360; - float targ = (target%360+360)%360; - //Convert limits to [0,360) - float a = (yawLimitMin%360+360)%360; - float b = (yawLimitMax%360+360)%360; + float currentRelative = MathHelper.wrapDegrees(current-centerYaw); + float targetRelative = MathHelper.wrapDegrees(target-centerYaw); + float difference; - //Full circle allowed? (forbidden length == 0) - float forbiddenLen = (a-b+360)%360; - boolean fullCircle = (forbiddenLen==0); - - float newAngle; - if(fullCircle) - { - //Simple shortest path - float diff = (targ-curr+360)%360; - if(diff > 180) diff -= 360; //signed delta - float move = Math.copySign(Math.min(maxStep, Math.abs(diff)), diff); - newAngle = curr+move; - } + if(isFullYawRange()) + difference = MathHelper.wrapDegrees(targetRelative-currentRelative); + else if(yawLimitMin <= yawLimitMax) + difference = targetRelative-currentRelative; else { - //Map allowed region to a contiguous interval - float currU = curr < a?curr+360: curr; - float targU = targ < a?targ+360: targ; - - //Linear movement in unwrapped space - float diffU = targU-currU; - float moveU = Math.copySign(Math.min(maxStep, Math.abs(diffU)), diffU); - float newU = currU+moveU; - - //Map back to [0,360) - newAngle = newU%360; - if(newAngle < 0) newAngle += 360; + if(currentRelative < yawLimitMin) + currentRelative += 360f; + if(targetRelative < yawLimitMin) + targetRelative += 360f; + difference = targetRelative-currentRelative; } - //Convert back to -180..180 range - float result = newAngle; - if(result > 180) result -= 360; - return result; + float movement = Math.copySign(Math.min(maxStep, Math.abs(difference)), difference); + return MathHelper.wrapDegrees(centerYaw+currentRelative+movement); } + private float getYawDistance(float current, float target) + { + float currentRelative = MathHelper.wrapDegrees(current-centerYaw); + float targetRelative = MathHelper.wrapDegrees(target-centerYaw); + + if(isFullYawRange()) + return Math.abs(MathHelper.wrapDegrees(targetRelative-currentRelative)); + if(yawLimitMin <= yawLimitMax) + return Math.abs(targetRelative-currentRelative); + + if(currentRelative < yawLimitMin) + currentRelative += 360f; + if(targetRelative < yawLimitMin) + targetRelative += 360f; + return Math.abs(targetRelative-currentRelative); + } + + private boolean isFullYawRange() + { + return yawLimitMin <= -180f&&yawLimitMax >= 180f; + } + + /** * @return a value in [0,1] representing how far the current relative yaw is * between the yaw limits, linearly interpolated even across the wrap point. @@ -286,23 +274,28 @@ private float moveYawTowards(float current, float target, float maxStep) */ public float getYawNormalized(float partialTicks) { - float relYaw = MathHelper.wrapDegrees(getYaw(partialTicks)-centerYaw); + float relYaw = getRelativeYaw(partialTicks); - if(yawLimitMin <= yawLimitMax) //Normal range + if(isFullYawRange()) + return (relYaw+180f)/360f; + if(yawLimitMin <= yawLimitMax) { if(yawLimitMin==yawLimitMax) return 0.5f; - return (relYaw-yawLimitMin)/(yawLimitMax-yawLimitMin); - } - else //Wrapped range: map the arc [min, max+360] linearly - { - float effectiveMin = yawLimitMin; - float effectiveMax = yawLimitMax+360; - float relYaw2 = relYaw; - if(relYaw2 < yawLimitMin) - relYaw2 += 360; - return (relYaw2-effectiveMin)/(effectiveMax-effectiveMin); + return MathHelper.clamp((relYaw-yawLimitMin)/(yawLimitMax-yawLimitMin), 0f, 1f); } + + if(relYaw < yawLimitMin) + relYaw += 360f; + return MathHelper.clamp((relYaw-yawLimitMin)/(yawLimitMax+360f-yawLimitMin), 0f, 1f); + } + + /** + * @return current yaw relative to the gun centre in the -180 to 180 degree range. + */ + public float getRelativeYaw(float partialTicks) + { + return MathHelper.wrapDegrees(getYaw(partialTicks)-centerYaw); } public float getPitch(float partialTicks) @@ -333,7 +326,7 @@ public boolean isAimed() public boolean isAimed(float allowedInaccuracy) { - return Math.abs(yaw-targetYaw) <= allowedInaccuracy&&Math.abs(pitch-targetPitch) <= allowedInaccuracy; + return getYawDistance(yaw, targetYaw) <= allowedInaccuracy&&Math.abs(pitch-targetPitch) <= allowedInaccuracy; } /** @@ -365,7 +358,7 @@ private float clampRelativeYaw(float relYaw) { float distToMin = Math.abs(relYaw-min); float distToMax = Math.abs(relYaw-max); - return distToMin <= distToMin?min: max; + return distToMin <= distToMax?min: max; } return relYaw; } @@ -378,9 +371,9 @@ public float clampPitchToRange(float pitch) public Vec3d getTarget(float partialTicks) { - double yawRad = Math.toRadians(MathHelper.wrapDegrees(getYaw(partialTicks)+centerYaw)); + double yawRad = Math.toRadians(-getYaw(partialTicks)); double pitchRad = Math.toRadians(-getPitch(partialTicks)); - return IIMath.offsetPosDirection(1, -yawRad, pitchRad); + return IIMath.offsetPosDirection(1, yawRad, pitchRad); } public float getCenterYaw() @@ -406,16 +399,16 @@ public interface AimCorrectionFunction * @param shooterMotion motion of the shooter/gun * @param targetPos position of the target * @param targetMotion motion of the target - * @return array of pitch and yaw in degrees (absolute) + * @return array of yaw and pitch in degrees (absolute) */ float[] getAnglePrediction(Vec3d shooterPos, Vec3d shooterMotion, Vec3d targetPos, Vec3d targetMotion); } private static float[] getTargetLead(Vec3d shooterPos, Vec3d shooterMotion, Vec3d targetPos, Vec3d targetMotion) { - Vec3d vv = shooterPos.subtract(targetPos).add(targetMotion).normalize(); - float yy = (float)((Math.atan2(vv.x, vv.z)*180D)/Math.PI); - float pp = (float)Math.toDegrees(Math.atan2(vv.y, vv.distanceTo(new Vec3d(0, vv.y, 0)))); - return new float[]{yy, pp}; + Vec3d direction = targetPos.subtract(shooterPos).add(targetMotion.subtract(shooterMotion)).normalize(); + float yaw = (float)Math.toDegrees(Math.atan2(-direction.x, direction.z)); + float pitch = (float)-Math.toDegrees(Math.atan2(direction.y, direction.distanceTo(new Vec3d(0, direction.y, 0)))); + return new float[]{yaw, pitch}; } } From 3f95f1f098b9237fe8ca65d30eb77f94650e00d4 Mon Sep 17 00:00:00 2001 From: Pabilo8 Date: Sun, 16 Aug 2026 17:50:21 +0200 Subject: [PATCH 23/23] More Emplacement works, improved server-client sync and added missing animations --- .../api/ammo/utils/AmmoFactory.java | 8 +- .../emplacementweapon/EWRAutocannon.java | 10 +- .../metal/emplacementweapon/EWRCPDS.java | 4 +- .../EWRGuidedMissileLauncher.java | 13 +- .../EWRHeavyChemthrower.java | 4 +- .../emplacementweapon/EWRHeavyRailgun.java | 3 +- .../emplacementweapon/EWRLightHowitzer.java | 15 +- .../emplacementweapon/EWRMachinegun.java | 3 +- .../metal/emplacementweapon/EWRMortar.java | 3 +- .../emplacementweapon/EWRRocketLauncher.java | 7 +- .../emplacementweapon/EWRSearchlight.java | 4 +- .../emplacementweapon/EWRSpotlightTower.java | 7 +- .../tileentity/TileEntityDataMerger.java | 1 + .../tileentity/TileEntityDataRouter.java | 1 + .../effect_crate/TileEntityEffectCrate.java | 2 - .../inserter/TileEntityInserterBase.java | 1 + .../TileEntityArithmeticLogicMachine.java | 2 +- .../tileentity/TileEntityPacker.java | 7 + .../tileentity/TileEntityFuelStation.java | 8 + .../tileentity/TileEntityRadar.java | 7 + .../emplacement/TileEntityEmplacement.java | 61 +- .../emplacement/weapon/EmplacementWeapon.java | 52 +- .../weapon/EmplacementWeaponGunBase.java | 74 +- .../EmplacementWeaponHeavyChemthrower.java | 23 +- .../EmplacementWeaponInfraredObserver.java | 7 +- .../EmplacementWeaponLightHowitzer.java | 13 +- .../weapon/EmplacementWeaponMortar.java | 2 +- .../EmplacementWeaponRocketLauncher.java | 2 +- .../weapon/EmplacementWeaponTeslaCoil.java | 2 + .../weapon/EmplacementWeaponTurretBase.java | 100 +- .../entity/ammo/types/EntityAmmoMissile.java | 3 - .../ammo/types/EntityAmmoProjectile.java | 7 +- .../common/util/IIExplosion.java | 2 +- .../common/util/easynbt/NBTSerialisation.java | 16 +- .../common/util/easynbt/SyncNBT.java | 6 +- .../common/util/gun/GunAimCoordinate.java | 2 +- .../common/util/gun/GunRecoil.java | 4 +- .../common/util/gun/GunShootingHandler.java | 44 +- .../emplacement/weapon/autocannon/chill.json | 69 + .../emplacement/weapon/autocannon/fire.json | 69 + .../emplacement/weapon/autocannon/load.json | 1019 +++++ .../weapon/autocannon/rotate_pitch.json | 57 + .../weapon/autocannon/rotate_yaw.json | 17 + .../emplacement/weapon/autocannon/unload.json | 1019 +++++ .../weapon/heavy_railgun/chill.json | 65 + .../weapon/heavy_railgun/fire.json | 21 + .../weapon/heavy_railgun/load1.json | 303 ++ .../weapon/heavy_railgun/load2.json | 303 ++ .../weapon/heavy_railgun/rotate_pitch.json | 17 + .../weapon/heavy_railgun/rotate_yaw.json | 17 + .../weapon/light_howitzer/chill.json | 69 + .../weapon/light_howitzer/fire.json | 29 + .../weapon/light_howitzer/load.json | 149 + .../weapon/light_howitzer/rotate_pitch.json | 17 + .../weapon/light_howitzer/rotate_yaw.json | 17 + .../weapon/light_howitzer/work.json | 29 + .../weapon/rocket_launcher/chill.json | 53 + .../weapon/rocket_launcher/load_lower.json | 845 ++++ .../weapon/rocket_launcher/load_upper.json | 62 +- .../weapon/rocket_launcher/rotate_yaw.json | 2 +- .../weapon/spotlight_tower/install.json | 33 + .../weapon/spotlight_tower/rotate_pitch.json | 17 + .../weapon/spotlight_tower/rotate_yaw.json | 25 + .../emplacement/weapon/light_howitzer.obj | 4017 ++++++++--------- .../emplacement/weapon/light_howitzer.obj.amt | 14 +- 65 files changed, 6664 insertions(+), 2220 deletions(-) create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/autocannon/chill.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/autocannon/fire.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/autocannon/load.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/autocannon/rotate_pitch.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/autocannon/rotate_yaw.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/autocannon/unload.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/heavy_railgun/chill.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/heavy_railgun/fire.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/heavy_railgun/load1.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/heavy_railgun/load2.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/heavy_railgun/rotate_pitch.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/heavy_railgun/rotate_yaw.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/light_howitzer/chill.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/light_howitzer/fire.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/light_howitzer/load.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/light_howitzer/rotate_pitch.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/light_howitzer/rotate_yaw.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/light_howitzer/work.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/rocket_launcher/chill.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/rocket_launcher/load_lower.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/spotlight_tower/install.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/spotlight_tower/rotate_pitch.json create mode 100644 src/main/resources/assets/immersiveintelligence/animations/emplacement/weapon/spotlight_tower/rotate_yaw.json diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/AmmoFactory.java b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/AmmoFactory.java index c44ac8d9b..537882830 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/AmmoFactory.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/api/ammo/utils/AmmoFactory.java @@ -213,7 +213,7 @@ public AmmoFactory setPositionAndVelocity(Vec3d pos, Vec3d dir, float velocit public AmmoFactory setPositionAndVelocity(Vec3d positionVector, GunAimCoordinate aim, float offset, float velocity) { Vec3d target = aim.getTarget(0); - return setPositionAndVelocity(positionVector.add(target.scale(offset)), target, offset); + return setPositionAndVelocity(positionVector.add(target.scale(offset)), target, velocity); } /** @@ -362,12 +362,14 @@ public float[] getAnglePrediction(Vec3d shooterPos, Vec3d shooterMotion, Vec3d t float pp = IIAmmoUtils.calculateBallisticAngle( shooterPos.add(shooterMotion), targetPos.add(targetMotion), stack, 0.01f ); - return new float[]{MathHelper.wrapDegrees(180-yy), 90-pp}; + return new float[]{MathHelper.wrapDegrees(180-yy), pp-90}; } - return IIAmmoUtils.getInterceptionAngles( + float[] angles = IIAmmoUtils.getInterceptionAngles( shooterPos, shooterMotion, targetPos, targetMotion, ammo.getVelocity(), ammo.getMass(stack) ); + angles[0] = MathHelper.wrapDegrees(180-angles[0]); + return angles; } /** diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRAutocannon.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRAutocannon.java index e24d5c599..638a1bdfe 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRAutocannon.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRAutocannon.java @@ -17,7 +17,7 @@ @SideOnly(Side.CLIENT) public class EWRAutocannon extends EmplacementWeaponRenderer { - private IIAnimationCachedMap install, uninstall, rotateYaw, rotatePitch, load, unload, fire; + private IIAnimationCachedMap rotateYaw, rotatePitch, load, unload, fire, chill; public EWRAutocannon() { @@ -27,8 +27,7 @@ public EWRAutocannon() @Override public void loadAnimations(AMTCachedModel model) { - this.install = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("install")); - this.uninstall = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("uninstall")); + this.chill = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("chill")); this.rotateYaw = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_yaw")); this.rotatePitch = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_pitch")); this.load = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("load")); @@ -39,6 +38,9 @@ public void loadAnimations(AMTCachedModel model) @Override public void apply(EmplacementWeaponAutocannon weapon, AMTCachedModel model, BufferBuilder buf, Tessellator tes, float partialTicks) { - // TODO: hook up to weapon state (aim/reload/fire). Kept minimal until server-side state fields are finalized. + this.rotateYaw.apply(weapon.aim.getYawNormalized(partialTicks)); + this.rotatePitch.apply(weapon.aim.getPitchNormalized(partialTicks)); + this.load.apply(weapon.gunHandler.getLoadingProgress(partialTicks)); + this.fire.apply(weapon.gunHandler.getShotDelay(partialTicks)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRCPDS.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRCPDS.java index a138264ee..d0dcf9cf0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRCPDS.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRCPDS.java @@ -59,7 +59,7 @@ public void apply(EmplacementWeaponCPDS weapon, AMTCachedModel model) @Override public void apply(EmplacementWeaponGuidedMissileLauncher weapon, AMTCachedModel model, BufferBuilder buf, Tessellator tes, float partialTicks) { - rocket.get().withState(BulletState.BULLET_UNUSED) + this.rocket.get().withState(BulletState.BULLET_UNUSED) .withProperties(IIContent.ammoCoreIron, CoreType.SHAPED, DecoColors.POWER2); - load.apply(AMTUtils.getDebugProgress(120, partialTicks)); - rotateYaw.apply(weapon.aim.getYawNormalized(partialTicks)); + this.rotateYaw.apply(weapon.aim.getYawNormalized(partialTicks)); float pitch = weapon.aim.getPitchNormalized(partialTicks); - rotatePitch.apply(pitch); - trackerPitch.apply(pitch); - fire.apply(weapon.shootDelay); + this.rotatePitch.apply(pitch); + this.trackerPitch.apply(pitch); + this.load.apply(weapon.gunHandler.getLoadingProgress(partialTicks)); + this.fire.apply(weapon.gunHandler.getShotDelay(partialTicks)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRHeavyChemthrower.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRHeavyChemthrower.java index 963420f81..a533f322c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRHeavyChemthrower.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRHeavyChemthrower.java @@ -17,7 +17,7 @@ @SideOnly(Side.CLIENT) public class EWRHeavyChemthrower extends EmplacementWeaponRenderer { - private IIAnimationCachedMap install, uninstall, rotateYaw, rotatePitch, fire; + private IIAnimationCachedMap install, uninstall, rotateYaw, rotatePitch; public EWRHeavyChemthrower() { @@ -31,7 +31,6 @@ public void loadAnimations(AMTCachedModel model) this.uninstall = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("uninstall")); this.rotateYaw = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_yaw")); this.rotatePitch = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_pitch")); - this.fire = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("fire")); } @Override @@ -45,6 +44,5 @@ public void apply(EmplacementWeaponHeavyChemthrower weapon, AMTCachedModel { - private IIAnimationCachedMap install, uninstall, rotateYaw, rotatePitch, fire; + private IIAnimationCachedMap rotateYaw, rotatePitch, fire, load, chill; public EWRLightHowitzer() { @@ -27,18 +27,19 @@ public EWRLightHowitzer() @Override public void loadAnimations(AMTCachedModel model) { - this.install = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("install")); - this.uninstall = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("uninstall")); - + this.rotateYaw = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_yaw")); this.rotatePitch = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_pitch")); + this.fire = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("fire")); + this.load = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("load")); + this.chill = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("chill")); } @Override public void apply(EmplacementWeaponLightHowitzer weapon, AMTCachedModel model, BufferBuilder buf, Tessellator tes, float partialTicks) { - assert weapon.setup!=null; - - //this.rotateYaw.apply(weapon.aim.getYawNormalized(partialTicks)); + this.rotateYaw.apply(weapon.aim.getYawNormalized(partialTicks)); this.rotatePitch.apply(weapon.aim.getPitchNormalized(partialTicks)); + this.load.apply(weapon.gunHandler.getLoadingProgress(partialTicks)); + this.fire.apply(weapon.gunHandler.getShotDelay(partialTicks)); } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRMachinegun.java b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRMachinegun.java index 67f7ac144..b371b35d7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRMachinegun.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/client/render/multiblock/metal/emplacementweapon/EWRMachinegun.java @@ -153,7 +153,6 @@ public void apply(EmplacementWeaponMachinegun weapon, AMTCachedModel { - private IIAnimationCachedMap rotateYaw, rotatePitch, fire; + private IIAnimationCachedMap rotateYaw, rotatePitch, fire, loadUpper, loadLower; public EWRRocketLauncher() { @@ -25,6 +25,8 @@ public void loadAnimations(AMTCachedModel model) this.rotateYaw = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_yaw")); this.rotatePitch = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_pitch")); this.fire = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("fire")); + this.loadUpper = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("load_upper")); + this.loadLower = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("load_lower")); } @Override @@ -34,6 +36,7 @@ public void apply(EmplacementWeaponRocketLauncher weapon, AMTCachedModel { - private IIAnimationCachedMap rotateYaw, rotatePitch, fire; + private IIAnimationCachedMap rotateYaw, rotatePitch; public EWRSearchlight() { @@ -24,7 +24,6 @@ public void loadAnimations(AMTCachedModel model) { this.rotateYaw = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_yaw")); this.rotatePitch = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_pitch")); - this.fire = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("fire")); } @Override @@ -34,6 +33,5 @@ public void apply(EmplacementWeaponSearchlight weapon, AMTCachedModel { - private IIAnimationCachedMap install, uninstall, rotateYaw, rotatePitch, fire; + private IIAnimationCachedMap install, rotateYaw, rotatePitch; public EWRSpotlightTower() { @@ -32,10 +32,8 @@ public void reloadModels() public void loadAnimations(AMTCachedModel model) { this.install = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("install")); - this.uninstall = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("uninstall")); this.rotateYaw = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_yaw")); this.rotatePitch = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("rotate_pitch")); - this.fire = IIAnimationCachedMap.create(model, ANIMATIONS_DIR.with("fire")); } @Override @@ -43,12 +41,11 @@ public void apply(EmplacementWeaponSpotlightTower weapon, AMTCachedModel { + if(partialSync&&event!=null) + serializer.serializeForEvent(weapon, nbt, event); + else + serializer.serializeAll(weapon, nbt); + }); + if(partialSync&&event!=null) + nbt.setBoolean(NBT_PARTIAL_SYNC, true); return nbt; } @Override public void deserializeNBT(NBTTagCompound nbt) { - health = nbt.getFloat("health"); + boolean canSkip = nbt.getBoolean(NBT_PARTIAL_SYNC); + NBTSerialisation.synchroniseFor(this, (serializer, weapon) -> serializer.deserializeAll(weapon, nbt, canSkip)); + restoredFromNBT = !initialized; } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponGunBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponGunBase.java index 4c263fe54..d7688d38c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponGunBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponGunBase.java @@ -2,7 +2,6 @@ import blusunrize.immersiveengineering.common.util.inventory.IEInventoryHandler; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import pl.pabilo8.immersiveintelligence.api.ammo.utils.AmmoFactory; @@ -11,6 +10,8 @@ import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement.EmplacementStateNeeds; import pl.pabilo8.immersiveintelligence.common.entity.ammo.EntityAmmoBase; import pl.pabilo8.immersiveintelligence.common.entity.ammo.types.EntityAmmoProjectile; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.easynbt.TargetCoordinateReference; import pl.pabilo8.immersiveintelligence.common.util.gun.GunRecoil; import pl.pabilo8.immersiveintelligence.common.util.gun.GunShootingHandler; @@ -24,7 +25,7 @@ /** * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 - * @updated 03.06.2026 + * @updated 16.08.2026 * @since 04.09.2025 */ public abstract class EmplacementWeaponGunBase
    > extends EmplacementWeaponTurretBase @@ -38,8 +39,10 @@ public abstract class EmplacementWeaponGunBase> exte @Nullable protected IEInventoryHandler inventoryPlatformHandler; - protected GunShootingHandler gunHandler = new GunShootingHandler(); - protected GunRecoil recoil = new GunRecoil(); + @SyncNBT(time = 0, events = SyncEvents.WEAPON_RELOAD) + public GunShootingHandler gunHandler = new GunShootingHandler(); + @SyncNBT(time = 0, events = SyncEvents.WEAPON_RELOAD) + public GunRecoil recoil = new GunRecoil(); @Nullable protected GunAmmoProviderItemHandler platformAmmoProvider; @@ -66,8 +69,10 @@ public EmplacementStateNeeds onUpdate(TileEntityEmplacement te, EmplacementState ammoFactory.setOwner(te.getOwnerIdentity().getFirstResponsibleMember(te.getWorld())); ensureShootingComponents(); - if(gunHandler!=null) - gunHandler.update(); + boolean wasReloading = platformAmmoProvider!=null&&platformAmmoProvider.isReloading(); + gunHandler.update(); + if(!te.getWorld().isRemote&&wasReloading&&platformAmmoProvider!=null&&!platformAmmoProvider.isReloading()) + syncWithClient(te, SyncEvents.WEAPON_RELOAD); return super.onUpdate(te, baseNeeds, currentTarget); } @@ -97,18 +102,22 @@ public void initializeGUI(DecoPanel panelBase, DecoPanel panelPlatform) public boolean canShoot(TileEntityEmplacement te) { ensureShootingComponents(); - return platformAmmoProvider!=null&&(platformAmmoProvider.isLoaded()||platformAmmoProvider.hasAvailableAmmo()); + return gunHandler.canShoot()&&platformAmmoProvider!=null + &&(platformAmmoProvider.isLoaded()||platformAmmoProvider.hasAvailableAmmo()); } @Override protected boolean shoot(TileEntityEmplacement te, TargetCoordinateReference target) { ensureShootingComponents(); - if(te.getWorld().isRemote||platformAmmoProvider==null||gunHandler==null) + if(te.getWorld().isRemote||platformAmmoProvider==null) return false; if(platformAmmoProvider.isEmpty()&&platformAmmoProvider.hasAvailableAmmo()) - gunHandler.startReloading(); + { + if(gunHandler.startReloading()) + syncWithClient(te, SyncEvents.WEAPON_RELOAD); + } if(!platformAmmoProvider.isLoaded()) return false; @@ -132,9 +141,20 @@ public boolean needsSupply(TileEntityEmplacement te) @Override public boolean needsRestock(TileEntityEmplacement te) { - return inventoryBaseHandler!=null&&inventoryPlatformHandler!=null - &&isHandlerEmpty(inventoryPlatformHandler) - &&!isHandlerEmpty(inventoryBaseHandler); + if(inventoryBaseHandler==null||inventoryPlatformHandler==null) + return false; + + for(int baseSlot = 0; baseSlot < inventoryBaseHandler.getSlots(); baseSlot++) + { + ItemStack available = inventoryBaseHandler.getStackInSlot(baseSlot); + if(available.isEmpty()) + continue; + + for(int platformSlot = 0; platformSlot < inventoryPlatformHandler.getSlots(); platformSlot++) + if(inventoryPlatformHandler.insertItem(platformSlot, available, true).getCount() < available.getCount()) + return true; + } + return false; } @Override @@ -161,19 +181,10 @@ public boolean restockFromBase(TileEntityEmplacement te) changed = true; } - if(!isHandlerEmpty(inventoryPlatformHandler)) - break; } return changed; } - protected boolean isHandlerEmpty(IEInventoryHandler handler) - { - for(int i = 0; i < handler.getSlots(); i++) - if(!handler.getStackInSlot(i).isEmpty()) - return false; - return true; - } @Override public void setDead() @@ -217,7 +228,7 @@ protected final void setupItemHandlers(TileEntityEmplacement te, int baseSlots, * @param platformFilter filter for platform-section insertion */ protected final void setupItemHandlers(TileEntityEmplacement te, int baseSlots, int platformSlots, - Predicate baseFilter, Predicate platformFilter) + Predicate baseFilter, Predicate platformFilter) { baseSlots = Math.max(0, Math.min(baseSlots, te.inventory.size())); platformSlots = Math.max(0, Math.min(platformSlots, te.inventory.size()-baseSlots)); @@ -227,6 +238,7 @@ protected final void setupItemHandlers(TileEntityEmplacement te, int baseSlots, this.inventoryPlatformHandler = platformSlots > 0? new FilteredEmplacementInventoryHandler(platformSlots, te, baseSlots, platformFilter): null; this.platformAmmoProvider = null; + ensureShootingComponents(); } /** @@ -265,22 +277,4 @@ public boolean accepts(ItemStack stack) } } - @Override - public NBTTagCompound serializeNBT() - { - NBTTagCompound nbt = super.serializeNBT(); - nbt.setTag("gunHandler", gunHandler.serializeNBT()); - nbt.setTag("recoil", recoil.serializeNBT()); - return nbt; - } - - @Override - public void deserializeNBT(NBTTagCompound nbt) - { - super.deserializeNBT(nbt); - if(nbt.hasKey("gunHandler")) - gunHandler.deserializeNBT((net.minecraft.nbt.NBTTagFloat)nbt.getTag("gunHandler")); - if(nbt.hasKey("recoil")) - recoil.deserializeNBT(nbt.getCompoundTag("recoil")); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponHeavyChemthrower.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponHeavyChemthrower.java index 7ae19596a..2b3506db3 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponHeavyChemthrower.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponHeavyChemthrower.java @@ -1,6 +1,5 @@ package pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.weapon; -import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.capability.IFluidHandler; @@ -12,14 +11,17 @@ import pl.pabilo8.immersiveintelligence.client.gui.deco.component.storage.DecoFluidTank; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Weapons.EmplacementWeapons.HeavyChemthrower; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; import javax.annotation.Nullable; public class EmplacementWeaponHeavyChemthrower extends EmplacementWeaponTurretBase { + @SyncNBT private FluidTank tank = new FluidTank(HeavyChemthrower.tankCapacity); private SidedFluidHandler fluidHandler = new SidedFluidHandler(this); + @SyncNBT private boolean shouldIgnite = false; public EmplacementWeaponHeavyChemthrower() @@ -34,7 +36,6 @@ protected void onInit(TileEntityEmplacement te) this.visionAABB = this.visionAABB.grow(HeavyChemthrower.detectionRadius); this.attackAABB = this.attackAABB.grow(HeavyChemthrower.attackRadius); this.aim.withAimSpeed(HeavyChemthrower.yawRotateSpeed, HeavyChemthrower.pitchRotateSpeed); - this.setup = new MultiblockInteractablePart(HeavyChemthrower.setupTime); } @Override @@ -194,20 +195,4 @@ public IFluidTankProperties[] getTankProperties() } } - //--- NBT ---// - - @Override - public NBTTagCompound serializeNBT() - { - NBTTagCompound nbt = super.serializeNBT(); - nbt.setTag("tank", tank.writeToNBT(new NBTTagCompound())); - return nbt; - } - - @Override - public void deserializeNBT(NBTTagCompound nbt) - { - super.deserializeNBT(nbt); - tank.readFromNBT(nbt.getCompoundTag("tank")); - } -} +} \ No newline at end of file diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponInfraredObserver.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponInfraredObserver.java index 733a829f7..8f6ca43b7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponInfraredObserver.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponInfraredObserver.java @@ -13,6 +13,7 @@ import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Weapons.EmplacementWeapons.InfraredObserver; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement.EmplacementStateNeeds; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.TargetCoordinateReference; import pl.pabilo8.immersiveintelligence.common.util.gun.GunAimCoordinate; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; @@ -22,8 +23,11 @@ public class EmplacementWeaponInfraredObserver extends EmplacementWeapon { @Nonnull + @SyncNBT private EnumFacing facing, plannedFacing; + @SyncNBT public GunAimCoordinate aim = new GunAimCoordinate(); + @SyncNBT public MultiblockInteractablePart setup; public EmplacementWeaponInfraredObserver() @@ -36,7 +40,8 @@ public EmplacementWeaponInfraredObserver() protected void onInit(TileEntityEmplacement te) { super.onInit(te); - this.facing = this.plannedFacing = te.facing; + if(!restoredFromNBT) + this.facing = this.plannedFacing = te.facing; Vec3i viewFront = this.facing.getDirectionVec(); Vec3i viewSides = this.facing.rotateY().getDirectionVec(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponLightHowitzer.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponLightHowitzer.java index 1f22a66d8..df127dcc0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponLightHowitzer.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponLightHowitzer.java @@ -1,7 +1,6 @@ package pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.weapon; import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Weapons.EmplacementWeapons.Autocannon; -import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Weapons.EmplacementWeapons.CPDS; import pl.pabilo8.immersiveintelligence.common.IIContent; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; import pl.pabilo8.immersiveintelligence.common.entity.ammo.types.EntityAmmoProjectile; @@ -21,8 +20,8 @@ protected void onInit(TileEntityEmplacement te) this.attackAABB = this.attackAABB.grow(Autocannon.attackRadius); setupItemHandlers(te, 12, 6, this.ammoFactory::isValidAmmo, this.ammoFactory::isValidAmmo); - this.aim.withAimSpeed(CPDS.yawRotateSpeed, CPDS.pitchRotateSpeed); - this.ammoFactory.setUseArtilleryAngles(true); + this.aim.withAimSpeed(3.5f, 3.5f); + this.ammoFactory.setUseArtilleryAngles(false); } @Override @@ -34,24 +33,24 @@ public String getName() @Override public int getShotDelay() { - return Autocannon.bulletFireTime; + return 10; } @Override public int getReloadDelay() { - return Autocannon.reloadTime; + return 56; } @Override public int getEnergyUpkeepCost() { - return Autocannon.energyUpkeepCost; + return 512; } @Override public int getMaxHealth() { - return Autocannon.maxHealth; + return 350; } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponMortar.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponMortar.java index 540f93c62..0cd71596b 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponMortar.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponMortar.java @@ -22,7 +22,7 @@ protected void onInit(TileEntityEmplacement te) setupItemHandlers(te, 12, 6, this.ammoFactory::isValidAmmo, this.ammoFactory::isValidAmmo); this.aim.withAimSpeed(CPDS.yawRotateSpeed, CPDS.pitchRotateSpeed); - this.ammoFactory.setUseArtilleryAngles(true); + this.ammoFactory.setUseArtilleryAngles(false); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponRocketLauncher.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponRocketLauncher.java index 1b8fc15f6..4b148e6df 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponRocketLauncher.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponRocketLauncher.java @@ -22,7 +22,7 @@ protected void onInit(TileEntityEmplacement te) setupItemHandlers(te, 12, 6, this.ammoFactory::isValidAmmo, this.ammoFactory::isValidAmmo); this.aim.withAimSpeed(CPDS.yawRotateSpeed, CPDS.pitchRotateSpeed); - this.ammoFactory.setUseArtilleryAngles(true); + this.ammoFactory.setUseArtilleryAngles(false); } @Override diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTeslaCoil.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTeslaCoil.java index 396d74115..0eeb0a914 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTeslaCoil.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTeslaCoil.java @@ -20,12 +20,14 @@ import pl.pabilo8.immersiveintelligence.common.IIConfigHandler.IIConfig.Weapons.EmplacementWeapons.TeslaCoil; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement.EmplacementStateNeeds; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; import pl.pabilo8.immersiveintelligence.common.util.easynbt.TargetCoordinateReference; import java.util.ArrayList; public class EmplacementWeaponTeslaCoil extends EmplacementWeapon { + @SyncNBT private final FluxStorageAdvanced energy; private final ArrayList targetedEntities = new ArrayList<>(); private final ArrayList effects = new ArrayList<>(); diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTurretBase.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTurretBase.java index ef3f01488..8cf1bfb85 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTurretBase.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock1/tileentity/emplacement/weapon/EmplacementWeaponTurretBase.java @@ -1,10 +1,12 @@ package pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.weapon; import blusunrize.immersiveengineering.common.util.Utils; -import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement; import pl.pabilo8.immersiveintelligence.common.block.multiblock.metal_multiblock1.tileentity.emplacement.TileEntityEmplacement.EmplacementStateNeeds; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT; +import pl.pabilo8.immersiveintelligence.common.util.easynbt.SyncNBT.SyncEvents; import pl.pabilo8.immersiveintelligence.common.util.easynbt.TargetCoordinateReference; import pl.pabilo8.immersiveintelligence.common.util.gun.GunAimCoordinate; import pl.pabilo8.immersiveintelligence.common.util.multiblock.util.MultiblockInteractablePart; @@ -14,14 +16,16 @@ /** * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 + * @updated 16.08.2026 * @since 01.01.2026 */ public abstract class EmplacementWeaponTurretBase extends EmplacementWeapon { + @SyncNBT(time = 0, events = SyncEvents.WEAPON_ROTATION) public GunAimCoordinate aim = new GunAimCoordinate(); @Nullable + @SyncNBT(time = 0, events = SyncEvents.WEAPON_MISC, nullable = true) public MultiblockInteractablePart setup = null; - public int shootDelay = 0, reloadDelay = 0; /** * Called after the weapon is installed or loaded from NBT @@ -30,42 +34,91 @@ public abstract class EmplacementWeaponTurretBase extends EmplacementWeapon protected void onInit(TileEntityEmplacement te) { super.onInit(te); - this.aim.withCurrentAngles(te.facing.getHorizontalAngle(), 0); + if(!restoredFromNBT) + this.aim.withCurrentAngles(te.facing.getHorizontalAngle(), 0); } @Override public EmplacementStateNeeds onUpdate(TileEntityEmplacement te, EmplacementStateNeeds baseNeeds, TargetCoordinateReference currentTarget) { - if(shootDelay > 0) - shootDelay--; - + boolean remote = te.getWorld().isRemote; if(currentTarget==null||!currentTarget.shouldBeExecuted(te.getWorld())) { + boolean setupChanged = false; if(this.setup!=null) { - this.setup.setState(false); + if(!remote) + setupChanged = this.setup.setState(false); this.setup.update(); } + + //The server owns target selection, but the client must keep advancing the last synced aim. + float previousYaw = this.aim.getYaw(0); + float previousPitch = this.aim.getPitch(0); + this.aim.update(); + + if(!remote&&hasCurrentAngleChanged(previousYaw, previousPitch)) + syncWithClient(te, SyncEvents.WEAPON_ROTATION); + if(setupChanged) + syncWithClient(te, SyncEvents.WEAPON_MISC); return super.onUpdate(te, baseNeeds, currentTarget); } - Vec3d target = currentTarget.supplyCoordinates(); - if(target!=null) - this.aim.setTarget(te.getWeaponCenter(), Vec3d.ZERO, target, getTargetMotion(currentTarget)); + boolean rotationChanged = false; + float previousYaw = this.aim.getYaw(0); + float previousPitch = this.aim.getPitch(0); + if(!remote) + { + Vec3d target = currentTarget.supplyCoordinates(); + if(target!=null) + { + float previousTargetYaw = this.aim.getTargetYaw(); + float previousTargetPitch = this.aim.getTargetPitch(); + if(this.aim.setTarget(te.getWeaponCenter(), Vec3d.ZERO, target, getTargetMotion(currentTarget))) + rotationChanged = hasTargetAngleChanged(previousTargetYaw, previousTargetPitch); + } + } + //Do not calculate targets on the client. It only interpolates the server-owned aim state. this.aim.update(); + if(!remote) + rotationChanged |= hasCurrentAngleChanged(previousYaw, previousPitch); + boolean setupChanged = false; if(this.setup!=null) { - this.setup.setState(true); + if(!remote) + setupChanged = this.setup.setState(true); this.setup.update(); } - if(isReadyToShoot(te)&&shoot(te, currentTarget)) + boolean fired = !remote&&isReadyToShoot(te)&&shoot(te, currentTarget); + if(fired) currentTarget.notifyAfterShot(); + if(!remote) + { + if(rotationChanged) + syncWithClient(te, SyncEvents.WEAPON_ROTATION); + if(setupChanged) + syncWithClient(te, SyncEvents.WEAPON_MISC); + if(fired) + syncWithClient(te, SyncEvents.WEAPON_RELOAD); + } return EmplacementStateNeeds.WANTS_SURFACE; } + private boolean hasTargetAngleChanged(float previousYaw, float previousPitch) + { + return Math.abs(MathHelper.wrapDegrees(this.aim.getTargetYaw()-previousYaw)) > 0.001f + ||Math.abs(this.aim.getTargetPitch()-previousPitch) > 0.001f; + } + + private boolean hasCurrentAngleChanged(float previousYaw, float previousPitch) + { + return Math.abs(MathHelper.wrapDegrees(this.aim.getYaw(0)-previousYaw)) > 0.001f + ||Math.abs(this.aim.getPitch(0)-previousPitch) > 0.001f; + } + protected Vec3d getTargetMotion(TargetCoordinateReference target) { if(target.getEntity()!=null) @@ -75,7 +128,7 @@ protected Vec3d getTargetMotion(TargetCoordinateReference target) protected boolean isReadyToShoot(TileEntityEmplacement te) { - return shootDelay <= 0&&te.door.isFullyOpened()&&(setup==null||setup.isFullyOpened())&&aim.isAimed(1.5f)&&canShoot(te); + return te.door.isFullyOpened()&&(setup==null||setup.isFullyOpened())&&aim.isAimed(1.5f)&&canShoot(te); } public abstract boolean canShoot(TileEntityEmplacement te); @@ -88,7 +141,6 @@ protected boolean shoot(TileEntityEmplacement te, TargetCoordinateReference targ { if(baseEntity!=null) Utils.attractEnemies(baseEntity, 24); - this.shootDelay = getShotDelay(); return false; } @@ -101,24 +153,4 @@ public boolean requiresZeroingBeforeReload() public abstract int getReloadDelay(); - @Override - public NBTTagCompound serializeNBT() - { - NBTTagCompound nbt = super.serializeNBT(); - nbt.setTag("aim", aim.serializeNBT()); - if(setup!=null) - nbt.setTag("setup", setup.serializeNBT()); - nbt.setInteger("shootDelay", shootDelay); - return nbt; - } - - @Override - public void deserializeNBT(NBTTagCompound nbt) - { - super.deserializeNBT(nbt); - aim.deserializeNBT(nbt.getCompoundTag("aim")); - if(setup!=null) - setup.deserializeNBT(nbt.getCompoundTag("setup")); - shootDelay = nbt.getInteger("shootDelay"); - } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java index 1c0b07556..b82d87a9f 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoMissile.java @@ -32,10 +32,7 @@ protected void updatePhysics() { //Gravity suppressed by missile jet if(fuelRemaining > 0) - { - velocity -= DRAG*velocity; fuelRemaining--; - } else super.updatePhysics(); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java index f1ae09f81..ee13bbfd4 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/entity/ammo/types/EntityAmmoProjectile.java @@ -212,7 +212,7 @@ protected void doRotations() { float[] rotation = IIMath.getRotationFromVector(motionX, motionY, motionZ); this.rotationYaw = rotation[0]; - this.rotationPitch = rotation[1]; + this.rotationPitch = -rotation[1]; } /** @@ -536,6 +536,11 @@ public void setPositionAndVelocity(Vec3d pos, Vec3d dir, float velocityModifier) this.baseMotion = dir.normalize(); this.velocity *= velocityModifier; this.velocityModifier = velocityModifier; + + float[] rotation = IIMath.getRotationFromVector(baseMotion); + this.rotationYaw = rotation[0]; + this.rotationPitch = -rotation[1]; + markVelocityChanged(); } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java index 9a9f84192..eed30c9b0 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/IIExplosion.java @@ -408,7 +408,7 @@ public void doExplosionB(boolean spawnParticles) //play explosion sound IIPacketHandler.playRangedSound(world, getPosition(), causesFire?IISounds.explosionIncendiary: IISounds.explosion, - SoundCategory.NEUTRAL, (int)(72+6*size), 1f, pitch); + SoundCategory.NEUTRAL, (int)(80+8*size), 1f, pitch); if(spawnParticles) IIPacketHandler.sendToClient(MessageExplosion.createExplosionMessage( diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java index 332c9d27c..d828be18c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/NBTSerialisation.java @@ -190,7 +190,7 @@ public static void preInit() TypeSerializationData data = nameToSerializers.get(nbtTagCompound.getString("type")); if(data==null) return null; - return data.deserialize(nbtTagCompound); + return data.deserialize(nbtTagCompound, type); }); registerSerializer( @@ -634,6 +634,15 @@ public NBTTagCompound serialize(T type) @Nullable public T deserialize(NBTTagCompound from) + { + return deserialize(from, null); + } + + /** + * Deserializes a polymorphic value and reuses the current instance when its subtype matches. + */ + @Nullable + public T deserialize(NBTTagCompound from, @Nullable T current) { String typeId = from.getString("type"); if(typeId.isEmpty()||"null".equals(typeId)) @@ -645,7 +654,9 @@ public T deserialize(NBTTagCompound from) return null; } - T instance = supplier.get(); + T instance = current; + if(instance==null||!typeId.equals(nameFromClass.get(instance.getClass()))) + instance = supplier.get(); if(instance==null) { IILogger.error("Failed to instantiate ITypeNBTSerializable type \""+typeId+"\"."); @@ -659,7 +670,6 @@ public T deserialize(NBTTagCompound from) } catch(Exception e) { IILogger.error("Error deserializing ITypeNBTSerializable type \""+typeId+"\".", e); - return instance; } return instance; } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java index c838b629a..76c094e5c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/easynbt/SyncNBT.java @@ -57,6 +57,10 @@ enum SyncEvents ENTITY_DAMAGED, ENTITY_DEATH, ENTITY_CUSTOM1, - ENTITY_CUSTOM2 + ENTITY_CUSTOM2, + + WEAPON_ROTATION, + WEAPON_RELOAD, + WEAPON_MISC, } } diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java index fea3fed9b..ad980372c 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunAimCoordinate.java @@ -13,7 +13,7 @@ * Stores yaw and pitch coordinates of a gun and provides utility methods for targetting and rendering. * * @author Pabilo8 (pabilo@iiteam.net) - * @updated 15.08.2026 + * @updated 16.08.2026 * @ii-approved 0.3.1 * @implNote only pitch, yaw, targetPitch, targetYaw and centerYaw are synced to NBT, the rest is for runtime use only and not saved * @since 24.02.2026 diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunRecoil.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunRecoil.java index 348b3d763..182d8b494 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunRecoil.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunRecoil.java @@ -16,6 +16,7 @@ * * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 + * @updated 16.08.2026 * @since 15.05.2026 */ public class GunRecoil implements INBTSerializable @@ -27,7 +28,8 @@ public class GunRecoil implements INBTSerializable //--- Overheating ---// private boolean isOverheated = false; - private float overheat = 0, maxOverheat = 0, overheatDecrease = 1; + private float overheat = 0; + private float maxOverheat = 0, overheatDecrease = 1; @Nullable private Supplier coolantTank = null; private int coolantPerTick = 10; diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunShootingHandler.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunShootingHandler.java index 5f1244a8d..06471b220 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunShootingHandler.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/util/gun/GunShootingHandler.java @@ -1,6 +1,8 @@ package pl.pabilo8.immersiveintelligence.common.util.gun; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagFloat; import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundEvent; @@ -18,14 +20,16 @@ * * @author Pabilo8 (pabilo@iiteam.net) * @ii-approved 0.3.1 + * @updated 16.08.2026 * @since 15.05.2026 */ -public class GunShootingHandler implements INBTSerializable +public class GunShootingHandler implements INBTSerializable { private float shotDelay, maxShotDelay; private GunRecoil recoil = null; private AmmoFactory ammoFactory = null; private GunAmmoProvider ammoProvider = null; + private NBTTagCompound pendingAmmoProviderNBT = null; //Sounds private AdvancedSounds.RangedSound sound = null; private SoundEvent soundDryFire = null; @@ -116,6 +120,11 @@ public GunShootingHandler withAmmoFactory(AmmoFactory

    #)5htQ7Ph)48{ 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 p6)*FOqO?74)o diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/oxygen_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png deleted file mode 100644 index 44f924cd2d19c8048e1d0a3a50d0a237a5533278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68839 zcmV(+K;6HIP)8~6|5pV8$VbJ3ff607X1Of@s-46ts2!vR135fk-=k}31u@kaM+p%#nRssl-ghL=A zYz}dQB|<n(C@wRsE`J%=(()xA9unt`826 z#(jQwef99`cvZT-YWP(==y%O}&+yIoaz9^RH~b;q!w=&H>H5auFY$I)nIz#i z@tSnUk>PLggx}3ygmisqcr0E#O1O0RaeR}X^P?)dGhH8FJv)AClyGA8y!biWuWuRt z9pCG^^}C1v#`mY|+g4AGA99^p9~d5qd;FY~at%q!*N>0aW_{i8`*@S>S;;O*`d7R= zU5C{(;wMH4%hi+Oy?&l0?JXqG4N1b$;qUR3tH=(np+~0c8-_o{TgM;dJN<$`XxF!| zo)$mm7pzljSea^lZPMk2LIPi#B>ETeBER4-Mw34l_xlC?9VHw{KiF}V{NVQ0Q{zYV z+N|F-JQ(Ncjzhx`FHOh1Wa#4S)AiwD6)zu;d3Dm^P$A)(KT z38U%na}D96l#m~hBTFdp2N;xag8S{upn`K1ko|BDJw4-hznD3u_Q zm67CHdBi2dZhQl0xdY=5POfJ0ixRZ0z@C9*#DW=e$Zq*MWgc=j#RJ{Z31H~P&LESl zPpw`U&m{>rB|O~W8U+kJvy;C73`*Ip9}Qzo#}d%czBdRHm^8= zv|_j%-LBP4OGIcoTCspImzjvv#+FWz&To6V z(^c{)1}`JZpQkcdNC>N^$B)~dYgYPV^vRWoZVBdw4Yj>BJ?8cnd}G$Pu1x%3`r_t< zi_;m42^Y3!05yhyk?uIQdS?723hee4bYcmDphjpyKBjAMiX~wY2J=fC*Rb{#Ddk#* zT7?vCQZ{=*{IXwC`V%`W;WPtnB?S>i8_iLq!$JU)?cx_WmC0HD9;9HYyscJV)b0%X zjE6_#e$;Z?bItNI4z-3VkDsXySzFhTvI3k&5rr~17PqBq7_>9i1-Tl>w7ncNS3}!# zD)!5KtOwE$?pnPlK9sIUU!1l*d$WK&Dvq22!J8%V7dveF18~-XLPAbr`j?rQ-%TI< zH6FKtowdvE4@R^vbr}EV@JD_a?;srlAxB*UOjl9PvVlud#dz4>qM8lBY;P$GqHquN2reX7 z+MpCAKcbM3eUPp%8y=2t7H8QYX^@DxT*I3SF*UBIfn$5FcFhEOIdHO4Al@4ib|@9+ ze8}XcndFHb37m9CZUQn`6E^($$c5E4+RA~;6E&%r z{LN6RjbwRxR3(q(tZ&vA4iCkb`5BXbvgF=;ZQ{LRN!M|G=(ua@z-+=S1o{E^2*4IJ`b zMa@r^FjoBvO`{HfX3jDdq8z$P+ zM%`n3!UvqDEGP(Fr1B7^^x&Ya3sjHKu9=8eC`m!+A}JfdWemaF)}kCqc(Fz|CG8+( zfhbx~*i$oHOU;H39AQLJzG8!v1$Hyo5jSGCmR62@QX_zjfEC9iZYS3uoIxTB$L7I> zrea7y<&k8LAArJ>WdjFLWw=Arj!(5iut{hW#<+v>N`n<`iutP{3(X+}N^kca0{P z4OA21C{IC&Gfa5B>3 zQi*ErCOJ37~E`W&nTWmJW95P2nW!FAyip zD~$kz2A1gDYvc=cHx;!oO^Y@d*1n$3K(xpi8u6%e#97ilTr_+qT3d6T?3kg~I_eqo zyE)!0i!Y{;a^ zUzj22>Kfry#48(66i#BU6?{ zKe17>QM)wLW)u6FWSqUjx8p1QO#2IrS7_uX64RY4oKb@J3WDTYb!^mDC-B0dP+p~nCR((115$g;qIc9 zBPFq1m~@LerzKi+v}j0a22k-{&-Oz0sPgu#!#U-XIor8rqZ||+D^5Yn$bue_No(Tx zt`UyQ2?dtyK}m|Ca@I*7fkoFwi)*By;!ey;rN=>z;+g1_!w4SyQtsr`GtInySs0YI znX)mXaeXC}ma4%y>>j5>m4cVbY9YJGFQr$e>$z+@p#gA5Nny^LY1G7GdRs1%c3e9d z)*ZHCI(Z)ju+y~1#C2&2H`MGv;SlnX8hr|a?%G49n zuvTE2RrU+PISmEdX%6xW&A~L8sy3QE)c_LeS zXxQtt4M)HY)Fd?A*|lN=3^;gsXLtu!Nj?Fi#oI72;v^~h#YQ!Ct)w)1Gog~<xm%L69YQnIzZxD|u}yJM-K z^bWzS$T)<3%%QVa{A>!e{D3j|dV`=4BTkuk&o?yU1)8O|x|PBWlSQa&g*Kr+0BAHk zkZT@v%ECBEM}sXt*1-^ndckiZs0Nruzzdr<=*V@Phqst48Z=eng}hJ3rp5ML7xa6A zdZ#%NPXM363ryuC`k-s2GEt-00hxyPDUH-Vv|IoZ?Oz)18=1wqPNzZYwvyF#f;?!5 zE&y-w2(e}ozd6d94v!0{V@oM~5?e`Fnb-M@i(c3fI+w}I3)9!-sJMweqImLK11 z14jgd2gABq)L}dU2Q(Zn>`m)}yaLFDrD*UldzHrXDSI-SkS(WEd7zpnTBm2A(h zybc3kfD}@wlV-s9{ShJ6AcT<`gyNiwgcOYjD8PV(x%ZMORK|45A$_s~a5U zA2VBWNg!Dci=H$CDAWSnpesb&fz<*1{GKHK2E%1Pjv%jCc*ZQ7Yqf}lw$2>{^0@aje>!$aRz|2HcioIp&;uIxnc6@Rn793I(^l@jYobjT zPo~>R^!M02)1~j7(Z`B3?>EQ20JZ@$@vzvfbDEzx)p=gheswa~!Fbqm1wNQ84UCog zqV39}-SX5ag$X3ZSB=t`>^*y!5w?$+jrR;-{$E4dQ?Ar?mA>FWfp&7mTb6~{GVUPe1-ddudWp*P|&4b+gCd|QatXf z_>NoLdS5WfQQfWI}%vpA+GcP=M$`J z1HT{F-7rBOo^AKR4w98>^DWa6(&TsY;4lt3EAHVtSsDl0d#kWcjZE{qF`;vt7jyi6 zHqvL@gEO>#!ozpGWwX0ECFtQh8TLs;Tl^RtFXADR+Dw<$1Gy#f!4lKyQV~h3^B?B+ z1)Mu3r2>w7TMvVgy}zGn+&W3|H0Pt9*hsLwm&BJLuRzR;6?e;L0w_a*K_QaqzCHEK z0}1D^&eNt|7}qU>eXVCuI8xw+4p3H_r;N|1Dmb)fB`4MN3OhYxB01FjRi@XW1C~y( zlQTBXm5ls9RQ&90Gu+hIjgatkT%`I_5|uUnKS>h}5SF$axiq};Om&IAJz1%BW0P3P z9grF)C`+bV9nx571_LwkQ%n=O6+?SS2iZ*XbVU{(tx1>RoD!%N9<`L?5UpoGB?B8j zHr*y`DLLNn%*KP|!q0LC3088@ZzZVF+pQ@aq4QOcKZYF;^OJkWmSR zGr+S-SeQ?Qd=sDim-!V4C}c44*48!RMODTf#1ITn$UfPhyk-JVCK!xo8fPu%wf31% zfP7O91T&HRActu-xsBPS)Kn~G`e6+U8EDpKM6y(OJm-l7S&-tpAzIXpm)uNVnKbZa zx@2RXervnKVm@*XK;I3}{`_`xn6aQ5%{p2e?U}GWuG<|PTOi>r-Kg?|@Aq4h8wF?o z3=cMYgvzs{H@P1Q@T2?M$eH z&DFI^3!LX+Rjcd{k!~}^RrcTg8O*e>X3DGKpMU#*y!_&{Z9Nx1v7U%Xzg>Vr zL#pZySlZkHNO&OL|KtPi47*>TlU?klEI6ui(RN}M=R=-#9GZ5h7HXHfHQ2QKezs_v zIC8|ob7t*`9~6Nz`b-HxklGfjFjCv5E6~Icdgj8ujy9*U7e$i4vyC}e*fVWi6fu~v zP5BSD&Mu6Hyh&DT&cgD8L?pfvxIqnMfpo>f%P~})J9?6ebw(^@UGN$?vD#ZHUJ#q5 z2!?YV#Y2dPMa`_I_ZKv{qjC-Co9aEL z%A^RbVZ+Ql^2`PP`Qq=hociP^{ zkctLumbm58b>SJn8;=}G8rPAHReO+@DWwgkHFz@TLR<2Unk&zsNhfsl$bHX#tgk>y zYop}5(}D?CV@k0?6U9-DhVKa(5+nmmh1wambv}dQ)_nc)EPDZ%khBl_VR5qB!D4zu zQmItA|4;Tt79O{}<5sBDplMCo#U6my${qE{ccM7Y|0EOr*CZygnMl4+>7laafN6Mh z9j-RIHLm;eE=Rmn0ODhw&f~u8bgLx-Jh@~s5p;g$d-3<%GyZ=kwWHx}p`iDy480j8QG zE}S$367~SEizW{L&j&SnQRPT&7(IW011J8ypD8<)G(~~)0rzn(aJZ70f@qeKQKJ{e z=GkZDDF`%%)QE}n*ic5x1_f8-yZVCZ8dow#+|q$cFxV4hqA?~`r!krl);istdJLsz zq7k8Cb5XItpln~AMAL;H9(T8{4_*JyFkwD}LMS6kXHzj%Lp!mrU|TP~UL#Mx8^=oi z5!o4aMOzm-{~N6^YGc=Uq3^KCT)Bn1!Ld_0|Ebm*_?iU>9Qy{56$^xFo&3N#8T%}S zoV&dl5?}yi>4y9AA#+EO-AmPGGb+22v3>q%+;@$M9-!EhC+@S*RB0JS`TLldgPdHE zgpwufP2A)k$pV`Po0=5OxbAZ1f{96K`hnP_Sn>-`-~NM_e>L;O#?_Vd4t4;~pwUZ) zj`?!SFs@vS&*kVt>Lq7YLG9oj7IPYkRlH^b524M+r^j{X10+{A+bgVLtz3Ullgn(D zlc099yj%7kEX=2HRtl%B^N@u>-GgzZNEl@B_H2gk2lq~~m$Q+lZz?w$P)O&f-as^5 z;%+a~{jKy3U_lp9{2g48PIsNwk=bUuuznzRABCksVaZE98Gm`+O!Q2sjXbS8*-7*v zOP^a+Z9pKbJgRm|9*4e)-=5XG3HJ&X092+?-~f(C9w2&@w+DSF&fI z3+U7n*DS%jf2Fz8m87n7adkUgt~}z95M(n!#coO2kkL1O@Y*3(n~wB*&3YkX=BBnY z3&rGFcDH;>NVa;WdK)Z+Jqht$wQawU5okb}90m$Tw0=j`EUWEIzo}bTLx!-(%CD&y zL6XIJ5oQ0i)!On5$UHdW0O@^tj4-~>Y5yeuTQinKVm#*+tu3%mM-&6J>4XuGRL*y$f@pk&1d6GS$PIc z*Cq>1Znu!9ZN$Smzm~ zv@1ap3=O!4{D43L9}OrZt9RD=Odpl)i)tVmfT*Vt;u_+`Gq}mgL*p_gD;N%|CSJUq znb$sThb*ReeL-Yu$@h581hX$hn-*=Ul>$7{yycx9zbW0 zWEup6^d9y&WS$&^A#q@)uUE@5jwZwg9hjyC0(MTy%Uq+5=EMs9=U)D9l6+Q!p*AIo zbF(Tc7FcMWcwF-cZ*ruCW{*;-e|bFjm1zdiSmM>xYwKlLu*9ng^Uu8eSJO80L%tdz zEq3R2STtdPeOXXc^-DbA-itX`*;j+nHInlPhkti-a|F!~>=$IMGd03ygR{$|Ri4fk zfgm!oU8ik#fpr$^GtM+^2WQ6aPCkB;1jn1?PFf-{jIuvkzP zr3LG;$p0IuCr>8Hja)f>n@gBx4gsdQgAC3Bl=(*FT>EuGiPSV$hmJy5!{K}dJDJ9{ z0}~3yg>3#Rp8+j$V~tKLFU~dDCjTR$U?2|CKfnZKV(21l>opcm7{&I?29sw%e#kRQ z1CYp#>pLRK;*&Ku7yef{Brh=c3kn5ir-=>MGa538@&PdB`Oc=$VM78lXg_2vT#d>o z`&kDR8a7=}(z2Ccyjk7}epKB*g+y*cUJ($M6NoVs)2k5;fQ2FyGG^RzU&TdzdG+DYbGi(d99sBZiJ z(guYxR}7fKo4=HzoBl%^V^UG9*w)?DnCSjS4o!}f>wvF7?qe;{alNQ)jqt`y*D(j= z*G@kdnVWtNG8M6U;GsGh{tTF~H8RIrGO=u5)t!C>#VZN?iizAJ&w!=f(Tei~vm$I< z7bpvnkp<&gpyZJ?g`6A=4i?lUs1J?&3+ywVUAcww|D$kh2%=HNm&zcZjKjkCN63{( zuE~ikhY|^gR;(9|1hB^W)1i)n%(WeZH8UKS2BeYmjz zktC{XyaNdsu!hl1}w&>Hs+jA6}T@mLakF@EJ>c-+Ri(%QT^S?dasW)jaurn z(26)G(1xmXFR1urERCXH3U@%B=H($z-E=Z`w@R`|AVBrt7f?Tvts_1cBm7CRDs{U4 z>|-ymxzI&;Lupi$7UTnL%s?){2e$to^1!f$M1u95T8(_AMDsvxI7CfMMi^100aAq5 zkGtF8d7(re24BdToCzU4S06uKr}j$|NJt2jdU4SvqI(B6LbKMIGe1i)cHCEv)YC-x zcZf|Lf>j7c&-U=1>n4kENIp)r*;LtwNTE)X=)xi**&wC1i6U?m-I%nFhiuO#E1Z4h zNIV=KCY4DM++v||{HK&-WSj+c0f{;{x7G zL<{C@$Ba=^CGm#Yom@{*G8Cia7tysSb38vVE1bl(=Q) z$Qct)sm0Beof%z69ZlOTed(z(hE_b28VXU@DIThIIG&{{|prK79qJ}QY&3yD#rb_lzsZKogTDsAw^lbCJg}9uls@->W6vOf2JmGQ5!szO;of=%Nn~LYkc+P{Mlc7`TJRDRKSV+@K)Ar0MdlAe&UkmT(8QV91Ic+ z9Yg$bcM_R`Abr=IOI#?u8LHHcD{^pDMj~QD9T@kha^HSz-vkzniF;b6M5vae4>>Jl znTcfQK@Gj_MkhwOmTXg0WnN@N~Nfg zy0ljMTr!g-zU;3v-$FHQBZ(r+(*|%X9Rk$RES9nipnh~AjdkTnaBX_Q z)qX^iP6seSR&9Muq_5C7@u?R8tg^>qO3q8Q(k?2O&{hiT6Au8S_)1FNc^>y(D;2Id z;O8hr=Li_w5!QlC*Z>DKLyszbtsay=0iJ4sef{#RV`*>A?)^}Tt)5=MxN`c;miyt` z1ZP^QBw0M8G@2_?cbp6K4|?H@vX8S;d05oU?05cNOgL}mCf%4*+3-U-&N&C(RPNc` zhHRCx)~VW={p1$_XBZaA51{B`39BNLMHRCn$!a(EKn zvY{ysDbpoaGT|Y2bI9HtQsqo1wcks*0Qe8vr06MOML;Zug~Z4xXcE6q|GO>lA%(wH zUi1BKlktdS1(FfWETcD!XHj8Sg`rO0MM#SaekI2c8Mphn>=$iMYs8N0MaEup{whRT zzn>O1kh~>hfyIjmjq+i57d3SQ; zlR7i?7f%U4i)>;Dbd|imTI`guT1gAWH(+`dt=clORhCiNszL3F+HGH>p`n(y%27ac zIQrmi7{5GHb)f&MZLi-;L&#GO0CNMZrG@DNt5uy$Dv+GB$;dn95ksGZ@LyF+#0l6A zC6;j41ISlaX8|sez5Yj2sLXdxDyXI5lVFVwkDv~I$tOyGuC-y&p)LFSblq#Z^^M1y zb70^wN0GDuG#cT7x_#Fua_#;Z&bMHNrLAsu&(fWD=6%^MEZhzRg7Bo>n5g?NEGL>$=m zHp&Y!vC1UW4Q%4Zrfp|{FNTbfly37IxUknIYj|RMuVMJzZ~x@w-cCBgwyC4qtZ5FH) z$rE5{BJNRgGI!8BbuyRgEQt6K^ue?BnLh|8 zn=^w_FuVJuiy4z~PMNx;CX73(7Z63HCtC|7;hN z`!y2~kV>I|QBhfIcG~77ch_xbKHbwQ+YB7TAsLbG$_o+!uLPTqn!}7WG@A{#-16gi zHr2J~8keAfa?VF(T%qduIe~v%|FriR<3^p2twJG@MRTTP1IDK1$GuO>2zib3oOjD{ z%^KkMwWiF`b)=G|XWfvPt}EK>#2=uk30RV;PlxXewKqM|{kkwIJrbCqCuU%a!J#k3NU^gvo@Thwg9*A4r} z_94mW_oVTfX06))dR}maZW#$3_q(rnh|Z}!j@U7j+|L>%DbIub<;MRnQk|7>IMbsjNtS5eM4O8%oy4tS(*CZ zk3>qVw7WI!F2=!3o|slYV>E`G@|u$`@P$%1o0N%sfYn}7tTFA&DMpCqo#FsVJkW3Y zBs#ft^XPOnRpTMX#l~|26a)}n4eyfDtmIBbIAJ_@pmrV8g!q~bkCHA`YD@}Ttf$Ck zV@&Dnn$){nH{-KjEKb(Mtg9n40{niv&XC^#T+e}uQyNMVCo~y-O3X*8-d|ht$~G*~ zRCTh0;x%3u;%7bHPfYI>L?TXH7il?ZJFf=7vUH=Hb~=y9;j`Z4yOSc23(b=FvIclk z2$bq1dM`NjJw?kI3@S!Qq)>BeCZ{Bw6Vs^{=tYs%C$_1~g^|*w4k7Mhuqb&)y;ggF zRuH1iTU@jpi?tQ7oQ?^+cM5#0fxhcy6;i3qi)d&RC{fy7Ghgsmbutk9cclT@o?Pdz z)5Y@lLQF$ov*y+6m3%Q?lNDkm+oFYD(`6ZoOaG?E)*pAL?%3RW>|co2mWojov2o!N z@Y7d#>xK-+y(_=%HVe@KKcczAg4STJ+8%yXUNJ2 zZb7eb4|1|30Lr!-*BR;5UFM6_=sf2uS&AZG2kA_8+PAIq17l=oF%?=6rDU@zC!WU~HBI?G9-skaZ zP9k5{tL|L)#`RBoHYwkXZOIKdx%ifgnC+Z$Yhvs1mBfKII#h=d^**6AI3b&6;(g9D zfjGgS9>328$SE;0<$4x;kVXW!fX^3HVG;vN=LIpX z^&Kh>aP0PLfO>&%s5H@!DE-SCQithZ7QcT&b@N%y+s4*2 zhhza!T$O zG5^}mg34}*fISVUpTk6D3(qwJGVZgfGonfP-Qj%CS9~}y05D%Xnb-|` z=`UJ(KO{$l^PAqWwb{q(!Z{OTi=d`nvvOisidBzw7sq)uzwi0MW{_U4+6Zj2Pe@A! z$VCMUzc4)!H{>_DkcFtny5t5qwV?C%ST7PfX!RA{GtPP7Jy7z#ZAaS=C8e5Yp4U+8 z9Z$#nX3SvKyjd(VG9Pc(?bD+!j2qUA;ml}dSh&wq>{*nB%!M= z-^9#0j&tp_YN{4Davef6Uw}qq!3iOeCUx&K$QmL$CiSAgVXgSK7S)x|#5`C>^t~yM z_{2Hyn1B?{`-dFAU=j0s^b^sMv5~ei|KVNj)31t>EbhEuc(z?-MvB8xt!IT=ddfSC<=0m54I~+XU#=A35(cQ*Zy(AQ| zkFR-{k^yaEy1t{mp$&WQ(fKp-q)jtA1}jH=R*Ft7aG z4Y$>6A|jC5;RUeTNh*6`Z+3ysQ-3wDfq(GwuTCpbS663&wL1@eKcUl5)&DnzRnH=0 zcZ4K;sU7&B_Ptd5Utj)>-6n-SC~mO`47fxCrrC( z{-&#R0pOdFIkB(jpOZ)!^}{9wZ&?HVNJ!=b5D_`2Llu_obIt&z?)G10|G&5Rxi#wc zMiwttaUv>Q?K~BamQ-qY>h4&xThTF?R*4&^HQ0Z)J9Tbn`|LrRY(;8_Pp_`TxjQY& zaR5sjSVGQXdTpz`q=Vf}v!`&0aPz!vrbFi()$@sY$ED1GJr4jRhYS~r{J)(A(;=lVC|JlFVi6a}g^WmBLqjKcUU47@OxNss zF&d4tyQNmL2Kaq!)k$^%IH)CC1y;5eHKZ0vrT2WRZ$LF2GPSGJhUW>vzJcOdp*)ya zRMAbSn>BFB!GrRiiz1WxApne$L6@<;>5`F3|NMpfLG^{rrO5Y6=3WYTX!S}OyO zM;YPd34ovk(dqT=ta@Avc}=9K3oRRreEux492stShV_W=H@uQzFb9oMw5BM6Z6nn=~y zhPdFm1^rs=mqP}(Vbm=UO$SH6cBjQ8HCZk(UgfZ#ro+OQBfjB}^A!RGaTY`;<=P;c z=`{mJ8AQk7L+oc&mlRCgNDMx|3Lp`4N;Yqty6x4C&+d8iZ)+yYw*PtS_W90#X{GxaO95$H4QPC1l6Mhm;2{7E$+9jN+DL76KF7o2olhY}Ym5(5GaT!GxqU`8|d#%%Cy+&JzR)={2Lw zzblP@R_zr$yc3ne|L^5TA`R-MH|4Hq<3A7Y#Ir_*+GG*4TYzqI#w4caSKX9MO-vKZ zU8nV&Hy8>ItFDs**nO4ENh_*zjrmY)(kp^^07h)%x}yKD^Fk*vxW8xFqZFs=wfMvu znO5)(hi)*TFd|bN-QBtrt(}6?D(SlXoEcWgE9BLc=-T~@{Z*s)KfE(g`EgMtSETfQ zK?5`%-enxoVVED8tYpLkH4Ax4CzWZnATm*qU_Vl7;b9J9ibvBbDH|b(zR3wL;)r!v z8h`osmtgfN7g4B7@3XlL!7*%Xww?G-?`qTzqpT_SnKQ=my)A$OXr;PjfKY(}(dmdA zSv#|OT6Hq{y`WAdDxp?c$ZHE|?JRisECUgbsz@sV*XuWZlHu36RD1X=zewj4les34 zj;iHx&h=R=8;#`xKtX?ugcJ> zDZ0vPkHVy3K-0loGQQlMdQduVfb@KxZK>}0>jG$G|1!o;rNr7v+#{$4MZA#NwGT+6aJshY4n6@?tq`CMU}L)?owfs}O9 zmNCQDwwsP3Iv?pX+X?UriC{D;SWE$M92bp_pXGIFqhR9|km^%n#zZuL# zTqr7{);XPy`20xhDQg1@{Bi)`321GuO z>&47E5mTq_vzG)WHSUL8;^?j0IdjXpGpab0{vzL~qs-;5>u zV=;Y=T_JuX31kY>VgZ1P_0qg;9zL^C%2v7;Pya-Lu_2TcGjzma+&UT%_4xw@~ z+a!CQcUX=#_k8}i$QgB#GP-VJr8llKTc#Rs?3^K2yBS~0AVViu;M-_C=W1u$){_d` zLG=cI+MS$X4ZZ*I;X5LF85g2j2BZdrDx2#7o##IvzGF@954+RCh`WYi;FvZRO=L7x zSeP@PtZuinE0*odj>$R!6l{~A7d5BZ9gOGFDXqm9_#ca?6xh^9=afAnKlO@*L!tu3 zvm_$LDq=ctI1LLy1HM7OeT@Awo;y0ut#kfB9PcO6$SCikkCjJ2U^t3A{ylvzp;MFd zNQ2OFUkz66F`p1nZ$A*(TOgrc7Ao0#Fd>{Z0@3L_o`S_f=$ zyRyAGjOd={E8sX*TK@0tHje8_q;zWbe)0RU&o{=V|GZ>B@0Ki- zr6La4p!D?GKrE=A8_5qan~8QG!mHW1gq+e#yHPXN44E<@j#)J`$Ou$xyy8^p;PYws zAE}rImv|Qz3?Iyyz@rP!`86eCdT%P&w6Ja1T|5DNf7_YRd>FD{0E?FSfQ=8uE|eMD z4agc`UYYE;myR_1uJnBqppjqf&jK6m>P2&=*Q}ylYWCKV-cBi?mH>dsT{0|W!XpLSWJk3Io8p7#`GaXCYJTzPRT}b1 z!0z6};rZMD`Q=|j$86k}YBzy~eaz4sNvBCZq#4}4al?)xkaAy3o6L;LIM3%8n}Jp_ zsTkYUSpF!i8d541$<731dKGB*Yg@boAkZ~$I?InM-a4TO7|qMzv;jZ(=2?8)V0hCurNwZ8jK!ZTZCD15L7B!1pOk3aX9J z42(~9OhKc5;6F5(K}=Q!)*ttbc)aEvN5rZCqLPna2|I?^Pd-q3rLhJe&G!L_SJe)= zAt$35+wC3iDbaW$L_oY&gByBH+7C~F=^B0?1ePb(v@QmrT9&zgiduDTx8KP=LD7A= zF}33VBHy)(>^vcyn#1<{8g?r@PjrZ7!qObrdn09${~%tl?I5+P3da}A#^oo0bQ93UcD} z2GTt*#kA-R5r`t^<1i|Jtw2bw8BpBhSRGzMRHGUfal?q|H(i3tiW$x7Ni2QSnN*7+ zlY|3h7S;-jv)r^q+qRUR$O%7X4oK>x1%x)GYZN42S)lEo7HC>;`_@ZJrB56>qNS!A ztGp+v(69)IcJD?D(>4z&-gU3yr?addm#W=;zrW0xn3Qx^k5v*BYw9Mpp>DH38rMF< z4tUjQKY!=`3Vga|(;=p%(x=U7^|XQbfWWc_G?f?Y+4c=(8;sXeZT6ZyCjebQqQ9h8 z=OY#uSu;8&r8(uWU35~GU9$wK0{`E74kt5aY#$O6NG+_17!%sI3}?LvSbZkNwoaq} zn2@~r>J}x&IK8gce5!yj|GkBv5sQsMh@KVCOU7ScA@eKcRtCETW#ouKc3UyKMHi zMe6O|u=tnc_j{m{zuU20+j{6)H8tYR-(f`AK=inGG2PuQ{cFvNO2&h^0TPm=aMaL= z1d0Wda_@?3(#kO*6`8K#(QB{xce~%8*8n{qVm*OG4UxW(^qTF6xsLaYDt@S)-EYbo z=*oBOgbpH_t5f!srW2wW_vf&}7cKe&%i&qbvYjh_xp>goB#_iMDWc=!xVPT&A4>Zk zR;|0~pAzsWMJ732H4bpzt84yySwwWfVcSx)Vz^c;oNrz}yfLxO*f4Q|%qcyP|Ko43 zFF!x6yg4nez%gXis0|1Qs~KQAYC#Xdw?$*LnKLrtamY%?e8hLBMK()LXd0E%!R%@+ik zX6l~fdNJ_C+A24|5K?TIa+%`${BaQzXKlJ^CGwwvh?4J9{qktDMboHWuxnWFTNG~zg$G#@Sl11xe*7LaTx@L*S4OzXu)u4RZ zojT^EvhGz;p^j@!<$fT$#D;0rksr<%zt|HOIL%d8ywFpMiLdiVLZ~m>@;nAEjt<_x$A~hRzQQA{mwRInxXA{tNGG6Hg-HpS#JeOjB5N*hiZIJ`FXt~3NMI4Ia(9rB81^%5yYapPs~Mi{WkuSVQfr|903spM zF9Z_6W{Oo#yMDZfKj|A5W_%~TXP1f7R?kqryhKnEUW zW<;J3T!#WvaZVzU0lXruuhTV>TNB%JjL6z(BJW>t`}1_k469m>9n$KM%m!Mo4Q7Fu=_IWjBCy5`u{XKDJY`KlBgWF}Aesxn83S z__*Ik8Gh$UaNP1v$%>H+flu7W2VP~Lvdv#885Nr$c|E)v?wr*huV~xb0!mXlSarSU zHOF#r)yhuDXn~oMi5*aN#X<}NLlpBXk{L1-84AV|lO0(@(0V#*$B>{?q*~P*s{Ual zB*=LcnboKm83*|HM&HlS%d|ck)+vx^T+(s9s1Mkt=3OZ&|2BOyuCt8CuLLI-pD!Rm z+0-uJ-K*f?9ex8tDx;JrPJ{e%$y3zSd};Me2RrWH?`{r?O_xCwnBfryuo(INLBuV; zF$E^(g??5JiBweCi4|SwOJu>O?T{Z#v1wvB(G1v!jbN;jl;z14E#S_Yh4%bL=RRxiAu8f0R+CV&a}gyaWiTYSF(*OaOY zU?&=DVVlP>2?fJ$u<_h_cI^{b)7EMJrRY>oz;n40`=qYE!b)A=7S(R^mX+jD5=Ln8gPM#3;z)w}1TdH&Os84b>X0 z@6(XSF7JrYS^Q!3vZ)HHAM@+KK-~DDK{O0R)bBSo@31IH)Sdf}rc34nd;>m!HPVY< zS$j^zveX&+iyWTa54mmBMqF8M`~o4A?Fg*b&lQ`+Qy$F&bY$*DPKP}9*p?S#6) zzBe`R%A%P!e9d=HsRg+`Lh9BZ?YQ=eN#Y1Dpx}oz$87*&Tmu1@1_gKksTST91QPZy z-*Eos5(lWLctvs8TvIkgpWHK%^5NZ(avsZ$XAm7DrmtiuHrzTw&Zm9z_9UKqsp;vM zeMQy`p}EbjRz_4MS*&`_^T=wi+1@7}MAdr~_s=*B2vn61gr8B55j8gN(CGwJQ5xH5 z8(Oxzn^QM(UhtYBoU9rOSnYx`a#dZTW=%2J9Kb>%R#rE7B4s=u$i8O438l|p^7n{@jQ30zFXts`4I|dAE4lCm?%NPQqB24YIGw{JW>B^ZDF~F9e6{y= z!7)e0d9^0c{_t){q0^o{LqdY)glbiO#Sq){`ct=(K4oJgBJ3e$0^HA}Va@j^z&0YI zVK)>*D*Ap(zj-3ijMuzz>knkBX6q)N@&!V%={ooXlsL8%ihD-}-nA*PF8D*IN zCM5$gxwik`W(Y;6JofQtnSR4LVMdK7#~0vL@PwO^Q#rqDN90$m{=cK;tJI>hGFu80 zuMet`L1DvUH?z&@QvnpE*j#hMzmmMuiUq!Fk^yqm|IiossFa;SHt!PXZHo;l47Wnuv@9C9>s9%>}f@#WzLfr#L6- zkJ_5o(XM-^NMT{D`srW^$qyGaz1Gf?5{>LS`VfZ&+s+(cO1plWS#b<5 zRX#xPm`4wRnNX~R$Y(KVWgd~15V8V*)ftK@BEfjb-6E2mQ@@bV%Z-Jr-#PmU@C8ik zay&;?J*~3w$)av8<5KVU+0sg>;$3c&VL>N!4m^lwOo!|z*lfvo&B_Y)4Dv(s_P)n~ zD5c7EkK>X@i~d;k3*uOgtoPF!ip(g$$M4fqDtcc$$#`;~2Jx4J_da`a$-oBjQ4hUYr4v;RG9u1>ukF@d%2q9y-mIG% zk>95rcWz4l{t)kc+KR5|H&qEq955Y`alKe3?HZn+WqNPKKL6aqyLK#ZJKjOP8XA{6`k5No_rio(5H-!Oce~1n z))^zFUO9C`Jh^J`gRB7ckSCBmw{1T77{3%K@y!oe3sQ!Ye9j?!yk-Qgw!d)Brh{nP ze`6zK&HHkYsu%j5G^HgU0G=nk=8piHYSC2ON#LXcvc!#7AGQ=DqA zohRiw_c_un6>`JH7dp?J+Zj-KuLssi6GV}vW=>IvZW$3G78H@B&*jP&k`L^ESTpk> zL|1J(+O+O_Nl0Rb^2B?$Gy2-n6!OrMj{!l2uE7Yjj56fu3aCeOD;yb?BD(NPhS4*Y1QhE@;^f;H7Bn%_j{CW7&YTH zS2KtQbi6sTJ$#nG&tU{;#qV>fa>GzX5}@e4XgSXb#q@}Ky;0;vBQl-^LyF2Mj_c;+ zHm!0Ild=U0_i4ysSDz6(>*V9GcU$KoO1onpP8kJrp@sc0B_2}QQg7I7pyE)8prBDH4Gz@);yI{F%fAOvY-#siK}B%=hPJIeNNO{!1>Sqg_nOItDhT*7=QF}UpY?Uh}l%W;El)#>JMCGqF zvxYaVAD-Dx(Gp5K4-QH){E&L91x$z z-wV4w6x?URlB8%hS0H}M-EpOjI}WT zoWucU%wS%$fQDS~VPUN32*)uMTj(jzPevFNHA$(&=2a4)Dfdk#?BTN-ey3-oYvD`g z45zJ3Oa=ZQiOQ!;*?9LR35kz##*wn9icIO#AW5hT8u6$i9_$w;{qB8H`2erd3!6GM z%RP8b)drDzitS@+Jkv3^4@D=74P7F`6FPD2`wcRY3A`7+X*WL$epBc-mKRKi49(1r z^8{uFW`^csNZ82dbV#8Dpx${1Hst|<>5?H)rBkoWU}?1|tTFgRqk>ma<3abo|D}wA z)ll3I?@yrDA68dC`hH&sC6fTexn5rQ$N|O$0>C(@Y8MgLCFS?+Fq&Q$<36#!5A9K( zU9GERKC?=urnG6g>=T@`@*-VtyQ+cJ)3K-9ihybW3=kj7Xem%MI;Rx5MN|q_Ej1>J z?L^*2_iJN5)5=2a_t6I!uUN$AXs3bG5ASRgOzAz;hIC#L$Evg8pMLo-AKnd%^mBi$;=)p?;ewtnf?|S#r&(l#j|ka|%(Zon4tbToc~ z0u>F!9v1kZDXK_9QtTLQbly5wz?#nQ?MD~h*%4QU&hkaQY+_swkh(YDXH?YXfXm4N z6rFs6%!t~v(E|o28t-l<=XH9+QVO84&h?nAs+>_9l!Yf&+8&2m8Yn~!SfgIW1&Njo zfQ0dkvSQk&VWRpOWp9{1M9(+OMVZv@V~2J_IE?N013AyRp;lh!Vyp20PR)n|b3`Q0 zaJ-{`G`$YVm;^im4}`?RH$gtEX-&tW^6)NOGX4Z^nbMJ*LJ8sbqcC|_i_qo&Y1y1x zhqP)uCZ__TdCg;%!UXt^f+ePK>QJK(8H@aNa9B=iLrN;Egk&3{L)1@R5=Y<+qFS8<>td7LWu=4nny=vMEdSc@0)8< z=IA%OphCDk(eXUwd0*15A_+HMQzE(-&5q7z*$;99u<9aa`mF|*zn*CMDK`N66Zk~r0hNkv0~Mh1RI#-JvWJ-o~M-;`WLMwo=fs9obVy6Tw^ zjORQo02nAtD6vRFNn%@Jkv$}~nTc?Z=QdrtB?*=J!*8N6p_uf6#*?pdSo9@oCwYH7 zdf%SqZ5OON{rxC*BNICgot@y#HKi=u4)v z8;8!^rk8I3ewdL25$qoy+^2*)hz zGoIZrl|?rlf7;V|=aw(0Yxs3&;@6c4Im)>NCK@xcaRVzo3K{=jR# zJD^xfvuN9uvnvkK+!%8P<^K26mtPT#iDR5Z1%_o-MgWaA_BXDRfW!!R5R}iIHpOcO ztlle|MHqqX*l|p+HQ)fiz$@VNi?ROJ5uFa!G5J92Rsf0;S}nzeCq7psWlZ7u;oZ;~ zsMTpTE2|PXgx(AIT;skj`NW@);ORj#uLL^Z?Q8Cp-FAkF;qf!^}#A=o__{OASELP$`9p8btDmQgzP=ttWeV_q~ z(+X{AX=n-}I-V2xbm8Q3d@02SnMExPn<`BBW_$x&JgH`l@R-c#v&e$S4X}+NyYVLh z4hx!=^wKX_#(^Lj9e(<~Z~x@w7etL0k!^s=IkuNBDl;UsZ0U4@gis^G8Ry+{Oc&xxt0tZ(<#|o*-dXvp8u^6l#UgYS z-+DqeIla4el^b- zCUrTb2&F_|I@jno4GC~UE4`9IQKR2c)oz=9X=6$YPzg*&LBj7-A%!qP`}gb}PuoPf zAt>?<(3Xmci+%2U5)y>bq3Mx+!?YwJnF}C7GCk?(br9`2D4UVn0j(0z%;CA60pCq6 znsc(|+~?q&2n>rF#zrI4)-IrX1`NmiKs=GNJ2+AmORtH7h2xt;jwSWwN${}u-PRb zu7kMkL@$U(3Uk_=9F3+E&24hWzOpI>wrFr_+J0|hw_|?DeqI@>#(6$xLezF*ya+M^ z^_w^n8P!juu5gu4*RDHPAcB5tTC@pNZgV@4T5(9x)~Eh2E?K-HMDh4};5{^|+V2lR zJf61RwiAE>L*~K-?j4p@CM5mzJ*zzul}c#1VY2B)h#ag3{8427sbJ`wasy^JFkRes zIPF4i30Awb)IM#?+Z8E}>x z<4L6k1(t9+JNBFg>BW?yyymPR4ro#Om5lfIlbI!=9bA;gM;da~6Ul1)9~3v2{lCh}iF2Q( zHjK)+ff{Bbiw>-L)o_4A<_EC|5!d)s%50T{#_7j#JL3kzt_65Rsf9)dY?;CnVi!fn zWhEozcb;)uywhdKcSFHo6On>~xxV>1LFc|#M1Byw;&UoA65x1}?e~WTey2s|dr?|2 zv72$dXi$KXE6?D|qSjhf#DxXh%K`5n_a8PB4^8{1H=Xg&z*rdm1i zB->c=kjkkw#6k}#)&PJ45tCOlPh!a{BJ(jJ1OYf)l>5vX!!Ec){lB|86qBp>>Vr(F zFVf!ebcyY`yLIgPL-LVG)!0=HX&qXAen?I^>GkZ+EsaYmAmRYye6i0DE_@(yL>U;5 zGI^C+Gz_`3jaXa|56~y;8;sQlpHHWvHH9L6o3Tc?>wevZZ58yb)TFyM~G6Wx8 z0#@uu0<11sFj6v}L?b>AZipznLGpSM38U-f;=8(&>!LeWC>pzmIM6b#VF6CTgrFh8 zHiRifs>UOAfs=JIGK@DMicT>Id4-=`P^}3V?lud8Q>pkxAc@@Wy3nj=?hy8EujWMw z82p3lkPK<=G@8*HX2Uau>gNYMSKN2T>zf6@;p%<)D$8P$cVxq@biK!QSHzz42I|j% zczB|7_f5KG#yc*Jn<3Bhniq->0;Gy_d)stOZ%NySQ_kpksr|<33MD-BOtzgjM&<{@ z!Z3+r7b(~%!)yGPM5C40`TOLItojJm*Y*|3wCSxea9VHH;3m{_KHByqMF|4B7+1EHI!Xe z4pKAm+4F(-jtcR){!|%s#yH*?_af!Y_$%c2oKXgUoK5+up z2Du-Lhap!W-rmhyalxm)#nX%KP1_;6-5eTyTHPC`K~Rb+`RWsvB9u@-L#s8vvS*Af^bv}vp zL^_&Mu^2a*xbXY*maL+>KLNVjrMz%|BAbPg8c!xFqHD5i%FRC(AAwA}snVwu`t>c|IET{2q^-z9DOc+>wcnHaaq-+fMIiNWBmjJb3Gczt64R zyAZ-Q7c<`+5=+$;#Y6fbc*Ark(`{Bg-ZcOe=n7SC7*C{iJQ~nY+Sa6Ya78G^7?N$> zvc}kc9b92WtfdPdp#K-AU1T(?Zq)0RU>1J|LxS|eDN3Qz1|SCUGZUi}f!QiOk3>Z& z8TTjATg-r_mD`UhKDFw3TDACaEvOc(xaJK0@0TA6WMkZM!39WQfa`GeWqU$|F82@2 z{8}75Nr+%sX>6?p2Ovfsl|7@G4-@tD*XD%)=}%FAv$azh*yz zxD&bNd60=pcVMKk;PpM{dCP{UL-qxI77gO^svXA%IgaD^qoZ;dB+^9|OvfX@XhyXT z2}Fhp*GeoV0*Xc4f*S~1!D~ZW4$``fOsREbhwNtauIOqp+}4N&?$9``^2SPmHP!+| z1=w~xN%O>>RxLgp2H^#S{2ys}(C)68G0hhwo1G4AmB*p<_XQOr5Rtai_T#W(TEDHW zA@{8|5+2|1s^H%lXr|vt9ElcB6(+<58XNQ>5L`zY1uHKKpbEeou4-!6p4_WF^F)rKsKbNY_aQuj6$YFfudFO({yoz)@du2anZgn z9#XLM-6Q8h|A3tE>Iy7r6SB&3n&gzgM3swV6u(cET%!9iG6wrTRDKW05)P8nMQkrV zP#7uk4PnJFGs0vx5)tGNMTUt07m3GKUS)XPB!Ph@mEB0EH~htTwrutpxxZWfcFANj9AN9fq8K9CsQFsIN4suHwF>^!7 zpeQUT?wChas{I<#_@>t^ULA(7P|j}X|DDq_2BDKdvF)bqN?)Ki%f%ptJ|IjB&@qIS zxiPje-uEiV{**xFc+I5I6NgnEzeQdT(M*1C#tp}7M!-IOH!+>0cpc*Z)7vf|VYzu? zGh7LX3aTIb=~+^&{5b+qASo-GEBL(q{?q*iASh8bvuy%syf&K7wYz~s7MW~g%66ss z{M`8Gd82%;Tg+TblZwiQ^t(nl;*cRefbl@fqgmCIRr2>a3#c!+4o-2cavB6si0wu` z&;t~FvpL7>pNLdaz1g;!W_*+YwhPXK!{;)ngoO-? z({jVY6`sh(wGpp;|j!q_Cjl0Z!l}-7qAt5-(zrm3=@2AhhpD*BKd! zlJHuE2|yz?A%TWUM%8%!Wx)qvOfi+i;^kFgJ4Tt$@3*{SkghrUA|mfMo;!yIs2PX6 zG4R8vvg`M0a1u$41~?tst3M3c)h70v>F&5+a7)<7rS$AXXePHxku?AcvSH_#UOSae z*+y_gYZf(nK^U+4gjLVPuHT1=4cgADO)r}{rGibH8g-k+_+RgRM|#fMFn8eH#v2oY zlv4hu(Q0wVVv)onEU8EM1i)~X1!v<@d&Ch3cx8Mp{Rpb=q;eJCFOo(g9Y)Nc;hsxqaPR{@Gdz{0U(UvD1AeaQthn%L1t73HQ9{g)-C342`I8g>QwwX zC1T!>XD?U?WHO_|u}qR1GU7+{3u?lmjE=N(3aY(M#uZI21k`KdGA@KnXbZKSs$YvY z4dD3I@jPVfm7367Fr1F1w8Z!ih)QkG*aaRJ)(eIffvnXBrOMS94J}}7vY4dSV-b}= zTD0X=&Hs_JW4Eyy@p*UixdTqwY3p&|e(cVROcD~B(0miND-%~Pcy?|=sg+NZzBxm& zk>0ngdB{_Y;?$klZwcGs>IKY3NQJ6J$%U|bPY>!P=i2WNIm*fEWjq&N0dyS-793h2 zwayKT@tos3w0`>jLJ1>aN+%J`#BJU%%YlSqIDy0g8xt7Uiy1V)@m2^8 z9Tof9rsp>ef-TJn9SMETcHOosOs=_&fo6MAtnT*2V(;|uOK2}G22L{L6ijAXqa zq>x>L;Jh&#vPU^1_?*^N8?w37NF|H$J#0ta`*M{c86c&WRi_HyOj;vNz*V ztB4;>TZeMep5$19$(-Ya%m_#~4vWTyIcG-|8F14hm){Sz3=wmi%t{#7uIPRq7I}S* zXx_;wD;sq9DivJutUKrU53?pbspu)KY!c&9#I!?b={%&X24#9r*Xhx6q@Id*>}*<} zxI8aVHY%$5y2_-oG<&y6_8Ubd=Q$h_*fM3lqibRFhO$Ha8FNOf^0KipJxM4?vw>i# z_c@+XWI^61FrsV55kfkabf9eD5UqJNBtptJfYMnI46|bK4Who^inP-|dU;;#hD|=P zXm0Iucf{J*w&Zk0R(wtU;qs*Zx~QDv*+c8}nx1fs1A97 zUMB>ROd?+K1n$(VOU4I~6j$+BRKcE8P8TY#3Pf1Im1=jydfIe+Kx;TQu=;9+%}Kgs zgj|>uJ-(3TIopWDgdaq`v!?B%GJ?XTS@idIr>;w0geRUr=o;LFEZ>MsAf1sBRiB?n z{O10aX?l)xo`9$6_4_0)(F8kGaq0;P{NhblZdYD_IwwUaryrcLD8V*a5prDpobTAnZZudU1nfG-@mO`R=yZu7FwO8H|*h7Ix|n^d{O# z)xJ6@g^B7M^V#RXB&!?ZBl2M>gwSw^IUr4kl8!fjVi|bk*o7UZHbTF^SU<{2yVJsM z$fTqtKt&wb1}Mf2+*>Rm`w1`?I5@uqzr!Cd-I(fvf;dmt_6&>3!PRBCS zE~Z3CzVS*ua_+lRvJobx?ck2Bz4=4PgWxtSVUGT%8^K9~rQH<$P-_ZeNd-ESB%~)kUhi5fJ0_F zCNUzGip_JHX_G4-7?}G-J^>j9*^ipMj0!4QxslKe2~IgPs+d${ z%Pc}LWI``-0RAxLy)WW*#s%noEdv{TG&^~Lomb_!m(EF~SOHLMMJn?CYPOjV7(~06 zzDXt6AsG%a`LJpT=_V-~(0s^{kai$#cS*?B=G$!+J!P_DGN~31hJ;`!AaLa|eIjYg zn?!7a)^+ad`2Xkf1b}X15xzF@y=}>a&S!xPuSeps%7%sm7ndyCS^WW0({VWogX-&Y z@sW;6;1So-q5*(FTRs{K+eJpB))4nNz=T#`8No55%La`HCRM|z2L}`+AqlR>3OrA& zWTJ5i^;>yHPcrDtBn7TsDo6ZOjnBaa%fwPDj^T5jmS#gLLoa|@<@yz`&>i4vq`Xl# zicx76F!X>RB#vv>DcjwgrYnaJT6F<cvkT-@Yp<~(N`G003_Kw%SFl{mj{vdT6fG>Op% z6yeL)42%dOg6R>;X%>Bi*S5$?s|pFp{%oL#H5_t!Z2_reL_f?Tv|xEYIF8ers>4i+ zKol(dwMaw74UnqAL9MZ&`*HkI^`4!94c@l69i zxSCY#-Mb>tuFf7n)VqAxtw?W?ki_p_rtKgC$nnl=1|9Brq2Rxf)b2~RY~6UF01i`V z9M4Acf1WN?o*SwyJYjG?=7LP_M~-71WO_;(@F}2LVOS_q`rOj`AC3DVLoAVwbDQaT z00z!^w+AX(Kfe#j-8}VW8`3vy%nIrP6|)VPj{Y9!Ig)Qcusi|Nvd<^DX_0iD5Dvc& z{U-wv98#<#0VtFKt$BUrkkPs^28DRw^F*MEqVPboyy+SglZv?k7?r^G#PX_)Vl~6E zr(qGVrhcDln6@4X3B9HE1%}+;Ar-&PA$K)a{X?nokb1)+#z1bFz_uCIac^ck_up@Y z&EVpfD~i5ASe_8FGKpyeblVfXbNW24ss` z?`u4P@!IhZtK}2IMSd{y zLoWLvC$0f3Iro`8g8{*-fg|SgMP)bURx~vZ2+Pj>llK*h`2eb7)2dx`PRZ-{+0cYR zO(#}~(%&7|ox8`XY)0V?0ZuczZLJz1BEdJN5djMiP>ZyjvY&uOen7>PHlq-jIA&Fg z=5cp3ZQ5U!!URqkKxVY%E1_|K>Kd_&unU2;?`tikB?n={ zMl&k5Pf@#RPSFRX+m0kOPr}G4GGPIhMCQb{Pkf*(U?U%(u+WhFJnnsDEBgfpSwr&} zZvvHYQ<^Sua?j{D1k`gV4haK_M$eN-$f?IJpva_tsMc*HwdM>dl@TuB*|4CfG;)bl zMuD1NGvdW0^`{*5sjyM*;s1wZHZZ(SKp_{5Z(1#zV8Lw@#HL_De-Pp$X9%QOmlxSqc}^%L z(3o4Foad2NpOST72}uMX9r^x3G%ZX}MbP(jbTYYM0VsTGt~#fYBd(<_7lEi;`|jI! zlb{p`42!#yhF}exOp*0zcUmx`>yQb4aqNaeu6oF>CIOctVdV~JdBSwi@|>}LBp~90 zn#jF3BxT=2SGcQymlbdxhZpF8CCX%y`X3h^&~F_rI11%T&OGtDf-v5S5%c1 zNJCl6uxZ zE`TDE#p7aLh($!tM=4#;!YM=8z@~6HyvFO|n9hEIjpa^Tq3e6>W(`EomafE zncyxnjX>ErO{3*|q4PR)sTbSIXHMUb=gjK?8rzJ>LO_XTwsT0%VpaVYFaPPoJ9tJz z&XV#$Y(uhPW==s$0VvoVCMhX60f0s%w^y%{lUsi72n?wgbZWW;XEDPGPARql^pXg% zNXjUln4A&;slp}rLL-FseWg+?mTJv@EsASB-e2~^?rD8W&MELdaRQ;$)`J>y8&Men zvw`cAEAszrD;L|ZI6}XnAA$piD6_3OJ1(%Axgl~o@IX*9NNR}cMy}{>{V&FAClS9+ z9FcAs49(VUA2OtZZ!2tCp%=2NOVh-ksc~Gsk>-rBw=+bLV4pau;#w7gYK#fh~1Nq%d)DyM3oMd&^-L zT09u7vum_YcpCR&Qxu_?SDj+H#hwX50wKA+X`E(m9|+u5`XT@pP7T{8|qC&|hFei@&3Bk0veKj(H<$OCa7fQn7a^aez>)#6`_&QR9jE;Yz=u zfcYA@CSDM>g_w2#rb{a4|sCzl+?l`*fFIc5!f#u0E{2?z@-6@ z6^QV*;uS)Q!J3XW6dhW4NY^2$R%Rt9aezdFIe}>3zcy{kb34_rj66H$Bms^y1!{Nt zoc1gk&@e(K8kJ@_J6-T00d{xBq$D)G2YwVLm$DB~qm%b3gj$12Kr!a_B^s4%Lpmi$ zP!piI0cyht#RoWQHEX76_eJ!}8Sm#bq!kN9(+J8z5YoPx*=+%WJ1o)o{wb~cvXc+T0Cc~UFgKljU?QIS#u zQ0(mm4S1A)hsqhyZN(8JC~`*=Iz4MuI^w+`A)Jx~qOvK_!sI+8F@bIvixIFHR11g(3YQm|>l|dz!scTNt#X*P z7EYdq`yp)t*-n5|EFu_F%7A!EZMwC0L}Wsv+{A+#UQDX69cjI)K{O--nDCCtJ~3d> zEgFv$qk!F35w(uVZ;gBRHO<^Je}C}IheJf-K&WY~d?s}~r-M7+tb`Es24Lru{{gzE zt-u)^Y!)sUaR5pt+lWMiSJRJr8qkqx{od<=aa|yl4z+x5ck0%_HHpYNN&Us{mc62? zc!Z0ZYW~;75FOjL1*RbZhf-#iVV3cn3XbG-EH)U|BqRtTkkW;aYIAxW&+Y(GuX0E% zI6$dur=YM;6|O=)kc#@|<->UHq@&9BlwCwZ1Mp!CPSWxxse*X|gj$4=0jr4v2&AZ^ zTZwCf3D-6RIYGNVSv37wASG4OJ=X}VJONG>1Oh&3%Ps z7r5hv|1XV7)4x; zDAyIF{z`Dd-cAU=!x)^F&MApRkM~DsLDLc56tSQl-Nd7?-;VAVo;GPnErutLT@r2_|40QalHt^ z8p-P+CcrV{IHrSw)B{fk}EOV4eUD5n(M+{DY99TMeGaTkn^5{g3lq zzn9rmm4x~J?zF&)k&aU$^HVV=Nau%yWQ+};eSvKQ9BatE!0e#+xn00H`-}4~n6^KC z{PvGu{)V9O;cb9>9nUeUX)W z)`EWJ2zU)JaJXTpq4IbLkx?>r;;(>e`B0S|9nb4qAhjCAc6#V*u)LcrYE@sT;k_pUWGROHnUzr zdvr{RBj@~o@Pf9jhjjDg0xTj{FUcikIX@4%ot_e1HJaaaWU-I}pn&4p@`Pd0^DPMn zrek8nv+zXGB~ERr3bo~z8a=2$RJTqcr&ODcgOJ**;qWMh2^kQSPKr@lIdIM?X!_a` zWEED8Y2HlRO3RDD6j(2D0Az#hL!A%#oo%bb@ywQfoK_|Y_iMXbN98z|Xg2f5yhAT6 z&c?F&k>G_rlbR=iMt$=uS?CtE4$RQG`0Z^QJ*R%aRXVIuLt?m0CxtB74O!DPCjknd zyx4cF+Hu{P?w&JW;1|)P=X4|gF9v4ljhJ_C7O@eae!jBovK{9YkYx7uB9vA(Q^q)N za>|R1XF{qb2^IN6Vni)F^`cWwGm{CIeax_10GU<)&%OlGeXlPVl@`shro=ET4AlUs zBJiBEFyR{;RXYRBJ|m!e-PWZ+2L6*iPd4Up}zcdQR*H+)do-4yN9}nt{ z)y#BPflBtjO-`D$OXPMG7Hl*8Nmw%^G#tmYZ0RYfzrkavbPO3lxDm2nCaJX|dfMF< zFdnMkWic76J-jdvPHOL`^2YTbEZV^RsdPdHWSfu-kxa$(o+R{|l&shUSbCnVp3IyE zdsk0_U{F-D9r=dDbPy9(yW0<*q+?2=f}>N61GFbIV=0)*T5+ugJRCWa?j~?$Vbf?08~T3p%yeE5=4gSl9VsDC*Kq*=zSLD z-%d8(Ek8e0doN`tL=2y^+1<@iav?hM^Fi0$)@)h}U`$-hkrf)BjCk<#83_p>gkm_M zNIO?OP+;^2AuiWMcC3D$MD&UdNg4GS_fs84gy8CEL?9u1<(M@gWPxOgwiDZv8!3~G zI71NI0FiAsUNjzZHIo5JJ)wOD5F@kfZbEj6)0FDi%(?}@tk$g;?Iz)7H(iTOZ*v$ALSUb!)Ky2N{N^^9s<39zpaSUxx&n+|&A$6%g@&e1N#o z6c&@ zUw)rBqI#xsW(-{-Qh|t23~!hZAP?a0J@Ua5tceR|(-l#XAr~}dD6f|Shwk*mwuIb< z#(l3#2K}Fm2(k>kgVt#o(o=#*Tsp%M!BFFIzVSI3m6&YxO(`-Vn%6Ay&a8V#W~2== zrBCTP&+`&Q`F~%2gqSt~XdxfcIYFhz^*Zy6W~wvDu^ZqLp_qu3bq5v(4#{XFw^v-4T+tsQQL&5iOp0#mB)To21=5 z+L*%ICdh=AH5_x(w3S6zc|>&IRD@4}&JsYdxq;njF?nU~9=lWem4?;iC1=#>J9rvj zxgs|jWR~N?`K=dZ;`rXOJwWdp#x179Fo9JGp15ptkha^7J?0Son_9*y8m5>2; zMap={Cv0m?ZkV|z9nO6kudT0nPIyuI&%d=hc{5&K2+8=&g_#Zsz?j&uyfCT>D$ty_ zj3{ulyhwGGcrX-P@kKX0!DJVJmmrHs+Cq_Tc@iTr;*>XcFL$Q}08HGaGadJ{Nu^Bq z89bmO4a5n@92vS0T(^~BgQJMMo12s88{gzGVcggzT~x@idlfX}d5`(gsS zRSMaH0^$wR9HG3!Bp$k1Aon%(3B|Cou-FP@>O8nsCZ<{hv7pC7YL+s#8p#`NsA3Q* zmU?bdi~9RBt7I@i;4h|2mZ`8pnVVy*#e~0-CwE>Xc=NBhg2IsOlJh*~ zA+b9xG~+1z-Dz=~)GG3K_&vRYLd3eF*%_*Awx|qx+EAO*&TFN{SGPp>3FWDFkHQ>`i z8KNJ;YpP;H`XadWWbM6@EshIE6y0PSz!W7#3#TXL5#7PE!M;NW<-GX91TjtnZ$)jg zRE6Yk`VG6&;*GNci|RT*upyPB8AqV-;upbBIR@iA-K0`&jWwunOlLel?(;!%BTSs( zc&q35M=_`bry((m<86~Qc`(sROHj4Ler4e?eCnnjZbMS#%J4ey84?>VNG2FDV3V03 z8X-2r)9b;AMKDXz#LuNo15Qi^h|6QaGNIl|9zxXTG=Wb->g_>Y?I~uYZ4fGdSOd|f ztG8uc?WcmMA^@Q0RHv3#rUkswRlUD_VMWeU3MC0^Mzl#raep1s-9{OWjJJOJuXNZBmqenb&31-O)@ zJfH=3o#XK9D9jNCLpG;4*)jM7vxsA`vC>MNc0OmP%TId_6)OSSn(1(hW(&tqNgb4g z^2ddMV2df!tITTO|9;8VCttucB6qiLY-VpGnvZQu{<>tQ!08N^0wT3O-{3j>wCZ5+ zQxbwopd8+AbT}i?xMpv*$M?`5W(C9+*t8}8>PvfC`QU<_N(#TF2DKDpY-M5<$1v(V zWRkJ9Hmo>Sz?3Ot`vn4_Me@${~kB}1Wf%kc^F=KXVNXt2il07!XmZ6G+ zG9H<0qZ3T8MhW}CT$IF`YOc#HeNjmF`N1~NygPMTmr8hG*fw-b=+x+>m_x-VzC@yh z)iptjJcB(CHJwZp-UENfXz_-yCM2OjIHMo^ z!DY5ufPkhxzi!8QCSo;mptcy#Igo#&7=k8xltH<8Vr6$7nI5A>ym@8p{jJX2^-1XD zL}MG^P5Fv*jx3@m#L9~da+7ou@{%$T3*k>qgg%UWKSd-DA*i?DToh*Pa#08fog5;tF5iW#58$*Q^W=?F zonoR>4sH>H_+G}Edw4e_<${ck3mb=Yce3X4Gk?da0ad+e^+q2dY6x<0mTi5m56aFxwQqq|7j3F;v3Vn?Y9641;I&~8qW!)o{d2L zeR%+Cb@P#6CT;`d4{Q;)yr>5XRvBC9kjya@rdYYX*)Z3qFVQ$ULw0Ct&wO2PSZ3yx zn)-xS=XA+vOk<>%xPqid%4>t(<36{Zp}jIB+&4rBior;`B)OQ=3$g&U3v7jXg$nGS zda#&~@`Zb583_m`Ca9+)7-8DKf&p?vkc&7zdm()M>MIWrihVDBB7F(~5sETb>Ic2P zF7~Ez}LPv)O zA4__ZRcTH7#P12LR(upGRcD>YIAN=Ro3TfS$%SMeChbG*MaqmqZz@}TsFqFxarIcrvgL( zCwbE>VPXSCg!SyonzC*?&Nj^!t$}I_u*Zc^?;^w-ct;zmfi2j2b5uBAVZL6fY%+DFP>xd|L>{m zt6lf~xV9GD$KA<--;>N+h9mVVIkSMI#x|7mpOp)Nqa{#7zCogHe+=3@wd4V0VsLIt zi9%ft%6z2%Jcfh0K6{o)6+Q=amlU@60rwSq$O(2pPm^Di%$3h0;Ywk8B?*17o?6^E z86ry;+jn5>=nGssC+@v@jQmLU9_218ij1y^sG%uFF~sNEv4%@)>d}_D3TQPefE7k# zhU>Pne8_3XQb8ez#d*(?F}~++)2zjhPC$^dltxG$pYaC3_IfrY*QcRE+3Yq{Y>7>d zjVPbtXO{;7>W7a}cPhH&h0Fbfp zCTpu2r&ShHw7r#+r1UkeA1-yPJZ;?mrj9#xul>QecXQb!>;g(ouc?c{(l5tC>H9-# zAJ2X~k&1M&;&ckAs~ZxPe1n)q0|n-Y#gZTlM%zUS%~bO)3upMMW(G}WOrC4tJ2Zt@j$$v4=0(UFH};_}^v^usv;mxxJ+gyH!d zHC%engUD0pGGve-ljA~^jT~S6JLf#nKb~ym0eZ|l%JB+owgl6IAVJG5<`lM>7mxu~ zc^qXe*N*|IM#vbiInTt(0g$0K=rhqdRy@2by)%jmzG#j6#Z~~9hky{e2diXkGOJct zV03saA+b6?+yO{YS&5tyy{0bs0$(8b1%H*|;LVTKI!WK(-4u2H4eU)TC*F^H zAK;Nw2+C`Jee>yE5cJnM)E)jEsb)P0r{?}3iYRI4_3q?tW|76@i-0cEKXCugeU3mC zmnS+(^cO;rnBwT{r-iuX@Bq3=#1_QM+!B@>qu5PePgZm@EHubyI{F;H6d_bq$^gBe z|MAAp(k?F!&WD_UT<2D?SRr`;C~+*|y+reP;K3fhbv|TgaqW#fz%63;dAcC=VrBMp z8S(~V67sOJ25yx z>KuKFZJs_%Y;YgMsMyMlWcBdbkY!|OUYGbqDLZRf+E4jz+c5nl9i#dYG}u{YiJe5t zPkEyVwQvel&aY#Q9n*B$=4nt;xFVk{@HkbVZGmcxtQSMLNMgSYaMU>-%#8A9sEPFJ z%g^s_3yLiDxb*`v0V^I~8PvGdCL=L1v9fAn#D^3oWWHezsv<;VN*6`79TvlXg$pP} zb|Y$t0aG)($Ae(5yC0083Y!I~cBf85xD7H)2TM_Zr`I0k*iDeMxie3%sTt7s6Nnku zMOZMeS!8tP4jCNCpkRrUS&^xQR=}n$Ia1lPGfHr85^z){ffXv7w}b#P>~-=0n*;$1 zOg!L{!PuCsc?#XKJZ9pgK7Ym?hS-~+spEbDiE*A6%v_MyGjC1+35t*2s*DH179%JT zOQKjRiYqU`{5hm)3z7skiSwRQhfGpsFdj`Ppcx0l(n6FCJU}TbUoiC4q>TRF8w3fS zJU7y(#xP0Q>#ACRpVz0l#O>PcwomErV;SkVccF6O2NDb+fsqmF3w+w$DhLM1cyU3{ z1te8$YZ4E>2#8Llq%m&G>?d#79a+!$#^xwLT~c3=pX1ahJrEM1V6<{y2qKn4OXMSQ zy6qDyd$Aqdjv7#P6>&$fz3$Z*9A@BeI z4Xo>onwtX~H>bpm>kiRst+t2HiYpxbf%9URz8{zXW=8)E-$a<2ydm})c>p(N0~OP! zY^C*P|GrhKN+my`6BXU1u0_MD>^iX zRGxI*rJHq#-b)Y-YVJ|gN*Is~K&D{$c;if-sK3*lV-A)BBm=sPj8GDwRd({bo> z=sI>x2|vfyioegu3o3{3|ET+I%r2|IO0+n2I8FFs03d8VmaGFR#Wk)xB&yYJKs~nz z2^80F|K3(Wr-JbO#tg4zfZR|9&7#-SYU3QPIf8$bZ~l9dp)sk?oFFN4jN?@hDCacOy#L7nm*!f`m<2 zNI4vDyewRB!Lws;cave}P(;8{6(Lf#3}g5%TKnV7M5#t~j^UR@g_odMrn<4xN<1?j z1P`{^2A1-A6c+`E#9Y8eT)IBJ{2hs^G3mL=6@(N7IwAZ!$_b3f*s(fY5)lgacdsX~ z$>8N7vTs2O|VF zH@e-!yS%}G#I|kty0%cTzE4JWeylf`oF?)DwhRndO_9G871Q~;5AO!Cu#IAdqJ^Tv zg%nCv9KU922*kVkHoH<>9}`?<1-vGmj-bf>lrcr*4=ie&S>?z2L-jM6*+AhOa1|Hk(0JUKF+1??@zouj+}IyyWU z*yZFQ9N(qd9#tiYl@Ed<<+B>{16cB8UOl73Cpb23&oe4>H4^og<9;FS$(t)(nRsA8 zStXL}$`wV63!nv}CQQ+y#wb|3?}T|eh_9~S#^^fv8UtB7E5g2%RpN~iYAq%RmEfo50-X0iBBA>uX(!gg;Tz>agjlY z*t%T5mxNZo!pBUMe#wIH)3_dTRv5QE)0W+B3>AKsp=T&EAx&{kNhhK;fCqU%Ilzkq z#&k)A2P7t;;4&QsEZ)ZyT56d55)@TyL>a1m!>1`$)WnEJ(?`(?(R|=pcz0|a_8=1@ zMz0r64ul08g?V`QQzJ4?s~ob@t@qTO4u30Wjo1R`Bv??6Ta4M=oR6pq5(Y>Jp}}W% z3uh;&UZLx2G^p=8GjP>L8Ir!OP0G$*)q587T#Z$)f$wa zLpsI(e^k9=IZwzu``;OXr zpTDqTT}QG$Kc&8lwH-G|^N|#^=LtmSwn^;{h>D!od2eniS^~MPjqY+bAIsg%n@XFTVRPbRTfnzQ{!CM zgudm06iR*1^*8Oo9aAUM9gE7%mb{|Z@ort{$^&R&(Vr)C(+8pADzLMR-#@P1jb4Hm z^N1y(`i)qvUGp>|45HYhOOa0Q>kIf|c)mG={Xk|A4Lfy=+j#0FnD zwg5#9Ev{&1uj2Gb!_vwF3J?jWWs_S)J`s)|zw>uQ(YWcUO9JR`z68wUd$a=?C&_2WScsADd52RrN#z)4+gV)yB zlWZy4@tjIDMhw%GEkW7L1DJuCaQ}&^F3@2{SMjc>uBvO-vUHJ(MbLnHTy4#sMdLD# z)lHn|51+L}YM;HnK#2Ak)Yt-Kc<}yAoD=c>>5#ZTpQ8gIAIE)mn`2_-v%%Ga$8%zP zHT@msr`7G`1&EVOhg6~^e<=5XcwoFKbEugzehE0hwMMFyof@n@^%96HWrs&f z^!&{{1x`<~m>%@yW2pwtkOYOq4IoJL@^{KRe3s)h7$T&?b$yB`KBq=&1CWU=*n;ZA zXG52jN+H-MHmDJ)T(V~__D!Euu_Kj;AW zJwX>`^Az+^jyr-G8KmbA%LdK7)Kl8~lC(Nb3$_#qSWUYLQBxZu5j<8diMhMwx$p9H zC-+#G4%zlr^!1BgXhHTa-D4P>tiWD=w-<9Kwy+iA0USE}?cyu?z=Z}+b-`Q@8Aan4 z3*{}!Nn~gw6g71fZRwt+)fWfKeFLBefoX6XO&vax1J718VAwiJn zJ-fBaGdXzwn;1uEogFv;36I|cQ$EF8Eiz-uc_rC^Pd^)yh zdiCC2VsAPsBSJ>wUV>-P^7{5W*W>S`xZx#oGP|qi^yR;$vk-5bQ;U@w;{oZ5FnA3h zDI;||7v_uefq}{%q?~5&(jS0u8MOpjUY;)$$qM;=-Y_6&)gn<85u7QWw0!^4@{nl2 z@M1Ax0gi78)Q~s;P161iRb#|e=NYsBizAU@>6MY;*M$-0{QfP+?TYp;`a$E~x6B)q zT{1wnAWIvX9En?<3U{Jp*$K6F`H*ELK}i!9-SZ$sHS(%rthY>wogJpSeu3RF6lFu! zcvrn~{eF16YK{2jW+ymKxCO`A ziIw?)Hu=DV@3&8sxPr1j03IaJ7juKL3I`aMMX^3pU46;tjgvR6PKk zDfyzIOL&lDro6Zx(;{o{zO9l6pbU+rUN7gzmMp!ZXpNN;=KTd8M6V!H^?Gp8j19)C zC`q}D?kx!mr6sD-xsDZ!-s3r1P1DM&Hz7U})W`!u1?DwBmlV1eYw6YJ7|DSd5=_@~ zJ`jSn0XU%8QCvc`1xh25y1#f5wU?42C;#mCW@{?k!f(; zA6(@jrZgp-B2wPc3!*K~X%MFjBI~WUIb=(U7MKwp&E+MQHs`SVXWxU1c^jtbaz$f; zld8P_vJ_F?2&sgpT5U3?AWTs-%xKz{3XSp&ifzs*)5`N9Q%Yd(-cK7K#Qk|2a)Zwv z@IKx1RYurjTsCV2qIaf!i%f+br99DzK96ut2vhRozh zB%;-|&z@SZ^KY}k?F;;!aqq!N@Boe@Qr42_2wfkp&zQZ}?bVDe{i1TO`*G6YD-Y`@^a^g4k$DEZhsN=O5R+M<}ESa`)S6>V;=&(Fp5`A;&c zySVBtt5=MadbV3-jxsjaD^`#DA(0h^p?iysJ|QYMm&gNnAmJCVl8iC71hDi>pcv2j zMHpb<`hhNAlApjE1g-9Si{>-b8Y4d^rvSV}ywK(sI-YF+P!qG-ve@ze~2n+Ebt1+TM^CW)HY#mk%DK^}q7@AroNh_w%kJ(A06T}Mw zA23k&;j_{dg&buXpNkbx=Q$S+i>}BZv z$^+2OmK#Kn0q&jmn7zRqc(|k^g!%(NcU$0D&SAbV%+aEz#2f;ENi+P+r7K2IgU(2Oo)oi2e8+f0k&D>RIS;kQ=~ai=kdE_iWo;Ib&K{M9J2~kw|bp=Uvmr( z(R56Bxs;x%>(zDkw{uwHBBoKQX%NQ4{?p>a-D5f)NWd~J9R2E`+QNVXnHdC0#MPr& z`kD!iWsZ^wvND1te#i$!K0_CqGTK^c<6m{2h7P^$BP{_=4FZr(Chm7j6h`#p;e0wirZP27huP^Z_y#@BvL)MJB>M?z9Y zOCUQzFxVzboakNh^+Ay2c;ZG_VZ?-Tw~L?&3CbEUqA1DiFeWQ(%_@hzF~WmXgz5vu zUNuJc?jIye-e_&&O0UO|GBveV_(OxWF>MWM4drezL_}k(m%@^=niT}Ukj4m!(0p16 zTa0dS^%)}NZ&DgVH@kaF>1l0izn62|ZEIHxf&|1#-e_@zvDhj~&GUF(2sC?Z?zTXs zYYrgP1!!7qRgObz& z9M5I36+yQKG~McpW+{$WfUz<0x*8m(-<`VPaa)j6Z< z@UU3nKCDD4+8ZvmW2H+?>y2@K8_kZvOW8`MRJ{;I>G6nCvLYtsAZ4Q2@xok8b=``j z^N>=O+MQL7k85{St$;ZSlozJJdmn&aV%vk{Ic;<4PQx2OHm9e{vDX>XL&_T*p_kGE zSD-y^Q*HMLKtlujJl;_0{l^~C%O4FxYaWqEwJ5U=<);cv}{2hX1)g*U7X4@fBr80+i2{9p7 z{HK~2VX61bifT%}p)pQbo5099izhNS>T*sAjyqCUzL+^ozOk1J7=h>z3>Cg8$FIxp z-LecPM$ojKPrKqK)eE8B{gwgOA5j^M3pR1`lC?vACrk_T`cy97sd zhI;2~P65|1Dk)9#JYUR6?}yCMl|J??PmsOnog=ipo5@MCuWo6m)N7H{@Nz&{z~3Rg zb8$bW!{9dLe zQ;5(iRbs&dIM3aB^XA&0)4?4gr>%E&$Fls#_y>e<@XEoI0z{DNFJICNW7xYxMLU3^&Okn(=u!In<VgV!~=oAT> z#t5pg^MlQSiKbCLZM*4n^nf<5M$aCW>$j-h+3ufR)o#2dz%$>+!@GjT`=Z7Li8pQO zmJ|g`maW5*bibi}ex3szjej`3is`EkV640O|BX3GKe9z~Xsb))WQ7IxxXygVFDYiw3ZW`vkM#`}*BeGu_1GPor%c2cwBQ9G@MQD<<2hya=|lnB zL+Pzy>Uhw`JDiR+F{0Mme~|LIw=RlSaS@W1+axHk7g3QR7?DvTu3oBga$L!g}PwGn* zCo(`Gegh0W(V23?=d$32KoKi-lcTqDdmpNdY!QB+W4PuI?)RGye#q`@d~hi}@dTl( zQyo&DQ?_E$$8p4HYR@quQ30%^oz3+@Z%u)6cQat+N#+)KfRxd_Hi>(k*Y(jAY%#0} zC``w${k@hUBri)1Vv?oNtJaoGXbAHY-N5M0ZBt0Wyvr-oN`eB7 z6cb0mTa4pV8Y3i3V0*Og0Ayf_BJ11dA)HDaryP?-xw-QR(sQ(6>dLK=r@cSk@4r#LD#PSSrpE|wFilw6ya)y{Ij#6pSHky-&@n`Re!R+1 zvb)280Fj`O2Oyll@x~V{FLG~8nEUK_PMZ8I(K%jQ?6@s_1c>T3>?E}YfJ)6TMxsTu zCp9j7BcQY<3OnTN4||^;n!bTY0Yum;)Bq-CE|Vj!0otL&9CPD24W5#v-T)D*I7WGT z;$vBcha@*&oUO}ND5s1_fMPIY9ku}R0D_+v$5@@is=4upvIIHS0v12yUgJ1ag5-~S z`@ZRr0=S7sZ%#eE)z#vxl{CV(tj z;4FR4b-2d3zI2I3Vu7E3`+vOr;IJblC zwHBtRXon^tW0gTKj@5&Y`;YrPHW|($5u35WJ08G5K@}r3DK$E8vYLtqP(=vQ7}FIl zK+iD5Q)|McPKD4OW1<5kXc`zWOv7q(lhqy9r;4Q}fS^I9$4Yi_*K-<4wb(OAw2i&S z4Uxc*h|nLvJdJ2dhBi}Ag=FpKXgBvS8n3x^N`w5Hmk+zsLY*E6%P>O0_jzy_E4uW@ zErA{K0Q`|!%o_4Z(bKEZnF1l7r3@u6pd4n7pL3lHas1RINKtEkXT0W(^Pnp@2CK^; zFo{Kx8kdnG00-r~y54-*hOYh_nL4LvYTV-`L!|c}Ezyy{(o~}QcgKBRkkf#r&QdIp zG&)W(S$fW>UDxlWv#`^-ue=}o*gex^IeAjkVbmPJ=`=>b7igii2Qj1#es85sV$>@+ z`QTxZmZ7?U2=%ToaCv!iOnb#C@Rdw}io`~D4C+dtTg>&%$Vni!qWJQF0>@~Ar}pv&x3m#X9K+!w>dfWwcur`eJ=m?2xKdVu#Jy3KJsADOKw zIN0k@aym&)TxJgWAZRTu$L7!*jC!0K0F30Et)dF_ID(}9|L-G*Gw$1Qbm&xR)(ehs z+4aYV@h5UT-BfWInVXYT)h0e zXqeDIQ8oJK@$9;TA_ou;wA%QQi5|;tujkWo<2o_=h4BB$wauqj}NQw|X%5`1|5*R~Vhh$fQ?Ue}$Q8(Uz zi<=dfCus2de51w0jB=R7g>#+JS+~hKW*z~-g89Hc6XivK@X+)u!=|A8)al{vb#R2% zn5jH~bGn+Ebq;@cgYwETSiV3sR#fh$eh=gb-T{M_kfm5T&M>(xd=6Yua%(;YPx9i( z0Bh^Umf?kD9)LjsD}nP{Q{yLDLXe`EIIX?+7caj&ZGGZY++SgLlOP30xCobA-__^U zZ8my;aEnl~q6Zn}@lwZ#Vko4y>i+|h+Ybp6l1TJZ<3wS~R3}8#3L1RK&ZE*%&uLw$?`nL?5@HHiM)X8gGaE{s5YC?a^@k42Nd;HhKq$*NFqdn z5k*!lae|y5E6hAeL}f0R zEp<$XF7jotvh#`NdjG#R~P6k(U~bM(-Kc$VkyTL3Dz~OxLGN|OL)z; zdrfvkO3unFx}L!G@&f2uyJuNv(l%bb#u(2-j<1C-@X;kI#GZysjwe}yhJRX87vnY0 zedp#RE6bawDa3e5et{27cLt5}Vi@#r$RzyXi25x<6$;!`#0Oa|2&o%0>uHAq8-Xgo405VT3)lmWK z3{jyCIh_+fKP0IsGQw4!|A>-=@zExW6QC?`c$RXkq=Q&oL@a<%Ny1}g_w*|B1_4;` z;5cTZMOS?R9Ih~Z1rNY$Oyz%{goVar3#VB$QeKCST--TCj{E2y?=~)oFz&l%=RQ?l zIsR~#VmYs>(>+kHZ4~ zh5*qsG)OVEi+mpUW_SN+21m-#UAHB_N`fQ!JP+PX+IBY+bGfIk(A@w+c(5G5LH zGIT;_FXkJ%6uufGbbpIh=B_N1p?3G--`dK7%(9e4*@^qeaU9-iBmb@dQ}`q>wBr^94v>-}OS!&?h!Zcc3&qB4|;B zp$1!GCsdtryz&5MBS2td}hRQjEA*nJ;SEV%G_gbcMeVV99caw*3eDi1g+_iOyDYni-BQRbP7-1l%;}Z-yFo~T#Wh6_w^aCQ-=KP=g_L!%Q=Qe|U$lSkT zLa@f-|5s97MrKHJHMY_64eewb+PU40Rom|dsF=ju1QON^}lN^l>K-l0KuhPQX zRpa()FimFJe3Ay4u#9Ny0?2O>6l!?+bCJL0SW@%zXE8Q1-JyBb?Ol&k_bICD_Qxkc&G)|jlb2r@ubso?e#o5L>F9L>YQ6dSZj+Lh)l+ogr5a8B z=H)}D1^PY*Dq7Vh1POwdjn0hgP6A_-zQu0!U7DsowSHQdt_S3Ig`mN}M1hkWE4}Yu z1eZ-xUpVi5`rHYVkAmbd|Bo6x-XQZ95n~6s)Aa@8#n7XyIzNggkRf6ggBxVFByyDT zG*#OGMWe}0muwkPzE+Pe-XwK3QJiisORS{0d~%dOnIB-!xB995-z%tR*> zkpx0waN;0T8mH*e-~a^<>5Zx>VgO>h7_+w*B7jV~&CR1RDP^_Fkr;v)#>XT=c!}Kq z{C9INoqu}%v%miG$J0S>AO;?aL>-f%yh$W58JgnybeTENqZzu%0S@v25Gb@ypu&O~ zvNfq*ORR-f-Rx01juch54Qvbx-9CT`QqD+SH@O9v&|u(^j!tlQ&LRMR zK!Cq^Ad(rZglXjfj0`_hBao1VP47OPrWuq7ws$=+bH|gB7=kqHbF|M`VQtHomKaN? zqPG|@3hSCi2mOFv|HmabD*8uL^O_kOgb7gM0!uMm2KaDUJ{|-KQScMi>1s;?MGUJ6 z*89(0lM|f^62+YO+8PP{7m0pIkw_7Xy|d~@|A}$AK)J0 zG;B8R7brYIP9uVAuRX#HQPAbCMU-MAhiyqw2zq&|lyU0FrY2 z!2`eunK=bkM0txu3ft!aWTYmSZxf@j_Yr;~5h_83Xr`u+61;s{N}Qv8kFPYm0usY9 z0X4AR>r!m2Oe622_CN+HMr7{_+8V+M8xb#w2SzbN zUO=Kjt-z^38yvNm>el}G%%x| zp9j#Gfd5A#V*P_8GnMK~1jBPDcy!AzL}LPB1}HgYeIX3bM5VF&+2lAKgiMMWULZ_U z7hEWuz^S_AA=@EydFpL*c1SPJO*%pLR#}_^bX^IWKIaemyG{8W{=JkU+#7_?=kzg( zE!ts{hY$pz=Rw6`TrOH^+ayb+j86Fp6pE`xNPJMNj7=0lQZB3Bz~{0;SXqp>&&|*A zn!%GUZnVYMSvH%O*tpMs4-)hyb&JiOS6Jzs4g^0=iP^x>5}`TR4moW_@c`li%gP%I z8v_`=*xlUMw{xC&mPCjfnp4v8nrQNTtcuSdR9ChZ7+*Y?g2qsYW(zqJwR4sfh%S1I zV2alv_TNZ|Ret}WV`tvyL_s+w>YO7NNJtLKnE)` zcm~(OB(LvG55!Et!(?(h#2?3_k>qi1c`5?YkbX)Q?%WyRmbs5^k?sLeYQmV`;bA8jtLo8 z0Uh@Tv&jU5_H$o`_T?)#OzW(C1Y%e_R!%ijXB3fqD5nZ78QFGAcOPXYl$jrnPCPT zHT7G$J_!~&MEpBj*0;iKNVb*|B!0ZR`BZsIU2Zz>uY%9%!t&sH4N_8LOGw6R99PpJ zXOc^PFOFphj~v730uf|EpS>|t!j13@*; zEzHewr;VUE7ggicYYf2Ehj+;tX73Wc)pYd_-^fFH*?m~%Zq{;nL*l;3$iCEf~e{Wkch@a)Z6D&ccaNkip&jj>_L2p;_1(G;L)6}Oe-Wh zQ^?^lw2e=Z&nv8C%s(Kw8lStD%asQ-YmXs`h7b)rn6Z~PIr%X!#cAcdzw8T?nHr|& z{2UAsWOA7N0M~~yV^o}RFA5grUwF6T;ChIp6=f%+H+-bGC1|bYInDfl|MlhHh^evo zVBS2(2k0utAU{W&oAGx@&cMzELKaW(K3Q_V!GBB6Va{_-1C!WVbeT6M@ALifYDA5a z)xDauclsBn8QY;1R}eR@gE&EaQ~W?lglJ5#*BO1`90x(FDlGB}JyX-LyzCIwoIf`R zoZS;HF+pKTE{&NYTATT+Fjcin{8c(dtUGJXTXuqKU?M&z_>ilNbxDxmO{*O3Q`+m+ z6NRW)Vr9T;9SDLq7p6g&WU0?_thyMs-Z zYTmpB8$(1KpUY!R{D<;1*f^-Uy9ot`UY%fYLai~e^cFOKP8_Fue<7GFM$DA!^95bC zwm@C(+gpCMg;GfhT|d(iOfi&7g!n*{qZ1w;7dCNIc~I9NXGg%Rlx0o`o z%#x8FGFK9ynt6_(PR0m1+ZsMalzfdKk`@^^GeG`>g~?fss4z!RMoSUQG!IB~_UR&i zLXk+3AO&Eu&8n~%qh4IW6X1oxX8_OWeTH~3Fk$#UNs%Ea#W3+TA*7PGjUdDqr-8zG zToxH|E|-JDH!mMLPmnJ}X$nAu!3X|Mo}hHQM`?zJ6-VU(%mg#9z>4X8hTEKArs%D) zGoBA}nD{QYr-7C+w`&+aLj$0fn`kh4e8tK1H$ug8+NE^NZ&n@-TM@&JMy^12Wd zRMhN?ahji7))z5gFHcD%hZdtbiW=W+i~l!93+0*3|WV9)q9S*4cNi zacg&#k^2CbAU3$^dx^M^SC}VBw&XGqdX3Xy+UA?Gj8K9KdzvLp0|FKpxW5V^Kc`dm zMYfdK?$I!rw)uG^H0pMDlIs&gV7Jr#eXAOMlsu$J+;b2e@;rs`;29h}y&^@0B-JWF z&S{lVKAfIbLPU%Q$<_*D;vo|yt_Lw<&M(HRF-*9R?~BzI_yT}TZK?mkgq2x&RFz1E zv62E3yAGN1(vOF#3Img=aVIKXa}JL@AT&Me0Z8ezOjw$?oaHe5 zfH-!UHd`e$7K4zhl+vOZ8=a?B3O6|m?m9RJH-p=$Lxne4Bg~mtnw^yvc_~XkbBhas zHHN$WF;!qW&#NI)M9J@_KEOU{`sDm3sX48D>irEFKl%}Yejl@TiR1q~$T9ZK%ZE4g z0!f8QO`TGEc1cV*m#OR9QcGqilvYM?;UEKdQ$Dlh3KEN`&d?SuIf5{a5rSg%0Asf4 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 FCP*XIHR1B^e4+SH5s1K-_RZasVnl21ylK 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 Vqi&rnD+B-l002ovPDHLkV1oLulu7^q diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png deleted file mode 100644 index bfda591b2be3dd24f25b77e7cb7739a0ab27cb0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20411 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/ammonia_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine.png deleted file mode 100644 index 0e0b2c61fb0bd7c35ba272cca7bbc83d5877ec70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111053 zcmV)QK(xP!P)I`~OanA(6~u(_2!as8G~fLWn3ClA#PC;-2x2W^3I0oO1_LDN08>+vadMb+~Tb z+}wx;85#&_(kw$He$Te|v(Ej#zx;7}ti3+#*=w)$tmpYW&!UANm#@lKlgZhgi|;7D zqp~tQK)xbh0l8~&r{YePm0IqZNIH@(Ee$@+Pw`W>ou@_0Bjq5E=4bg?+t$JZJ%nDx zJ&Jn(!Y~<^aggsR?pWLr5b`dMR75JE$8i1^{|gYBN4|)B0kTij7PSE(5aKuSn=C75 zs4>hKmP!St@Fu(o$RmwsjAv3QEpJzJMsx=B_*cvnGZTrtebI0?9$TEk+dqsPdm4#oCN9ECEGH-KqY;-KhCGsozRWhjs zUlAQd2k7yZY#Tr zLcS^AbP)cHE{QII9wGfD{Ut!S5M3Hw3i1FwtcL+1^pHr4bRrR`!Irb-mKEwF%0wB+ zE!f-aZOhVf?~XKzG)kwld+Rgw8L3q6ut=v!Cy=}Alk`arLVxkTcprMyVz0B;0b!*0 zM0^5rBbHzZ2cffv@PIx=p8^OEL|R8$gZ#8USD))3Y?7^Ht7OvuC3}Ir00^68OW6|S zU)fwX7Z9>X>GSpZ$z;wtW2LbYdiK@*x*z2AM%;*}(^_bwY$01fkDu8rHVY7vo_v%A zS(qfK2e{Tk+tkoMh&AzDiy5B*YdTtom0nXYBYtFb&kKzUw0O5 z5%0x&SyuS0-a+q>Oa^TJ9Dfevuk^-xW0>mf3r1a|F7)`9$9WtOY8s7=#vq^NukqI$ zgtcCe3wme0b26zAFS@dp^MKLQ=$T4|G%-iaNhER}G5Q*PL8r4KPvkkv{v|$;4}>1S z={M^)1Hy7Xgb%T->}Gmjy|07N!$W8;7K_D+1n#KNm4XWDAROQe_yR!qOK+#Q1BCB+ zAur6lm6q2haxrodHp&mOm+S=_=l;m4$f=C11s~=|_>n3bXDC0xPk_8q)|GXgWj{9B zFxs#RLeI$g$a#=2$`NvegCIm3(Z;sX6a{CCMxqhOz2#!L*qO;o%R8A2C*%ovBALwo zuRc|u3i2xXll-ab#_1!M$R&Vq*pnZ1Wi9(&eVjfHdf4(0`3E38qEFYSgKWv)eVev5t!JP@uU$IJ2X7ca}h@^CU4`bqYYeL#Lmej~qeh8U{P z)Mutr*$efJ`bPMDPG>rU-?Y9*-{Y+6Q*y8z3_Ui>bMhP@oRd$02jl?$d|!ZvV)w zky}ekb9x*7jDE1Q#zeYBx`EuwT{xO+{-DPR_jBXKW!KWX>)joMev!73w$S6hMlYim zAWV<+iSz+^ya9h4gzv=*;sx6dz9#Mxcfn__DVSg&Cqxg?16Fmx!NNNW?<_A5G-D~2 zvaFfa3I`Pq0=XVr%~r$K!;ceuS+p1JZ5wq6rbTbj+d=rY@ZQ3Ep+_ASXK~9axKQ|5 z;bS1zbPbAz{{zeaasIevp=Aja^WMBSJTUXGqSi&ND=Gr@nZ+#7;b2jnqB<27N(cNO z+;V~1><#t?{4U{-@y8s5<3){&8bgmO*$TD-5Ox<{D7*l29rr;kki}c`)|M6g*8K*7 z;rudw8CaSt#C$Oy-eS&cB@;>}?A#f+o|UmO%bGK{q+dxtkeje1OF9U{c{N@Q5RQq- zVlp5M;~Lj23+G3hBTJqrc>;R0W?R^nDhM8;7WkDf=8G*0w_4x~U%^*^{JOkKUIjaA zZikXXC5LwJ#xdvKS#r4KFv#uMF1E`-ILTk(uRxEDj)et;gB<pKXKl>AZh z2lTj`?PvP|;og#CCC5O%lkH)9oUd7%CwKzZ!8@{zYy$}Y@RfWe$d@cIAQUW%{S*7A zyc~5XSQtAMJ5^qe2aFb6=B|TqV>wMugEhHT^c8(Ut}aK*(Xb{9N(&noHZCv6k5o_; zI}tlkUar1H=ubI74oD#q%hzKKV-2B4UG^q>6A+A8qgW%5uVAk* zm_RM}nMjvNmvlPRTWl3u6N%j6kON&a)_}L-3qy#MN8m4vgF$xgB~8 z6cwTZ5MGG%jPwL~l=w`1mPmM;7kX58$3$-^(16*@284oFV&`M$VPdXl@3MDcqTVZP zUf4V{^;+Ns-jp}BEYvzMg#F9@&Bz)|?O(CKpvTqBWTs^)xfWZ=RyqhH_~rcaDhT6w zJzfuf8+wQPY*HL34pdh9d((I6yQVoiw|GkN6p;JU_v!nlsRf>57uW^p@euog{ZK`R zF}yaf?I2)}|I&BpJAkmLcy94rkh@Tu+73by60|D26y<4rSIgRkLhY+G$T{|LI5?gfN)C0~|& z337j0K`R`DH0#ZJLyrbL#Z!Q=i#@}hF-_cp+Ps?=u3NYcdi0~)=r+rmcl|mHcOoAG9rmA583Bs!$5 zOf8t;0RA)o8IGW(;x=)cZ7bP3#}7K zHM9%Ck^D424G%oyDjV#=_w)Tu7?me0By9V@dOm?qux%y3#Ygke4#H@$N9=(fUHJii z01yU2&d|$p_6~Xf((ZLEe6N|(mkYnOTaU(pC z^S5!tIFe2WtMRw^Ti~)DF?Jif)9Jupd>LQnAY3D&A__g2XeCTIS2=g z?Z$RMxQegm>jB{xKCC$0li2s z0>XFt-}>Jm8|+$kEg*#YiTA{N;0-@)^fCH?H{92gpERB_o&toNF$Vler~TdB{gLym z0e{kIWr9NE#eT6LdfZ{$W89NU;Zn=#V)QV2I0%m!gN#AY<3XCDDL{DI7-@`5r!!{o zlymahc7D(3zUaQPGMwW4!O^49qh)0p2I6R8!%xcBzUF$3ZyV$LMeLPo>ap(t^`O4N(JnJQ%ZL79c#%f8oD?d{1m;Y^8&6 zzwwaq5cGJHKf|8^gpS6&#=WT&MoXGMoBl)p0fRA_H|C8k%O9j?=o!;QZ%Ff9N5+wH z@i>OlzUE{U83po6(MfcI73I4~r_d?TVYyQjWi}Xd)#IVwTHO;5_rioTh^K~V2$eegQFv4}8eXYr} zxTZOygJ&208hwGj0P=nOOa5h*uNfH1F0zZ3gX(N2821}0675iF&1WF2LWH}ZP8Qo1O!fwkRu>36L*L^9E7Q)jFg$CyVL-|M?N4Q zfczPIjy>lfOef`}9M<5=Zj9r5k-SIV19=JW&-*(M%p&{9KKP5qYy;Z>4`h>FWS41T z)TBPQYyRPZdE^W7g=r#bp!w#yf8qa*WwUI{!q@a~XHT)GoCgZXXXG>Zi+tCR`a)zU z*$MJIb|t$KjF``&wP-EVL>uMXPH&~Rf;@noVy7%C^P2NnEd~#wPX3wfGIp7RP)LrG z(=lK;W~aHe`YZA;slCaw$LYFd-l1cYnoEIP|Uz}@_UxI$cE+qj}o)_gCJtz@fd z;*L_EyA}=7po8!NDJ7+*sVof2?}%QamxJIb<-dYXr_)VSA$q%B^R@A;+-5fj_T5OH zC(ncYmgpk7I0)Xv_~w(Z$=8{g^u6e=6U}!IDIf)~if>}u*fyBSyGS<4j>lEBh)Vea zq>@ycCa!W{KKYb<>LC1wOeT||$F*!NTMGzxlYEj7ayzzz?Qjs@rPtBx{?ANaNnsuM zuX1fwX34c-TiI62QZmLDzRk1+Z2>*1(=3_=2p`Z}=q(vUHBlJCD1^prJzMV};6A|3 z>zSm$W9%e5={!(MThUfkHqHUsopuNLbv}#_a~=qg56Oq{7Z1Au2=3KDKlUg4(|OrPNlLAl18LaJRUx;-=*IL9*Dm=<&=Zg)!D1;RX7%#Quxm_RVbHrjI<)H;&CLj zv%VosNmG#Dlt0U#lSy?Xp`(p&f$^u7^($#h+JX+IUZGcj4o67~(gNgH^-{gm(cwua z(17<}OY73Qp#5O_5&h`WCaytiIB)SCX+zpTk0^S65lI`Msk1qx;Lsd>u%T1VMg2dNO(vydXDJsbV<15DsN$CNIrH z{*}=c(G_K7IFos&qeamo2cbJn(qu+!3?mf+9w_<0#>U6SmzVo)AQQ+0kk7`Z$EJf9 zoslSTpx!f}Y<@82+qoad2_lSVsrl3J=er!G<;8Co$;J@^F`aJw@px4lA938rl zS!5Q>+zNfGzBQFXhXcQj=6lQ2-gB^g8)-w@5ac}1ulC*RA$T4-nnjc~--q;edOP%p zvBs=%<{JRwX?og0xQ)ypGvaY%PY@wIRK6kKNG6pR6wDH}1aQT;?1KwLbJ0AJa1gRc z7W8;Zu9PbQ;Q??TD9F9N42Z9#x78-_i~M3Dp%5nuO=u26J2IV2haSu2F?lSRL`N&U z)@6Q`wa*!DJZ(IkN};9A>2C})20E|l8P4!RH?f05gqO-g@=!9VrW!d?GzU2k8jl!{ zq*BV#hX2&t>TLmG8hMwz3-TGgz24qIxSjZjFCNc5?dH~e9Z86UV98aBY>R9wEmbED z($Q!Jk*0S()=V-J5dMm!A}K)VN@kPUApaBD8rkX~c>4h3OnglhR--4D`#~fYiKWxN z1@6I;`*CDRWJx-$CJG~0I2Ol}u~iW~C36o&-iW+WT8f7~$ni+r(P08fkyJd6=HC}2 zJIIcVtohctb|G(Gv{SSbAiPg+qBnu8N4rJ4ISAv(MzS#;M;g{QoU9_N;&Eky(Cf+j zA-W*C0JeV)*-gOW8e$jzXG zP3zD)rir;W&9{}drmamALs;Jy?yNO8tf6Tl7osVHfkqrpf6qK> z{#mRVtCr~jmgNGyV49c_QuBa>4Vb?h=nWuOdJd<5F>B30NlXc#Wl_N&)C@v5x{j_hO(gb_(F?R>X_j_$ zm`}bUUsZ{cyj6}YljiU0(QcjDKDG}K9;M~fi58GmQ*qX>VuqLj2>GrnAFAc1Yczio zx_~Z#o_pCuHW7a7Ir9L&JK59h>D8;1KN%{QH_MwdF>mMp2L8tSNKoXpdC(GggY*f8fKWs$PdQp})Z zvH>?#Uen0_$bM)aD{X0mB@SHVtN5zSI&srFt5;+0F<6~j+_G&9Yy+eCmHbM}Qc3-S z<*^H~3orsD-;i%$geH-Fk$o`2Ah|-WsG@=2_1kmLMz%z@K>KL9My_!*z}dM-C)3Fp z>ICzrkQQ3bmuCWDjB}L+m_GOYLz`b*SOQLLuiYXmXxn(Q6-ni% zNDb*+Iv3iXjFrYpp}iyfjC}?gYx%qS&1KH3cqEwVZ`=tz$!>M{yx$iT254{IQSP|_P?FS<)@>Gw{F){uGDZruNDq+LQK# z_BZ8mc^ujo@qWCYGY9>>5nl8(@YX)k%t`~)(5oB?Jjd&DID%9i)c<tg{8dZuc(<&clb#~A>OVDWsw;2`@l{T}_EWKua~m}5|rhxl+nXGYK-> zY^o5cCVP#&R#k&6ms5do0V!BZ9i{EyKOD9Bp)F1bK1NF;E(W>@G3 z^@Bj(k8%^P;Rj`*EUePLOy8_;PNk4p(Xe0#V+&07pc9JaH>hFuD*b)^eQ1A*eo8-e zH0UOEsV5S6_GK^8Q+g_u!sKzdqnsz_L3^IdVJQuefW!noe#Y##^bhn8V1x(gCc4Qq zm4?)1*Rz+q)CJCwmUG5UiTy8?g|td;HREUF=gdM1T*KC|HJOSMEnHoWkz+u`1g%Hw z!ES3LibZiE;rhDp3Jv8{IThO9rcG!Q)5NSkIzt+y(DobqGe$Mg%JmWhH@Fm;YWJK* z^nDa%7CJ5;m5(M8NVZ`efqx~to!t%#>7-kjgrN~;Ib8P2sZ4k|GBq+a6X5y3VpG{v z%fjUB(GNH5-KcoM9mcw!^3wdKLu!T?K(_p*aNx~!?k7I;@OEqBev3zWm+>Tcn zs@%BTg^}kY&zF|sLV}FVv+UVSwkUU5WLjieX(@(({{3tcn*{AK)`T^2H1KkwD(`}J z-($ldKQ)Svg7$7?E}2`U-K+P|^8buYicKmnSJ{QD+yezexBQ=D<6`5=%P|_jBMnpP zntwMN#YREMa*rFiW9BDthzl-2)gM?c%Z2v##83R-C0BDRQv=`f2#+`#{Njy(@rUR3 z`FqffbR(RFbz`$)v&zenDaVt{|Dad(;8qw|R@QH%9cdSjt9lYIap?b$4P(PB3kk7M zE3s58O(aywBWC$<`-UDB?}~R535=}^y2Rdyy#ehb=svm++8=i-S&<{|t#5UPh zwoN23v4WbYY?&f)82ScYMQKjlCPngtV{2B={z`J8+X+JBS%Wq+rhVq~;_w0>zR8ddd< zUIHoafykN28EBvD=1G(W-bto~-gHZ%vrdyvq*FYOL|J&E+#ol=NNZ#x*$CQCkPf5+ zP>}WXhxCV%$xI=%SB0uvSud4~Ryc2Pv}Uws#vWj@SY=Caq^!fF8EFO@6v;2-7s({X zOz5#>ohRK$H)vntl7HaEZ<3pwg3-ZlxeC$+==&h073wKAi_M9I;v3Kad2EuF8;T5w z3`nOj%Yyy^?)%(uWMIVcP(0!;`%3*j{XS@K>F!Dm>pw6n71+q1=g-?VCgrfI0lm1u z8vZPQ7TVwPI3uNj$Ejx5(7Wl~V1yci2m%_EL?%WirqhbX_2|psSug7y_`~y+F|6Cf zC-F%cLxP6G7jk$%XkY7;5kUJ#4#(h>o82FKGxjDJRqlG@;elSwgEv{K-8kuF^L8Uv z;h@RGBvE*P*S^L*v9v%ozlGmoS;)8gpP;+wE;!al%D3cO@ZdDwg14|NwE`DPt2`lINN%1V4i49Zn?Q(&kYSRk41U%_r=w^|l% zTVzx4GsCgpp0$T#|6e&=4hIcp{a$pk=wy`)BiMz53o%3KvY)IdU(# zHy+35vtQTC^fE^STJm_w<2!e%Or4jY4t&OE^Vy)mypqRC9s>;K_QiTA*I#sEXRiz}>#X~ZNaW_Xh;E2(C@l?~aQ8yiMbd-xfcAl|6PDl7 zZP(^4ThwS#BN(B=^%MPbSanuCQy-$*k;X-K*3(c^#SEAq9moIW|H38;#=eYwSzeB% zek$!VRa6(%p}lV`8B0QzYyKyTn=fv@XAfq%{I9T^+0B-PIlTFM7Png5YR?`dY5c{k zIcsiN%E`iHH|B64xZWbRBogSIA;XFpI*j5l@21WFYVnPWZ``v7ji|fUVT4Nskf6ct z#myEs+p|Yy(~4L#*37b0Stoeso7v_};yM@?cZ<7id*&xaT9H;!5x9|+vvO!JBtMg% zGiT$>{Y5p3YE)EYERq+U`UCpkxESwXifmcA_ zkFyS}gJr3lZ15jZAPO>ZAv#yHzAidebgZ%x9ZyAtdG6h;Q$=Ts&Q?}x1z#6-EbIs) zO!EQ`)WADD3l0|ERd`o3UbfmHp-8z*{{L#HP zHS2WIxuSE92HzKUE$muet_oIGv5u@GjIh;Rc?G8ndl&Yu(!P{k&#t#DTo+o-tHwfO zAtVQXpabXt)5NcWVSdgkW0|q6O1oEV5I&$^t6%Fl7?+8;VlJpSjKoPilQi=Wp`TEP z+44#+Rl64}sT#$cmyANA5Jvco4y8jg1rgyN^y~ENK!YVl%!pOd;5D~EB78(|p|@}} zs4H~g1m9!GIIr@&9RXi9g6xn)n}~rL+_@$p0-iF*XsBa>rd>8DnCs%g_HQ z_H69gvNBb{_aC=(C0tidloOqU1rvvt9Lvlc1b*Vhyx6iZI#cZ!&3Q4EmcK7HI5xPf zOw9qZH>klkvEi}d(Eb;FhB~FwUMW4^B+xLa;~Pb6Vpq|?yJ~@HB;WJo9r8|<_HTKV zM;!-aQ(^tW`mj(&kT=PjaQgP9WfYclXt>xVb|n&u-5>1^fb1MhaMwl$V7GHw~#cqwiZ>;;7 z{X^+z)JYW$6(5O@91X_ttGToLkbv+4OLaBSW9^XnMuIZ*r1(&L2mrG>6b&jGR8fHz z2l-_TX=dG4G@xieMFl#V{;O#o%`;6!jr+^lKsL}ckwXdg;>Y;0OE<=r%jLYwNYa8~?@4@cHMm8q7J78hfOyEq|B4gExPb zkU~1Kvlkn~*_cCe;&D8!(Q{GGHu{O!u99sFydpl&3q$rUbgOtnykXl|7lPF;;j}y} z&qDhphTGBLaAD`d&gJFE6CqcM*?nd9kxTRPqlyN?lg4$TO%t#6g~p1{#pe*}EN5+5 zTgyUHCi^ixq=%A8b!QNr-fClFZ`xf@i9DRXiY!lmLS&CBypXds9g=r!` zs5I~vihrK>6+A1f+Nn4tPJss5%f0%XQa2y3SQ^ha%3i1M)OV&*m|e#TF_q;BbYgqi zUdzI{z}g9PY0&{e&m^xf+9TQ{)2_h?JMbH^iY%r!E5>3{B7IDH~>>1nDtYWI@?_@;bQrv{4$xu)QXmS&?}npYC!O~ z4|a8{mUE9r%!pZ9ih1WyJrNO+L;_z?Q=g@RJ;9#9%sxEuAV0(p;Y}pl#(PG11sE-p zmit{~b!2sEDV94T?TfFFdm^$avI*KZ(MGh<|7mwCvGJtwC)tDSK^UQdh>2Jg4R8)n zgGQoA6eSXP%|OfjEwUl9p|lihQ_z?q*_Qjao9RZkPhHNH?uB73c-pigHNjtdF# zxA+@Iu*Lo2{zL-nCDehlR92VOGwmAY(y_EJd_nJ|cY+b3?v0q-!;w{yRi&l47qV;W z_v`mVyAZ8KYe$1WgkSh=8&l)3&rgffFhbg?{Dt2?ML+~>8{IFhP@_G&gmGsIDGG?74?smM6* zvukK5R8{ac`XBnADrKWyo&o(tbg~tfhE9{BK)!Sn6nL5ROz`_wxzBU2A+0{HdOS! zQgjxbtFU<^-P>{yJ5MAN<8gNrRXGAQbNoo$f8ff3MWIb75 zrCnVN^{$kv3qM|BLd}79l?v;(RXd)}>K!rn?xm6aSGiwD%@K2peN=JfdH1txX#3RX zyL2}RM!bbgB~#;ZJPT1}tWUwOrnz2NrmP)HDSV&NyXoCngPv)}Vh$`j(QwlM`F;nv z<5KK=iQZAkIvu1W^qrU@rc^l_@w8P}c|39+L!a;>x3CtuG_)5gQ59S(x{L0% ztv=5eYzmuli9@|qU#tMVJ%YY8Zg0*16U%4$nTW+-&%H$CdruV{xSX4?wo zioIfQB7xsIaFs_uV0E=uZJn6|?;rV4bKrR-{?}ML)(+<2gnV2+4zJLXN-8rq>s0O? znFxG0|3NmLO|P;J&dXtPSR#RyG5#HFI2#V_8|k(5TIUtK+&acY%CUIZHLggFs{>^{ ztxxNlrebmYkJBA=N2c}~15suFFC8G3rHn2X5_=_i8r~;T{((n*2kvtJ4GG0ud6(^j zP55TM*|u>LYN5a7lk&+#LY;xQ-#x-n&C$zlg_M7Xo88G!qL}u2|y# zXWPoyBFFAgC7SD%LBn{r9v$lrg0H)-j9W5OrQO?=7+3tiy1qNkiRycM?7epc?7b@} z2!e`WK}E#gzV=?pre_PyWcp09yI^k^SP0QbG#VYF(P$J!?7a*2u2?{QZ*tFbCa%9% z|KOv`>`i9oo_oqu{ChxyX$+=<2T15#a9!EC!jXnrDY!kcx1iv}*x>2aw$xW2tHIn^14QzWD1iVL8KuBJwRRjRB-dwm26UG^7429 zBan&Ox7xS)ysS*cFL*<}T)n(`xHb_GNJIgAQzB;@eMVogh*uL)7@r8^LB0os(Lo-m zphD#X1+fpEEns=^a{%`VUZk{rD3j~Jee%s>N>o_eMcXBpgY*DzB49PH*9K{WTJHfJ zRj7sd)yBzmkZjU0Qij^Y3VLFA8o*+K4~YV!?N#++_2QO{g#wVmzwsY!t~S@NOc;AZ z1t?cVConRj5eblx(2QtXRi**JsVJB$p&bYq36K%YPy&U85R{?k^;2{a z29&U-|EB*|C}56^HxQ{#c$Tr6v6?Rg0cfRv52ywPHXHRJjxv$86;7$poT(aiX$&DO!9g#4VI}<;~r4l=Xaf?OISW* zg>kxZdZB=@&oCn@4}CF+)3hJ8AAJ}RkBw076AKn_6MSM8{$jKjC6Y+Cag*_h+O|u% zDc5hEF>zn+cR!4WqxzTnmp*7Ga8mNt=@rHh7yN$7S8KTkq$r^9_N5qy7m4}*)b0`cf1oz7 zWv>8Y$vnR1z!Ei*_>R}%)i?J+-#a)r6YJ<@z6O!0aeYa3FwN=mGt3{qTIgKe!vH z57B%%LO&v(XEr`!BE|un3lT;;bgJAVz@ssTl+FzW2q-9vaP>wB1gbiWOppcuqotr@ z!N)rlS$q!wc*H#*x)N%whN9U#b)Mg)36GPoa^%QJvOuuLX4%jcon#%UcL zuKio20J>l%qezOCSm}O3`JkwxB8vxB1f6NyIMtczY^mOZ6C`LCXCyin;b)9JjXetm zOu{%3K~D{gB<^Gp!y7@9?*VcmDt+<)AsnPg?49_I2di(XZ;6#oYfL)*M>KvyXCw_j5`H1;Qsl?38edO#-k+W5?Jx6KpYw!Ca zA^>$kaxQed_NDfve>!tBuI(5};bhhC@B>Fg| z!S17)iS^WQ54exi`~~7WK5V{XzEUco=w_)AO7|f3$n{@hG^M0+Hk zhpq$K!lWdL=^m*vqvhisNLeHpvivI)xRU|!?-f#DC~|6pFkdKO zblx^X{+xU32pFN&Wy%{niv+3ATOlnpq{Okyt;?*-%4LNs6S`U9OZ2z&w+e;GHO9ln z!^L87mQ=;Sis5Tz<`Nli++y6)*i4igh3_>sG&U?0c+x>48Gsi+a}r;HvvtIS=&I%+ z<{`zRq^kDyF{6^Cv>=0uUMu&NC6%JD52I5igPmkevL=qohm+I65%=U|1=^x=fy;Uz#h- z6{Qlt>rnZ4j($#%O61lolY@i;r!=zk_zCu&_MV=HegcMg$l~H{_IP`|=QYLyt81(K zgQ&>H#udgDg#xsvg8^-OZTpr&l#=i0IH?n@1TWJz)x@L==ud`BfwqdHjnJcD2lHdZ zt0_WQr`cI7azLTe7rQb#(!AWfyjbMTL})^W6M^RlZN~U@_R;pyo`=pRcXf`UpOYxA z(o$$P?=G@&C|QHoidP%Lq|q_vwdS>rdw}nVP8EP_=p*3J#S2I9LzD@MRIC)QrfsQ~ zS}q4x{9DurN{-^^DJvyj?QK$ON)iZn7<7ko!mHvC1rSQi5zFm}InuXV4lm54SF&V!h1X_nTw2lQRIEle^ITqlr- zlq@uSL9g&8GD0bgLkA6s=q8x<@Xvjsq?~+iBV(r0wnVmjp+3ZWfh4rhOP6SomY-9d z!MYu77o^@#y`Rg0fgLN*Js^@$+og1mNHice%W^EITxPs7GEyL>VM`DkNE6Qq67Yls zB)qZI;cQ4KGzo6uF_LbA@(+{HwqA9hIa^hM~3U)7K=_PoH;GV&mLBfQ5a+WXr3dY<1BT}f{kC7zLm#?Qvj z#UgMBQnA9vD@E$&n&z4foho`v=;GsD=Qr>hb&5Jg{5($t7~t2r_=d{Btwc|y1hVbi z)Z3}I`}(liqFJ+QR>jZHNxhY7ylC`hvaktILBR(a^?~?~r`iYD2Y4Q9lF>&O!@QHV zlf}<3whyxpYup3$jq!$2S10lS-2-w$K<qpNoTTkjHLQmJ zk9&k>9D-_en0bkLNwJ8tk5xS&$BLih=58*BcS`@<2xH{Lsm{92x}FEjUic*a8U2|; z0a)F{@y=?_YK?n9Gj?WJPSdy6w-(2_W#-L%snqhG$Y?!9>LEmDm~+fIr4s*w&^pqx zL7W5IsoVAS@h+t44!47VR|H}jQyY;RpKYBjw(n80d&AjS6RXqLhog)!8k7>T8Zt~n zK-Eo*wtu&O7x&jE-=Qx`2=fgND1hM63>Nq_h3AM5YgcJk<@4Oh0!0fbaXMUqoQK$eg2=+^ z5*EF2)GuT$2qYksxiX^)GE(TVx1A@0XmovZv^m;W84NwFkJZQe^96Ksl(w^_I5Q8f zKPJ6+>Z!6yB{*O7mBVFOtSgKHB>fZa+EQU5eqo#1mdkPH8}g12X9QO-x|MmXd2F$W z%oLvtcb}WIh}sl46qYT(J-~PT)7;(D)&=$Nj^;zn(mVpHU7($91E2A~;Cm0W^N2o{mWN{Aj2q>O%-k0u|@W*J(ApVL$jVv-8O#lDo@W*At8 zZ#C93*7Ey@kU8fB0~8DvQLLx-Ozr6pYcYSu9%)gGZI(Q2C&LH`f{AeOM01`PmOS~U z7CE!dQ9$x{#LN|3K59g=C_cqd{9HjtBJ?wf6cUIR-;wi2z|GLSRb?-pMJ=H^gS`>{ z-Z;THp-@0N$AZn!3|iN?*tocH56D`H>%nHunVx z*jyZWOmF`qb#dzAW^4TED9zPFA&=pI!N5r#ofka zV?T9?x+Iqa6PtfdhcFAoGx!??Cbh}|9}7-Um#fQjIq=)y;Kca>--CYAsR*)w=reI1 z(yFj30H2j*;t9;l_lP(foPe-^Y%{&{H3HGu1~L|XX7E9WGeg}U(wIj8yFpb3M?ra-~x(nhLho7p?k!t zu&Ca7?u64CD$0~Q2lrK9QeP53U#>@W@pKe)DzS;$UZO*kxSb$Ia}NDXYo(jZDR`r} zyaTWebpjxE$YA<|x{$hX_{QBQxDfxGx;NawR`r4Uz(&mkWXr3mLsEzI^#M}Dg1|KO z3oK3@kUBv8d~fvy^@UuHOJ4^6lQz5jj^d5HRozM5DVO6TkF;Qrc(m!b2TSxb^)tm^ z_*%9;8SyYA8BfN=J$P21s819>|5W;+auNn`ANPrX_Mt=)4JWh*f*Z?-gtjs3WT6Je z`5(Mg+eF(0rgix|BV?)gLK+bIR-dd-Zjk~-!O3?$t&P>j=5k!_QQ+Z1bc%L>c0l7E zd_qO``%*uZzaw~TBr456KS_SYK&Lzs6$t3@F^>+#dW|lQf4p z-;v&f{+ir?)P%m*1A3rw4gv8#F1Oy zSTU~cq3w~&A&3UPPEATpY9WoonhgzU4k(m`ql3XTG_-*h(`k;5CKMKU+Cym`%XZUb zoRRgUPQ+*+F1qm@G11ywen&>k;}@WwWad2((fE$I2V`-@+<(eU;AXklb==sN<62T&I_N8p>(DXCLhXsCo1 zh94YoYn-ifABl#xNTQgpu&Y{AYq=bcks$4Z+?raXO5^}zhB2c>a5bavqVIx^m0v$% zZ-i3vSjU^Ggzh2wA&tHmkGfm(>g3hgECy4UbTFHQK9R!DA8~=?t@`f~o^TMw8&8d= zJe<;?KEOB`+Z*mEG+IZ^twbgncN=$$@3=6vX=>9J9uqZNq~A)Rz_1d~6RCz)xPJ_+ z6%A?l6HV8*(YNtc@!LL918PA0d{=po6z+`>$hZG3=sqe1uE`Hvo?V#<@I2-8*H8{{cj1CXQ3ew`FsyeWp9m9ayO_4TuB_ScZ_eHHaA8|HlA=Kz+Y9f)NHRTR}8q1>G$r zB^JWDKx+e-3;~?~yaV7JtSuoC;rooOjI9a<%#GOm3mF2NW};w(*3+8C1;z!10)*9p zaOK7Vu?F}ZpcI#NQAj%&((o2c6y!2sqZU41rs51PfQ(A)f0p>ST!u^z6deFtV?zh@@qn)r7TbQXJeuc}i>3+I#>X zA6u06M(&c9Y^)FWsIh~wL!p3HfWn^$>?sOBfrq8rRo8);Q!=O2YFtPCrdq1itWsnp zhdY9{7}z(&6Yn}Cb4KQjT8-;0;z9;qknUPa`y6*qch71SjAKMN=+*-uhPO9dG6org zTF!#1dxU$0xPG>Frgo;U*$26h=tJfbbBS*k&FMDeLx3y_Z%ERMP1;{J%ciD8iN>7@ ze=bK>pvJ_mur9YQ7uRnr)uQ+;fv(Nb+EQ(4KF>75Z;kQB_?8cVvmm^#Xzyv_2ZK{q z%JNHBnBsxIj&HySH+qM{o9SsiT_`XPk&f@kEyjn&hs7fES16#dTmd&0PgNMH{j*+$kD++D4!^<0ko(zyP}bSj;y)i7RQA{DV$mG+#wue)!h!mSc& zXyZ>9LZFa=3MTSO*wu5}@j%*!B%=}g#rnYdz$YC5_k_GviFY?-w>|IQu6ccZpgrLD z46Pjt4ygNExDVQjp|vgd-w9%WROv1uIQ% zs9U;KC?Hhx^?megAzcNU#kN$H{w=L^pj3%DjDoBa$0?JWC=hi{O82CDYBer%sm%d- z55E318ZB-jb3zoWog>pz(^G3T=+)!Vfr+5B-{$V%?og?4PXWj2h~)I-^lUc1y7i6q zO}PwpH-3g~+K$?e;vKlpJ-|JnQeniwwsie|G7iLkw%)hiFPCxrVv2(NL*Zu#`BAbn z0^C15QCju@aLQb4s$Jp_+SBZ5p2w`vez0H63;7*D>IXL~)UX`m(Sht~q~9Q{Z}0wnHsj(3jtJf=g@V3aM*5}Vnt+OK*ZRC6Khg%5ypJanG+yY{=!cE<21 zv4;JO{Y*<7A@7vH$mERVjBFOCCGH&8_|M7Ok7b;JUPBeht-1e6=?PSoY&bATo*CgS z^&Y*aP~gIbh<|+j6>_Q_O6uF{+vf9Zsl+l3MDS$V4PGK3e{hRoZA^VMh--;v)K}V9 z|Ht(}&CD_%G9U68s==~$jdo2w&vilcLGvZ^rBVrAJY3ts=t7sumi&upidr48*jKhd&gLnr>1d3#OI@TcYJqSQ7%aFa{eLiV2)Y}eXzye1<9YnWsCUnI00~1& z9B4Ku*t&##!7%R%-XalL2(9pkVh>$wW- z4Gd<$dZpuK^^B_FNp6k>h=IaTH z5~xevAvAoMCjt}(z1+;wiLYn}{+4v;wd+qyt9uuk1 zPkKlX`8J9$GX)hNX8{0Ap`)duH@`#FZA1S+32!8m%;#n=$1BX>S2FmaElA6q@K zmR+~&zT7UH2z@>O@2t12x65S~a>HRl!c4HX3tz6kqrX!qfK!N(Ozd~-6YG<589jW| z1yGiZW~KQaic{<&MruK_ zp@P{13KZOF?vk;n7PJ-Vr4uRFv-Y!|hiVobQyzL#f&yI$9*z^$Ik6^P-$%tQ&{o6g z9f&K|7uFXo%p-#Dv4zt;<`d=<&1Wd{dm`gOvp2q~^_BHixy*$P7!C0HC+%;@+44Jd zzU(_FFj(Y#fINY?*GqlD;BAuOhIs%A3oO9&W6(zM4&j57oFP0*S+**Abc0S_EP_hI z*4P9q=ZPlGlY?W`uhg${Id+hoWX8>SvG{*@kQ}2Qlh3mdA2jBuwq%tWXg;v187#;t z?T#Ma;DQ&6{BlA+f#9fI@sQpQGx2C*Dz3lUyt-KAvjf+wvc6E@Gzw}b2I5G~!q?~@ z=pPgcj5?;SI@U`X9ARE&Ugj$luto-CA&1lTG(~0S z4A@c~Z-&fJvB>fe0M#eeb=3yBD!RHk+#Fsk0!7JbH60$DM&lg-4)`(Ia^?O%2nb|S ziv)yAIiU9e4+kBD-vRn&>{iqq&Ghx5Z-Cs6u`&c@h|ZUX6%viWG&u|6uGkzotODs< zjL2V4z3xX)1+^OwlkgHzpg~6zLaRtja29YYcO2ydlqWEp5P!mx9>ZJOB?^m-5wMYm z_4EN)-4^zHNJ=U7Li`B*sz>yQxc=SL;i<#@4-j5K0)L>vVYfhY49_CCj%1w#&Py&x zF34ti<6vgG4Fx8k!^@VPRthqNOUb{GLibd$s}_CNMN z;`-7_8X4}k<}HL7J?Pr`0|J;^X) zUciA2phJRoDX_Zaq?AG_8jaB-^c*Y%fS5I@)K}%v!0$U36fR;H>&TSzYrZ#5+K8 zP%JzF5)G7+_efrsye^w%ZDyoM?0ZKp)XW!zW;2RYpkgTE1)rBroh*PlSgUH)7GX@9 z#&Kx}Tp*OL0OR9*OaTQc7xRk1FQKFoeF1LMQ~cn<O2}FvItqFCg z1V59ObD@*9@3imod5(mXc89MbUMxO2jc{8Ogqx;HIG&-77<^QA#o6WsZNGJ7W0d0n z!*DQiEy=MxDxBy{nX*B&1p64hA&B5%T-Tq6iIGp_Ug_!IwxNt8k&BIjQE0eAALp#% ztm1j$HS`N+k}Z#QzKIC5?W~s!2RGX>ytM`lRhbN~dr#9XJGEhgvVjq*H9g#S0*OD+EJTq1ghAcg~ z&Ea@uI47O=kyVUyjB|WZ5569fi*R6KF-Pc9;Thg(dZs6yVUP5~;vO;elpx*BEI&-m zhzZB?((xxxfmlg_;&jxq}taBxCi!;s{SE;bl4t)cRS{P&2kI#TRmAJ<_ z!8xH)0iuepr+R`1qVTX-gRTdP2BX{1-I9tE82E3Qbxyfp&qD2bpl0Cf5PC$uGdxMb z_4KGPpy2Cq7VvPH5({=)SSUH97{##29aTJxu%bZ2j8MR&$>kCFBq_JxBYja0C>B|ZQeusXicL;bQG&rbU0LX@2*h57@x1t%FxU0KMc9RrGl9h8W3!t0{NgiRmW?~kxcL= z?F8+FTn;QhF3I363Q1=Is&jQrw?24>w8a6^8QHcHOIlN{sihKbb-Ufzj)MAhd zd^AXkC6=)a%MjOJ!1k)LOGaR~$a!++1ng>H{=ctR+C%Ot?keIL)+B+2=X;cJFvpYH za0tOTblT(Y8txjE3fuM*9f4D~S4a^YAaYy}(Gi?tY$Uub?PKcip$~|m6?amg5KbC& zd>X>zh9V{Fuh29Nty{la4u%dM0cEQ&M+knbS(@cTyn-jIf2e=ta_BKLnH6RCU^(bO z+>o+6Euv}1t3RnfiR)*|cSwodEFF;f7a*y8NXl(sD9s=jyc_g(^E*VfV_*uw`JSM6 zfDWB-#n{EzrR5!<#)r}#aaVO$tyIw0W0V{Xow&h3ZV=3IBEVvM(%s12s8RvHC-7lv zY-+5ZurPJ8+2HV7wXDew;4x_2@Uucm7Tw4^(mb+Q#LJ0o$H;1WyTgO@Tl8BB1vvbp z!5Ll49ASE=ZbS0oz0ebK;lzfPiJ1ryi}_NYnspP-+R z&%^SJP1lGX%cg7@{U7}wFf$4T_)W5t0epkPPaC@%yZZ)|JUML^so5+d9RrmpmBPR? z{1jb}5KH)?z?D+6CbU9+0Ep<|jEH*X8|E90ci{2N^O@&sHN<|N{SwXxr(iHo&k!JX z>LqtoGK(^cYBl!yhPpE(F37qa{XuS00n!=!%zD{+xl}?=2w>LuFneoz>vB1|wRxO* zT(O82EVL2;)rh@nRjsPHet-34_2pa+dQ%d-(((@UqlCaOlckdYwG@G5%jA~XEHELg zGx2t6RBDv(kI8dHoF!ChP5wAJAUPnL<+_1JyR5`nASVZkCki8@Fg?e44g)^KfnRAl zMt?7Mtd#VH128wa!V;Cs#%}Zy@^p>VCt_zxElFj{!0rLv1L}2XgK|=ejwqGwp@*e9 z9aHaUusLO~?%ld~tJm3D2m-CpjH5;;&n4+F<5q3^3C{b@`;`h)un^;E-p@@cGD!r1 z8cpf;vz;%UFPkJ6IY|KnYcyR?$97<`+=js$w87foTn=La(ykWI@E(bdpZt4rXmV&a z3&Lf1t`vYr9Kc}$`PJZ8T94M_3y4o%mfSwMy|}*FgZ3F2n8-5I3L+<=n@D;L({IcR zh-Uynm&i)DuW&?UvOO&Z1{X&z$L*&Bmm72X^h=se7k-o!QtR!ys*^F@I>jeyDz^UpIsv z*N@YWYrF&Fo%fvgDiuCXX^?=XOf}eT?(E^LnKMpfl%+lsBL} z59A087twarcJ<#OCHRqMYNju6jyMoK%Dm3JPK4Tp#sFhLp}>@mi2jBCMWKNC0-V43 z9l-TRo0HASr4sWAh|+;_9U72I@Nd$u14)fKrASa%qhVw1A?=}j9@{5=l)a<9W4X+> z+P>{_v$}@I81TmM7zjNgWh&xh?VaqM#5>UWMP~EN=Cv9V4-f|cLM6>F_O2%20gma; z&oY~2HmTKsA%SNVWYMtg7==dwiRc<~WUO@lmDx43YrWp~rP`r(+e0=*0nYx{{7 zV|>@OW@g{azV$l)Jv!~6TEW@@xE{uW0I^8bib4ScNyPHl#?~Nfkm&7fZCr0$Uo7Gl z$Bwa%w~jBD8B@AgKV5HFo006|l7q5Yh+fJjRm=9fRBm72XPCNNypO3}kJ1W} zFEl`VTzfp9hm&ReczX|fk8+u{@*&Gc^dQK11uxe&(>C)lWay~G54N|ow`{xvD>A!e zb`j6;QtIV^@V`MSo{IbVJ8m5ndZ@(vKoPIk}5-}_vRtMOb8L+#*S5=jMGp@Lfq zP3FnJCJ#s+Af92_eARrl zR&`eOJf(f4^OEyYrNVUqoL$Ho1U;VcJc*{kL=-Z}?fW=Yr&_7>_vMh^aNaz;8{nuR zl>=}>nbO{UP4_kRI$Tk}wCA}1X@<4kqwb~db~l}xg6`blMuKPIZn=YAwtA)pxJsUmqBWUFhhKO>u2ld<}++IF4+?GM>VM?{d_={ z{pB+IP*bP}YsWX!!1f`G2(ns!hOm8t(qOZi7SHfBXFX><&*L&4^Z?4L!=wL=pv2)7 z_KY2k9mVy>;~hB2dDeNhQUQRGyWX%wp^6D*Jb(u%PTNN~i=D+jZy9elCal4$@vY&<(nPC!^Qi?$WNLsVCA03(|ch;rc$$vNZv z`TpDx7!Z27&|rw2Yn^AEC!XQ`#*fC2{%kn5-1^A+$oD;oTyK<(asg;=m8qyVkpY98q|mLdZl(j!KSdq5VV9goupslVrt%l#F$eDHQ{v8p&+vDt$G5 zH6O?vA0n%6xa%vh3}k~oI6_he!=^Op1Xh#3GHn27*m%}GZDj0geZR^WU2zUzU z!gEeZ$ttc_rXSk-Wbc!U7q_SsHlHDmPewoypAh{4fMBO@+dHRs&f>+4n1azb5*tF} z2Dg`f9%yJ{8n47}vahnQDwpxH@ywTcKq$*0pNO~smVUg~zTCdNT;^>E#`S&X^XBs{ zSXIoL;LRQ-nosaP(ru<$(d0jqha?ZlW?^Z<+!K0ffT9h}mmZq@4$z!HBqRfq1O4K( z|Mfs(18=Bsz`!%4xd8W!@eHXQ&%bCZYe!2Yr3}}_ED6r45ZS}^3+dFP>0IUKjdHoTpFtA49*Ul9M@e$;-{^BC+7F+hOf zsLKW=*6`~341I==z(}lXKW{(pdEB6oKJ6_;MX1wK4+!8jNodOFA;cV;ZQWwsQZ6%2 z7_yfQ@r);0g!-v-0=y!03SxcM?bhug4$RnlrZv-AvV>ziipxWZZBM#r!OyjfmT9ry zq-pz%u`_4SoV{cTqv!fL#UR%VF4bJk^%EA1^OTN^`?LFVwaT=7%6O2)B4=drI`j=` zUw6z)ubE!6T4iYnh+p7((rx0B5;~m&-ran_&vV;ciV1H?c{iCK zG)0@6*ig)vX6!OkovAKa0=XxChoHIvoD#Ky_#N6tEIYID4)nUey1!Pdtl|ZDKMfc; z0us&;LJ8og^E-sXgmB5BPvjlr?ig`T@DBJ!dl*VXdx>&7!2Hk;KFv_i8o9 zf>1l2F=90I0#6ZBb%5PFZ%MzJezjI(sed{1^%2pNKaqzCG`t{R2n{d*nPc}^v#r_X zGF~RMTqb{*+&Z~+Hp^&yD6m`=9A`=;u)G&(n^-gj58+bh{=D*geG((-9cz5gPD~xpEaKq z*WWA85~bayXNYb$85D3{uvCIr`4*E;O=PH{8fx<$kRlk!s-gA@r87#`Sr(2E6!MsF zyaR`K5APn{(qN!=JHzit{WtJRYG`VxKXSz{nsR9OknSP%I+9wP^XQQBJ3xa=7G8pN zOZYx%;RISflyiZmWk51L<1Q<6cjoST9pE+O{~QMhiG}GoEB6yFsY}n?k-4K@M?_^g zYkVUdCR{Jzyr(-9uh_b+dmctQJi?*Y&g9RMgOh_>id&kFVH?Ni+fh3zu0O=y%HFE+ z4*cX^>0Vi_vIzw&1E@F5QlDfM5_lxFO==r)E1xtKQxV1KpYHYU_0=lh0YJHctnA0M z01`{W14VH<^~avRp1wtk+FqnU;n8ddLhew2CQNvEZK)#y@ye-h_GEf8ix%+$FUpFF zD=8>0Ktcj%0f`_g;opo&#-u_4@~V)8i=JyvH>Veifa9P?)OAZ{L1sa{j$yQHLiuqb zFf^G+CdBolB}FX!6=_zHbVS#z%)HDzasAd3=Bq%e9GH;FKP2}~?k%3-gT}VTw!VA^ zzXQ!m%72FJct`5(eEpNguEwrS37MwREnokrowSplhay$!Sj~;Nk!qE{0qt`5OMQUPvRLG{Yhb8tq# zm#*2I4-obXXxYfa#_z`Oe)ZdSmZWeog5s;x$*GfD@&VKf#MS{sRGB`d_pjc+mMmeE z8)3^4I=RsRs5ad9sJ%D+#+j?mTy@D3sGkM`q(1=E4dlcC6Q+(UtMSBsBDtRaU2zJ* zteQdJ0OUB7@3GIVSFKme<(5d-eEXT5i=6UknLj{wgzX*Jcf66`5JyKjhR_Yuo zEC&XF61{|hKT;Q^E^2v(=oe7WIMQvrZMc*8AI%B~aIZs4GG@FARG_ zkn5<$+bB+da(}8;+4>i9AISH?rln9F-PSzbJib_jY*5GD?mzB7;`%ovCk=@Pq~iLY zlF@a{!_32qMF1xie#;?_NtF$xBl#U5a!beU?n-xMwHjH?IL|oGH~em~pl<>oAU_KH z0TiA(ZgPKff2&r3J60gD4D}7X1FXPCfF&R&;KLAk&{%FPFBWocxVIs6vpFZv2?+Nencp}ri$y++r~%Q@?f&BaQmw+H8=;vQ8pJb-JY}w8u2L*= zAS04oM~|$=BWuV+Mu8m!@_FWnfK!H?j_L+@ZA5M|J}^Eg7NN=qfFl|l!AqocGWrXA z952#O)lY4G2cDm`#jGt}eHC3Xeui)rq`-l(9@I5KdgXTjp%~XAj$qJ%J4FpmM$vR# zn(4}P)$0ssr2YVN!%*c?q~zu^=?`>Wo4GO5n3@4oN=i=r-!%Hcl#H(@qy_7rx80)d zsP5>$L>#e@6H*r2ev>=c9bBn^h0ojUriMFiE(g^;J~aW5phwtlQ9A%MA8142*)xIy zx!)BFGd2AXwz>yzXtN{3l+ZlfVNe|~T+V&9VrC?qFAD^NPR+)vz3T9V2u8~uT7 zmhD;b4Ih$@gJ{>`5bLnq@7?dKRlGBS^ON@_@5^QZ-Q<_}3H1c^1m6Og-C4WN%mg#R zdYw7tG&c+e2^9l)9)wd*rRFu6uXi1pxgc|axc)SHhwu*c9|hxjsQOZ~Tj5)bX z{4XXTR2T5TfkO9`*SjC?ez;zjWxn|PLu75p&@c$6k|q^)0S_+Og$6uAK(>ei#*hno zM>^WwkKB){Rn{LMYzb>x;d|Q25qTCIb`S&c3_$qXqScesDKe^sjpnSpbq z00M{(TwIc~D9ZqW>NVY6<}MT0f03Gynjn7O>@{bzco}j2!yAtQkD&QXd7=CM?)&R? z7O}uvj5a*>F>S-hOyfP{y5+0c%7qPIr-{_Rta9huVie{1z`!tk)9%l*{Z_NVbC97wB(TL3e`3_ZdsK^m3Vt zQ+}(-8AoQd*(^wJNVnUbRwt>GTAm@{3XvrTK2M#PIuVlb*(@?6bV%V5$=6@2f24oZ zcn9w4HoA>^U1qzY#5yNAKRG{}#0LihxYZcNDjDV^Z_Kox>SN}aN7(reD07b7`OR|BEpz7+C|X~%_GbsN+q=W6c{*h zAi>KB#uQCN{^Mauo^|M`qFhIdC-AUL+u8EAd8YWaB8Fa!qT%6EQ_d%wWi2V_jZ=$- zz3{$J6KX=d1M%*wy05C&fl&wT7od5rs^O^!aXdQYl;};8`H0w$bDB}}DA9<-!tVfi ztwt9}whY65XxtavMSWU*y5)Kr=QE{@PF;mbD?r6ke-PTz{0>l=9@WkH=KNAg9%3!N zQ|K|#%m_SYzGF~sO`8R?AYR%(g3lp428ego&c zOx-e+c!W1@tEk7T$NRQL&_`9K?%MrV_g{+^@#uweJvPAcsa{e58T!W5qMf>5&+0v^ zi|gmgT9U=}`dPoBX$3M2#so^@Ehpy0JdbBYkoSNe8U~x>5e0NS&WywtPRdDn9zr*C z4Ot!p$2oQngM!dr`~F(d=gg1HkHkB0w-h=-z0g0oWzBnN zTA|DKnEAT-dZ`3o6NPX6d6Wkrm!o~p3@JL#!J1(%DUR`rlf`5)n`Lk0X1Oo^ezO}d zu76M_K49&z2kO*4y8r3^XVD_g0nucFL^Pfuypjp34XXIm5j`9BY`AC<`ih(#1KNq} z;Ui29O0@Ts#G6jkiFzJS$smdg1{L07Jj2VRRAeA1ae;{soKB}xTz`tB|FcL239T|d z0p0ea|1F-SaHQ&%O(Z5D9H)J*eJ-Bi|0MGoznJ|F2%yN$N0_`)NDrMO1rfkO=X~IF z$*e%TPXW6IrxWIT{LE>4p|(SUf{4hEj>ND~9rN{Q_cdEM;=c=WJ-kCo{AaslmpqSM z1~L66rgiWk?F#J*pR~>)nI2jEeS5Y&+w))##KdVx!Qm0&UFavGt0d++6P<~k2RJ|f z0-B<6n;o`ygC(^SjEjWjjBrLkNX6$N@q)+7?aS}L7INZ(NUO9hlh|)2I)UUy?fdBc z5~9s7Aq}H=oCoVs+-efpM@<+lNMz|eunT+q!BH@1Ef{Ux`M>Q$G(SpA58mzA;a0gqFD3+_DWThCzmJE` zgr?;g4+;0vHa1Pj8g;UQV}RmPOrj_!1#^ zY;Skhbl0p@&^6749Xj>Sm$g?1y2MVYEljLOF9&{B~sZ@A>15Ze$9v}C(9=i&f)uF5P)%Dd|JlBcJ zfk(j4kk0+^cg6|E2`!4Qr%I_uV8+qZ=0`wm9UN*Hbl?stocF_C6zW-&5kU}%`-5S9 z1AT*ho)MO_=z2Q!{__rPWL$1s?t5j0F4R_PEAx3c#VJyVz}Kc{Q7k%^feVJ*H>X-8 z`4CmjdFH$pVKf9ZLfb%p0E0>huE>|SaTsl6{c8PMF7x)H%!q45E#E1|}J(;bMPUpIM)k%PfLL%uLV#;Z=jVBcGlmFU-R1 z$hJ}15e-n0be&?6+wGJSViJmS8uI`|xL{q2XpwwgmiNUX!-7%VQi1|4Dp*kR^{;7D zwPqmt$$HOvPo&9T8^;;PiD&pfDPDndoL#=@88Q`=1e0QaTc2B>m&=$1i{4QwS;}Tv z*%>t^{T_K{_#vAK4vd;Z#6#u+?^VhbVJX4dRa9(pAAtCU_yTOXYe)kX48t*5QMf4W zH=sl$gGmO9;i0r5`S0L{YM92yUe@IyZ!z@%Ye|CfnCCKAfSA#uI02`BMzKw?`!W{F0(TOip%dM1Ov(` zIG%%J)GyR8ayc}y;-l@s_F!@S(uSk!f(0xaPMuRJJt_YF7HUB)h(E`vU#nl|a*!QS zBDYA&2BaPs6HbQ*BO?20%wp;VJP=AXK79IjMsHPjQg_Pbm;}%H08uoUWdnjDJu@!7 z2p1?zwS1m$DY|Kh2fzss&^f-$&e=I}eRDGF3!$KDR-&EeUFKcIBB@r~a+;VaKNvV_k>Y5iO{{tLK3O_?&!cdG-LK6B;pR7;L=TT|_s>uZAS;qUu z`{MeQWKjv5Q5dO_hm8zeErcn8iuhu=*w4)=xcCKC^(0k%gZPJb*3Nn!@&z2D7|XG% zJepM0%E5df{)s);p6hw2uK67R%?CQA*#F$LCiR`zuhxgwhvhPM2h)A%P)VF4H7WyN z%3IF)0HJ9R>N&C^k)bxe5}R$^Y~5TgGtmig0CvG7n#XVb6WV00@kppxjb*J{ty{}w zh6Pja2;5T44f&3d;yY+T3bZ01-^05AlM-}DDZAxnHI-oD3-#Ca*Twa!zFc4Km+_c0 z0!0I9DK3C0`&O6*2fPpkkhV>vePHL|=^5!6wHhE8%&x^P&B?$bp8Y^|pf4$nFVZ-LLzJ|# zs}I0zu?5!M*4^bYx7i4W1HJ+K6*U`^xg6eN2&%{CS$9}>l*_ntz@o7a0?~h2>8&oY z=sd7M9}hDB+~tPaCP6bqoSjvsC zpDK-bxJSgY-c9E6)DHE>dY4Je5x@MX?h2cDG}$4w_$vu%n2EM zilGza!(oU*-7Ss_lp{*tvT~W#{~@kNX*a(^O)=hF4$=~EfK|f3kQeoD#wo@rg#!DW zqG=7!2?D1g!(rYa`4dDolw~*{W=m2-QbYRsAd-pJ4h9y;nj4f)Ra3=ZIJ6(Lit2;t zEGoSyCqy#}_JDjykyRzcZvb|W_LxPp=zC;f9pDRi7w}t4&!)ZG-NxOfQh}HS*Y#AK z!pj;>C}vpE7iho5-QL~4QejFMxqJW)(6xQ$sLWBdn!&A(=jU* zXx8$}M;}mX)OsGHZ$Js5NSgS}neI%lRG1`#o)cA2iKH{s8R~foVm~^Z5X0%5nC?z@ z*J=PL1&68cs_%+hdwFVEYFRD^86l3GQ0pdD9)#fFK(ZSq>}uQp8q|(l4)|h)t>$qH z$=R)awseH&cY>PItY?he5xxaQ(x@e;hxV+yhr36$%3XJG(J+@J{G!5!Y6M(h!IHo1 zC+sIYk0G61bQnRWh`Q@AV&Pv*Bi{H@d%iv2^H`;u&H&b`+D#&|m5!0_Tz77@$_WR_ zg|pu9PyZH7LTQGXFa(p^#?#36UMX$?3mV1~Lg$QrKPxnLeVq9s^F_VRBNeJxpu8Br zz#d_Xp%fb~Qvm|9Ti4r}k24?F>)guSSbI==P+adBI~hBP>zm3=o`-Tj^s&sSpyAkjQR7eJ&tef!PLyEn8Hxjxc4If-9G|*>&l){zELsF*W=7>x z52(Gz9pDZS*Uzy8}U;Smxa5+$iF}-^Q87nZCImJnuRVac8@;t5rV^;4P+( zY3Kjacc$;G)fkL|Z*W;^X=u39C0&hdOg^!i&TI_%5n6zD#`Y82LYaF1! z141%>Vf)?guI{cr^@FKgSO{?dEn31I@%0Pb{oMV;^uCk8;8Qdp2@%|e;=qZdUrHLbfNY_$!SEhP&!T6%oBFK!Y$Fbgc5`m7 zT16>^^BcY2(AwI4+I=lD;W*z3dC_r>`?ULXwaVxk@;5`@5RDARk|B$xp}5lZP3EV} zPxU$=+o9EE_bXhKgh!FI?q%=gd3>CbNFKCoyI#w@pLySpBM3Z@1&p6=A7mfodAQ}F zWsPQ*xc*3c2YZJ`92oCD=ssAjvKk-dhM?so*0mSei#!h%5dcop$Mine`V5Y00u66aMqN6PA#5s=gckN$40ZLM7@vAG8P z3<;2k57K#Zx+mRJt3i<&M2YA>)`r%Gr4k!6kS8WLDClKZrX1frrn{j}2yxqM^fmM~ znm$HNAv88p!OtlUU{1jD0k9{=X!c>L+z>m*I@db4RANgxiUZ*bq&B|NX{4V?KU1r* zizmeaSk1vU44DxsC1_W4-jRMI{YI?@DhOXs1JA_C&f3n}E!UHE<&?v^5AHr#Y{U2$ zcHYj5^!l~bu+%XB7Pc>UuW_#t`}jh8q&?E}c-Ta#)U>wVt$Vj#ycjW`?TG2`wg2hf z;NBpvKS|n-^BF?zzG(q@y&^jnE%+g-Y&aoV$J)x;s#IcNBNe4x_hc4k7S`)51CF|a zWCGd^cQbc0as4Jz?Gs*Bz$bO3Gxuiht=APsJis88PD9?u;0g3o;e%>FPsxywz-ZZa zMmploAq9iO189SAe()0#q~%~jbd$!+W3uPVy<|ADKwudO2?81QggYKgZ=Bv(TwhYh zsAKy2P@1)^Mev~G)bG{r8*zZfYFy23o6=KyU!N?kTJ|y2xyUx0hgVyu52z3L!U>o? zB^En3I5&76tm#?djV$iLWm7~a^v3j!wHg`gTLZ0ur4oMtf^M_66qQ_^C#5s# zOs$4TfL|P4X{~3iS1NH~LTP>IZ?Z4n8gXEB_pt6^^*V;lz>zF_i_(i~HGVg85<`jw5=Yv9+JAZ;GAkIi;Dame=Qv+E zUsWnh&$&l}R$&PzVtT*{cpg$Q=#)=?YUa?HLzgURAM3p7yjiL6BY04PS~#JhGXawp z{GRExnTO0gWXTdGQZfEE{w@~Vwvuf(@CxGH_NDfvo)>%EDp&=PQ0yqZtPl^T?%chi zdqqoO0^hUE<>3^+&A!&Y*7LZq*XAA0l);^hMhh=T_&| zN`(cH`$4z?Ob&0P+q&Iisz)Cv@vUPxMy0~M1>lWwJ;8<)xbr~}9R{mmQ~y){Q#2^b z(xVOn$P(6{&jVpCrf$paAi_ME0Rx&3zA2=UWDy$nofe40biFcg16Zbr5)T8}A{rQ*wl+=!b~wpPe~;=I}-wC>p;Szxu9wn1mwHkfl|* z%z}tSV4AvTkJ6(oS_JYNXS?)_`T7y|w)VE-`kToMgHFY%J5wBhG7>Ya&uO4(#6DhO zEwz@G%aQGjkP&LOYNh5Z#q^G2+=cE!zcs_#kUVYy-GHD9kM(Kt(lN@N=gw=118j&) zNXM?;OkbwY7gR?Y4iud{)mq{JDBkpQmVP1+tl;@lSQTJ5045av2EdZie|L^ar_!lf zjm2z8?vIsNXRG_D`?Mq^Xz@^7=^U5V)4I6cl*1~RX>sJFJHj#`oDrcgpwl#N1tuoIrrjs6R}v>VYdULs9t)#Vk{Q0qSlw9Nj|1$=u}r^O zzq)05PSba;j+>{UxPFdQ>%u~eq{QSE)AP<{nawhr)oLg%@rxs0nmd|1ihX>VoQMS1 zk*FEu`_UuKYs_nk#je#dduR5p)gbQ^yh7VT+d^FbuDOM|g}D9<+C^(iM>xLzbhFd! zZ1@|#mp&kUK()&HBacY!N%#-7ALG33yj`hCv|XV9d|>Bc>1pX{wHjYfm~;Rf;bqmn zuk)1iln?pDBS$w~0m_973o1+?j4tnh=dqyzX-rNF_io#}?c&7%$MYlX_h{nR*+<() zdmcBryJeu87U><>JFrohkf|OZmv}n?Zh;^ox8146>zbE&B=bnU&RA5^x<*42ofS50 zM!SzlZ(Y6exL1%$aUh|$y}j2R=nfROZhh?m?ExPFf#fsxwpF+4r4pDDZG%%z%JB;u z2rr_|#{>wFWtvh{jlyL9zqeo8M42$)kYS`WfCo@!hs-!NIH5(`cD(G6@bzF^j8(r> zzs%(zwhfgJ1>O_PmZK3&$2hm(7OK_IW>nu3TAthP1ZHDHwtjaKDHqH$+U`_$S9kYC zbx|!Vv0o&@fm^85OyVv#^v6MPfEd=5a=XRXvwpIE^1Eb6T4QBvfwiDq=0FBqG8wqC zW;Lo*Ho0hyJI_zwmA*^Ffltyy z(?iAePsuxofd}+P+7EP|ah|DEfGtJn#`Q{kyuG`SFQ4S4x|;JU4(?-IDp|dbwE0fl_^_jBRR$c9FW`o^#2tgo%mK#<`cW! z>alvtWq?kYD~4@EN-cnHb3#LQBml_;m;XB<;W$F(913zb-p5yITWMS6^Xyqqu07}p zGZ31L*}II)otZo9bw19U`9MC8yg%}zG*-i05&#CtSrd1l^Nq|JnKf!P!0_4@sE4SB zh;K08y34w&T!wZX1`d&}jO&c+d?WSFS2L?+R%>40)F*1|Qx8%P^6wzB#gcFywBW*ORtP^dWPJxujIW+Z@@zxXie$Pyo<*`fD_}TcmSOoSgxRGpd z@bzceL+zpEGTRZ7Fv8SBB`lp)RGVGbc7q0Yx8Uv?+@0d?UbMKoyB2pXQd|nOMT%40 z-Mv9dasTr^-#>DYF>;cVWZ!GAwdTBx^eil_({BL===AwBxYi$-{S$YkzgU z{g}sbi0TW}XU};^0Dlms?@Z}T;YIljp-s$|Jonu4nHicrp+4TB*utMQe=E#ITf!?QB{PRtC`fYaSu z(~?0Sw?3{CC&FOYKB!1=pg@B)ntfSsR&VV1>Q{f&$@J+oK8l^)u-teU;(gA}N0I+o z2siXj2d4+B{!Bxr2~pJFwV{s|zE+2NL^Yv{=zGO#+dy210Hnj6xa4m1X}EG2>X{(Y zDg;?CP1kWW_@tZB_5yV4nAo-lF^86$gPVdGvo$Pa@$6@y`=>!{$DfWb-f1vWzY4S% z_1$vT=8DyI%o!Q99EiI`KB2mX+7%ySxC3>V^|6Ww=NayLmYxl1Fvyf+m3|H_WF-_i ztMXOF2faj?v?Ub9lzMWq*oc1lxovXV5DRwwKP~9!kJvxJo;R%@(-+qw-oaD`X-vhQ z;)}1^}!%C8Hh4;_grGcVU%~vgM<#dsXARv zK{+6m?a0|CEgOqpl{)WWz%K8Gq_Nty0@9cJ4k}njGmBW;UQh@<3`| zY`@2ntJBz4$pmDbWt+7GaYc}!jIU3n6&y|4OEfowvxG2{+Y8cRlBJ(1dE2!9sz2~! zKMp!{A8}pHiusDk`bGGC?5t?DTh~g5UE#L|NCP@9yakSH@wihHcW%orzvr!rwFZ@Q z=9*tRU!Irmr@hO|kE-Xb{CewqE2(TMv36e*?q0q(>pL zJ+&{eY+Ky|hxSY`ZL4__f7G|s3dJAeM!DIfWM!qdX(tTmjlKI>_>wC3sEAxfHDO#`Ooz129no;bc0Vyy@rOm1}ik7~bnIWBhzmHaZt zH2`gT7@zG+f1XdDZ!wsNv~twXH^`3*3aowZeC}Ks(Idem#*7R4*|*ZaQl_4IS3!-T z;wA1Oj=KyhI8*R$8w~sMQKu{MjCh!J_eT;`Dlv4sZToG^33`on@KI)ThD9&4B7N3Z z5xH>tPsyMF-bKs#rZycQddX%=_N>8O^Po<>tFyX?y}W%uc1U*Ums)TP!Tj^sdAu)2 zMhQkYWq(YMHTx@mEq6U^$;H1wVxNRJ?QWuJO5=Cc0FyhLJ9{fM9yaI3E@;2^ggQ}? zi?>|tQ243PlsRk<`MRN@o;$_{!*MX|;-F*9B`ClGt(fv~6dxN2O*==Tv0xvm6T(6%qbwEwF>K5J+gSUnn>b*v3p@=I8omXXMCE!qT@&!oJgUf& zJLdZ1^T+4C+Y|;Nzx#~Ry0d5f&|By01aXu#FIU^_tF05#9$-^38LsyPTQq%Ix|Je> z>n|?pcWX_SXrYP?I1=-7%k#ZUt1nkmJp4TTEO@DxtrD<#o1MWxM-InE&6-{s;|EEr z5-xS)khr^!yN;FUH2fo&BbdFPJwmrS&^;@R!2JirC5|PI!xov|qw79G*WT3R#nI`b zqNAd{Cl9U5imfXxUe|>OI1#FV-(_ZC*GkB)qD12EAM!Q$5fc-I?)B_Ei4F zEO9xHdB%31C2OJSIpsaopxud@3>jms+DE%bzK?Uj-_TW%QW5XGzuFqfX0_1g;9*R~ zbaJAwr(nW~zlSOj0z^}0n-2EGy^4!;0(4EC-`)Wk-`!eOVAr|dl^ zSDTZt7VYZWUTaBechzPeQTu{JF)EY0P8a9D>V0j(h2=*;g8Yqpntz&y*0^wMVyUhr zW(#kr0kHuJmHp=01;++n;$FSR80{3dZx~&tEKEEM=m+n?4lcw3D@e!7-Lp zV9?vt+??B%v)mFGq|juC6C8@s(K_vJOmSgz8o7c2RbG zWbIdV>fYSvyk~-h9DnIH`kv_9`djBNG))$khS?b*W6p2<-`Md=Y&ayHdf-LXc}v5^ z3_*p{R`~;q9L79%oOgDEVUMRNbD%{B<3r8dBJlL;!s^2HL;eg~0tOEU7su5PGctJq zutI+H8gUQ?XL=Wc{8Ud%;lu9D-k?qNTb6^=zneVfyT^v0C1{%kMtN5}Q7cJnNQ`3n zS?UrM+S9lo+b7eiaV0DSC?Yd6pRRluVsUFBHi@T2%` zKN|L7^XtdVA{_!Y%ioMULN{|#WWsM9uNAKq$8ITpV3S_u``;It&i0y=1q$&R=U6A<%r!7>Dz(kj-GIE83*T|Wbv2q)xrwOdW zxWmP9D&J9sl5qT@7kT`Vbvno_LY!<{shX{c6JOpa>ujk?js%!@ol*Y^9U|Ci^5opA zmR-+zql%UnR}^PV^Q?R4l4w~4_x~#LNd^Ae`NyyL1(l7qN{@nZ2Gf=CRX!KS4e-a% zTwP+7{PUvDX#79((+Ar9zHo%VASH}?i58vC&v6n`2uO(d5>h~l3;+UULzhIDn{Y$b zAnkv=UP0#@P_!BtG|ud_{dYcntkUx}%OK4_qtQcQ$S>FhZp*Aj2AIo`$MEC~24qyU z2bRvLfJjOeQZq6~VYiG#0aDli$Oqu%Kz5CYp8uzmfncWO0&MD&7 zYOPg%rX#>pxOt%NSLmK++L6MQ?le~qZx1VhhAE9|$*61ymDqOjDwo?U$7%CvGc^XQ zz&-yxJHad$%!XQ=i+z2Y?$cSo1vVcSMOo7*xV#XmiB4mq%$-lZe5^n27)mg3iIw44 z6SH^rjE8(w2<6r8mGU`xhCC-gM($tMt{uxcB`v}}-7%rVWEf+x<*qO-*)Q2w;wTHI z@~SLn=Gy1lvqd4}w@a8(_YGmRCbuQu?EX3t=)3O&8RJ~z;4UOnU2I-#mNlJFk;2T8 z|LROa#WhaBl;GgP!LXK4$*aU9Gn;%`d;0F>9xo9d86K~Blf3HmS&EO4J~dLND$^B- zd;~kFy10X!r0B2sClytjh;U<(H2jXni;dk4jT(ha^5)44jeFgD0`XqTTgg8W#u(Zf z!SG1>+MOi{Q&NhIDtVxV7$75nq}86k@Hj2xKyW%NR-t(}APGGQ9Tnjv?t9oipb#O= z?9eDB5ISnsyU1fC*V^RKz|laZrY{`R;moc7QN#rB zRtS}u3Pa?N@s2TN!+X&l04j-+2VKkQns%_cX;fUsa)oz5MQs!3Ayf920L7ZA0IF*A(Cc3^N;4x)U=S zNyv>XweffGb7Zfl_-y%X5#pwNOzKYTj+YJ9sVbcPp>)YijUi&s)<%#uUZ(-$HbFlw zXB?7xU3XpA`KDu4O+{hv+f&C@m301CdJG*PP}UNB{i}|jn9b^)=~d}fX|`Xwbt%Mv zI~57>(x3N;fSYpBZW^RFtkSP~s3hmCGTG~(gaKe9helqJD=}+JoxB2ELQ8qS z`ctQBI3T_N1i%th44(^EmRo#n7zusANCt6 zb*q&DfAI<@miF7a`Dwru@(`;%DZIXT&O+cTu%=v7J`Tc=i_D|J-28-rSf0@-L$;5; zkA4M{+O34o{tm}^ijR)s307d`a4$;ZaUY_lEjDskIPOgFt#Qoj3#nmq-{n z^5A#p8qj%MddSlC@sOLkEF2|Tkb1r?qAlXz*VXuZPm@o;`Q?0ka5mmi9J3C zPG}wbuA?fFDhD-)R2$+Eh)93WI*QLQp|PabZ7yyp{wD&K*sU!1&Vqs)zAcdo=%NxM z3X$j!kM_UayxqL^V^>iC#61IP8}J3SyiKW>iEYX^e)i<*Mf%@t-fRxu9(VC|EHSDe zjgGo-N%Bg%Ti~KgjYRT)o?s&Q1q_b$9}Il`58rYN(pMS^bwr`U3vrJx!^@l|NgoC1 zxnNLM@I(S|-sG5tVEqsVdA*g-G+0~?$89jIBPC&e)3?YCNVaGYO5|c+7<+zF#!G~5 zsCLp%8PKvFBW;9+mS5-BVAo*pJ(W+APLRG>W$zy^mWRa5NK^)0-x2NXR^TV$R=v|>FHo& z>grr3um1^=x>iOy)|Xe8{U`*O-_wv~JwIHlU#mB#V4gfyAJbq1*?kbfa3Yviy;Gb;ilj5!j<(Wu!_FA_(!LSdY|5L89P)#iYyF zO*12bQ8o@~qn&ieP`q5ou;2XrgF)aQOvw)A;+(YvR5K7Lvz9oLG?E~TR2Xw~I&i!D z82F5PVdn##GBS!7i%a&PVj0F8Q%U|S)%c&*y=N}qdH=%V!XgRW#MrLp05W3*DWO4c zt{XVEWMHe4G&iz7cK@Sy57ElQ(%XZxoFrX?BTy9Lnv?o@#4Ph3KtqI%Y=lq~wSi-n z=fS1tjb*MRrwT(OrmgxenB_SUMXrgc5;gv zklI3p@nS<^O|hV$up@~aBOecEF}*UoGRweQVvU-ebe?pMia^GXb`|;{7Pa@+>Yu-= z!YDe~9ZcGKl3JqLAn>Gx=id6FW?7I0k+s8!xkg4lS1(VGAVFaAiTcS)}S&%jD*Y8>9jm^Ix}Xa{+#D6Gu zJJFLq5`~+#wV9gN30W&S8%-A%r~a6bK8M_^kS>WFpI&H>7mnhu=10HA=`Q1?q_2n}Mtwz*AA5{3muJI`KwOYZw^jE%qY9;|B;HitkD39k zm;{NIZ;`u_D`5DWSOwaZWa-pR^_5V<@T~m!330xsuQ64N6>z@ zY-M#xa7plx`?vQ3VY6_3?vjezYw*=;#39NhUI`5PBs#Hjq% zc8D!~(U0Zym8_gV1@jLoi6lACP&67UcTWMs-!-sdo3 z!t%c-@7K4C#&+7{3ohZFzo_J}!-i*)q{6!B2g_`#vc#*Q<_MxZeUXhVefQ~HM=4nQ zlcs2aMUzcuCKbDzgvU}?TiPP*Z(1+3aXbfcC}hQr{1p5Y1nc%~B1L{@_ouziBa$V1 zkwDX~?9pL(tzKdON>qWrL#%Kr8O~XcjT&CE2XEzlQZ6Xi zV6jQ!RYpYBgFXa(AR`DFufWD;3ruMK()>ldu4ryG$mHJZR_IU6jJvycX$L71il@2y zii{o?CO;;@ve9PTg^aRAxFE%vtL56_myW~hG*mhyHqY=37};O5TgMmY7i^zirEAzU zji6PUqIb|behr7F*@62GgLD@5xM;4S3K`+T7f-Zrd&YN56?iy_7leh~J(w6ZtRhunLV_ z{gL3Q;Hh5IxOe-2Z^wQw?5Su(0?Y!gRh?S3I(}6zyyOnX4-(LiofLkW`>Yif0kz2q z63LyDI))P<3|^r1pt_Z4h5DTaxPi|nina@h@ngqsQ_NG$d%ACQq_{aSl0(2$G!c(0 z?gZ7E&NoXf9zM5M3r%|3HmM%v7A>fFkL}g)sa;MC;F(Z;lvGmOPOw|PeYr2G_yeBky4MnX(7JHd#9_7W};sha$3ClU;s zph#lQ`I0TyO$Hnu&2sTA32qJckdA;wVO^11pn{Qr$6-;={45^bdFIjX&;}jE| z&3=(J5kupUpTykKNpf^{Pqfx(rRjI2QyxGuUL@vENxvf!&C<#ws!?%0~8I zbsYt47$O;}I*V|iwpn_?wKx}t*H5qP4dN_8j!#R7ZO_!oFA%HlPR_2O-}=NF`eesH zAwP|3T(?tIyK3a7nMA7|q7?0V&Op>O@td+yWBSMF$4N?20poa2Ra;9Q7SmBl{Re=! z*FW2Juq&)f&be6z?8-hI%_*qEYQt)KOCg1;%&j{01RFY8r#m1iV@%Fq4U5XUjBV$H z4J%fjtT;%vE&rs`8j=jB0(}pF_an{b@cQuj5H$<0W)LWNg~$nwfM#{1{<;2n+{Sa! zoHU-@pn}yV)}S{kBYECwSfOpO+^lJ`i%F9zE!IOm4CooL3)wUQWu;|g#g1%)&^OPMW)U# zfg|Bwh#;sl=Zv%FcC9Y}LCt>3PsC5eQLwx7p>?4)J5SQRuA*J|mE|)Gt)*l)l^;ZjuIWNn z%RilO4A>Yx8mfzN0dJ-zea(%Q0#zU8Uqt@r^-wDBa2K3=ENh3~I)ao4+r$ z81ff?e8;i0Ezh2q;y6fRtFI!BLZ+(F2nNd0Rxwn4Y-PnySx9(*Lt8ibbYXR|50{bl zZ9oL>T#Ogo$q9pL@8yvrSf`Ow;5fl^grBhSOsAbR5uYGifW3n%zsw__TOKc~-U)cN z>e2{DmdE62g%=6p(lv$FqxYi@=4= z#;1O7X;y4uo#fPv@slv;8oFLppaQ;U95>xX5gVsr*~RVek)K={r(`>CVB<3iVJSAJ1@NE}BZ5rzBrOz^Bu*54{<|iZW6XUCnHqB{K3f z>DiRpkt-{tx|6k;<8i_TR)tXFnusyVXU1jTg$1u<3e$qGr^uU_0=?ll5K!W=HB!Na zO~NMMpc3h62eR@B^^xeHKu`GlsF^0ntNN_+%v${M;x`(TG{(C&LJlS;9jq`t#|Km9 zyDLRaDyq)n?=mKP5u2Sl0X=kYY?(x&P$jzg@d5rAON+rwB-iKgHA2`dCvUzz06C7j z5;EEc`gG(Fkkt-=N~bSa5Ce+>DFg(fd}t$B2=DQwfMii6L$5D(6f3cC3!I_${FcJp z1cA7@^X+F=QtGl(rQnu!vdt20tBc3?Ht{y`7jQo~JpC&F$_P5O9E2mKw*ZCMvNdOA zj7vztWQ{-P2+_^imC|9Pb_Jg~Lku9R?zw!8%V~SQ=lFtmDaJIy4e^n78RO=v(&RKx z5$*BqN;Q!vOrBLTGScH1gLcVq8C+4HW|o(h38sB@9C00S-Cn`RY{&IV2qSz#^yI`f zNcEH<#|{rXld}bn*Ba?V$7>eCFAw{rG;NsenEAaWimwhK8{~({wYtP?YDvjE0eKH2 zdXS`TOEW98eZMB`KOv&ZGSR>>fAY1Kw6BLhu;Yl-NYn@t>>9%kQ20#wRr|)Hv(aes zt`i@J1KnP^{&f85=psA9vO{3O;jCa8G(5bMWO=) z+;!ftNQ5R7GRk+&=KjNA33GRlsI{O`A@ThC)0RmAwj8d7xJ&6@irZ9qDU2QBQ(~D9 z*6X>)n1sd#r!r8j-yjDqityVeU$1BW$pu2MN?sZ=;7 z9m&Wze5HP*HeAW(mDTy?+2(H>b`@7q;zn1CmSndyx3tbT6KMNE(Cw9GZVdTphzxl) z$2yqPe%3V~{VGg|p?R_XL;VM+MOs4ALOK(FBrM@p;8p+?;i5!p+ZxU>luyDqr1`%; z*cv)=XCL}l)n~Q)+h6ZF@{M*KTHJBM2&D%z-`!X6T|b-A_c|FaAl^u5ZMHHEVmN@+ zG{G3!|ML+C?)LZfjD52<;zzB_+|e@3Us?(;DM4273?tj8!Ibz--+)OUvC2w9`tUk& zRBi$bPQ?*3ZTzz+1+&Set6h3UIs%iSi#ka-NvKRGAq1m(NH9$`Hf8;hKLPXRy_+I+ zD*1UHQn~z9x00$wobDJbvA~Lz&$R;plaFwFs9*sxXeyT&CORfM25-C3X_m6UQs+W+ zZrMCr#Fvhf(MKmh2rwZi(6jsre|FGlZA@Pv>gH@%d1jBwzNm_Yi44rN5?TJHh*Pw5(v*M?Oqz-z0+}}0^f$>JdLt>L+ z^~Sccw!iZPla06fD&ir_-10dz@vGthJa<_sE!VC#V^JLdd*GyMV(~i7d`LB^*HV8veX1ga_CtH>2%ts_r zVU0kSS##flet+l+3JTSAEe*e04?GINKTL(!Y{vW`x1ze@oJGHEIT#jc$;3;-;6iFylWe zF8=}j0YOEnWtySqXvO6mv)Qp`P0s&9#@=mOb4r?;nUO1`{6zf|1y>7JGr&5Aw48Y=g*Z1j6NIi?$HsHt#O70W4+Y4ZGYYWQ9Et3_~$OfTO%*E>^YYU|ZOhBkPmnV4P>8!EC| zR6;Q2pQStE_Asa!6q5C1`~^qT1M|xdsc|K^^+(~4!p@#JX@{S1716&udNS9#*Sdq} zVqK8LTkk-mE6on=K|QRqsdk+2O$Kxw#%AAK+FWi#;29IciTgsS@Gq@|I^6VS*wY6G zcYJT4{Z10_9LK%6LV|9>E-*C?A7eJet4AH zrqHlV&l4&Vm5D6oZcg11Dg-))hQx*$y+yrS1hr5t>-J9$_XFt|KjbWouwY5ti&NSd zA_8g?7G%4~h;&CiEn|$V>YLxdDf_V@1p<>iIg|2LHsF$w+7PJ5XI^Ms=m%8eLz$q| zrVT4Rih*qD@0-3*VXZ^HMXx z%3ZQAEe^2|-DpWsWJJK%@Z=d2mw-Po<&t_VPNL8pzr8^y^HFd?Q!&kWsBa0heGq%h zjtDmY8CA}p*>f{&8AoHM| z`KUE7A1xm(x7YflU)8?AiW0@rK3^CWReN=8;YpzZq4Gn*mp#*SQMigF6fV&SBO$yn|hXtF_HV8K_G3 zp2(A8v9H7>Zmy%Nw+1lBrAIpG9K|Km?b5iKx4B%SHn_NM#Ban=5EK;p;c%s$XJKBq z9(wexpRelago_*1AR&;DjtTObUaWWdT6dXGS@S*!@lL6svSI+u_=?NNg4vUlrP`(1 zN}L4ix$5i`s~l%7H6#heP#d?8Tx421E%;(4W)&O`^myDL$}`~FeF0|bcY>5p=ILG} zCcRq!{v8|=`AQJDzP)@Sg=*rxhHe?Ed#iif_!&!>W-HtuqEC=YC%8%@rT!r+(M5Z1 zv0=8(bUaxH{R>ARLuNuoe`Vx@t^^EfJLd7#Yg@u2{AAY8Ei_~d-7cX^aHGJQO_M!Z zJ6aRl!un+D>{6pwtM@c$4^O7QWNAvoMAA#t8;jZJNhURPeehYvbY6!ns~QwZr?(JJoyCir78CyV?eg6t~MH7%ERz9GY_DgCl0A+{S0fh zJhd#PSK-Q0hExu~0xSYB)y|KwL>g9?^&2+*mpTi@TpWrI%4DgdEQ4W^E$m21+3mEv z7m}|B5SR3&g?M<@xS;=UY3_V0=fOEkBjWmoib(r;?s`V^Rq0j9?G^or;fZ1I>D4+S z+~7XLMw%cMgiSua!3Hb_H#z>RJ&<2KZt zE3tUvyC1D|(~pzy?wY@!J9BDmYb`;?i7rVlvSdV7jZJ#7kbKizw&nMf&Qr=Ejr%%B z$)n~8t6QN?2c|E~bxPswNE7#+~eNuR4 zEdD4$X&^m-g$}1Q6XH84z2Mf6j650{gTQLM65l*G7ld=k^LTs^JoegRKv^E{ zL6X9lZRLtOiOiLC+1SMW_PNl7Qk}cO zFQ#a3kqB)j%Vq!yI>oGQ!nq^46S*;SSOP)t!pg6e(i*L$$Y-nY{=bwhUnIV#K=9QC zvGdn^Ql)JFaz%}UXl;JbTQ^J@n|zh6%DK(cV?XNT6HP`kuKd=N=1QJU+CDTuK9c^gF;TJN2 z%!MvS@PHb}(iyJvapujiZ@ z&)r*_4{?L=j3%zSL?2h)pFWd-2j$2B3gmP|x7U=`By5U2Xka0)55J9zyG+ll77ISc zr;>?&ScA7TjorZZrpjpGzqp?}wGUd`{_r^WNJH<+{`V0HFJ%hmaHA|2SwPZCV zzt2r)Z)dOe*NNJpTXoAX&P2U46c#CeMHCcWEu@*Z?e>ot%L7_3}q0n5A|L!MXRxed9C)o>1QltmZ*AE$ET~S{p zl|!ctuw+z3`X|vA5BLV{VH($s^5?PfDCMT?DwO1tLH+WTx5}K#L9nnjFw!_eM$bCW ze8n*~qJL!zvaCwto?!dq7Jl}-sz`2uL`y9S=F-)%_F+GDJ2xhDy4te?EqU+^N`8|U zI^E@UvxOnGz#dQ}`dR-qV5^G?vSC1IC6!^65F(aU-WMr2zKWYu0nMq_aYaE+F zo$`&v_On;Y&u5Dm_Cp^4p`Th^unlBfzp2DBMe43Zjqs-rpUuWh>P_e=(RDsT9lVNu z$3*`WQvhgRSG<=fmMD_Gn`6|t2bIz<$RvdCZEGW_@mkrcz^8jvPTL=|o$AduE;#_e z@fTjn6&1|DFo_GQ~C3a6=pSyed0U)wAynib1DDS#M|_35cc)>oZMi6AwY_Z(B z-i{Ij?0mjHz)w>8#}OJ&_#mtP7$0o?=JdAl005Bb{ZFMrV0U*Xw}RAhW>s+f4(0868_dH=KRy<=c1im|Y2Fh9))cR5a^WfKa*afp7wt+t6~=;4{jNSTfv9HI>?rZ;hkAU21Ovyv!wB zSH)l{f7(FNZaCNIq$F7~%4?$u7`XLuIXZTUd$cenDAb?boeiZv^!K*ii68qy_5jI; z{{>W_B2?ch+?%-t<$FbVNz-6p1rUVFN^nH*u~kI<^NZe})d#src>Y*!U1G_kJcVX1 zfWD^SFUO35qo~b81ZSC~f80a1)Qo#K4Cf77v4IoG`-2BiKKX0)z#{<_z;fCPC%-h>L~8#maCX6`3M{7U}_cJ za!dSnGwawiZj#cBHpbGeaX1Y9`Og4mQpVI9=>tj{d)n6?NqII=M$u}+s4s=E9c+ly zvy?pEO+e#HDjp!NL;q2+<$&N!d} zy4d>a{d$*$nF`)Am^7HY?o>lcBBrF8k^XXyqG-q2Vxwhb9OA2~?6ArTErmSLw1UIK z!@xD6!MM-4tTxefRkT&st#!(gM3`4B4qfJ|Sl<+_5U7j?L65K%tvdF zzBS=Sxs?ST6l-# zu}@Zq%J`7XW8eQtR%;&+1FF5+*}u)Uo}SOG>wL945p36*$54W}Ozur20U8$koIDi2z_g1nl)caG^e=6#CNBdQ{;>fmLT z|8c$fxX7HkuC)FEhY&!-{$}Zf??~fFgS`)Q)T#etq(a~0qcT#beGn-Vxs&_H+{=}H zWKa%?cE*~oE$%M$PF)O>8sSg)C}sJions(?s3M&S<17p?gvLHA)IJqh#CO`;4r&7Z z6|o*~BD6JjXMVK!H_#*25HDFGMMmiAgd$>HmI5wPVVWpxIGEF!^ZPa za!uzRsMKn&_}jK+JY&HnsB_acY)c2J2B{kN*2*~a_rl-o4#FPu9=9pUN(xOaY4Wy& z{nmX5E(@1z^!?_Y<*lns)~P10B0dpwir}qin){PGKk5kWI4_n)o5@0$Wd<`&%&y0} zN1M4BP6P)f{k#uN&@HPqtu^gfGA84Lx2^K1zzEFWl#%({)GY99YC754Vc5+m@+F#nUUvh1l1?q@ttW9n)d=ZmiQO=@s=6p7d_i`;S@~6 zNCg5^(5kKr^2XT08Q)1Z{}D?LutlF^>(MQJm^?E}j2j-5f|+yWobLNk>iQ2^2y^W+ z#E4X%G-JH(M5XL$j$%P?bq~Vu^8B>ofS#`0h2{(R#&rPiR?CbN&UAOhwg&Gk#SSzn z8~ueB&QyQYe*pUt^<#n(!j`siqEy1s|2#w20{9u@K9T#wTC)oGg8)}TeTZ;P>x`*r(y*DGi0~aBz{<6_EXZF&(R4V%V7?J){fufTIcw*6B&K3M~RkuUSEj=AQE~_JW zV?yUQ9;e3+d?k>_rwo2$Qs@kl=hje(w!OKSELhzcf}uM$_y+E~hT-1^9SszI*?2pt-ghtd{1pV#}N3n_mrW zXz;g2WL&LBj**wfmd2=4jVpT_doKk@{9OHdn)~#3I$YmBphAfQb}I8wR2m&C8Xs#J zqOUYYQDw~IVYqJC{)2H}3nZsXlo0f_KRL_>VuvCk(J8X!XUQGf<7oAVk2Qt<>Iiz{V$s2<{E^dAi^SbJ)L*W>MVPmde4l8ho-X8QO(B%ld*I&HF$3@025`Q#Q4M?!PbEV8nOYG90U)ijz(cFUMpo$rDnf9ovT%>^zCVU4*0 z6t#3w8Uj_y4)LC%Kd?ol=_sI^)L9f8S1WhkZpucOf>n)DX3gDic*$75Q28 z`m)D`*G0Xy#Faz@b&LN1eILUZY{$fRYp~2-YXu$|AwjHl#xs?ywRnF;mb*2B>Rl69Sc;OFp035Cb<|g z9|9eOmB|FTK+z;CiC2`=%g@9sRo;m7%vMsjPFwM4PKgmrD3HxWxexwU z9*zi#{QbJJtNABNgO{*MOf`tLVSA)TXi+KZ3QiM>*8$Uz8;Upf>m9M#_O$wcEgfs6 zzhId65c-Pq(er)r3;ImfLb=>mn+H~5Ht2R~DB|M0eK9vBXXAr}BEZb0 z?*mXsVTB@>mvp+JkYW2~`=*B=+W2}v1+OSg&6CosJGpn4V=;S%ES+TL>szeCIqG+utH0z??wqBRH`9y5Xdyll`S=<_)X-}0{ ziYDJ>qIa^F)I&PYfrcZrpSs0*^g*(;{(9nu?bOJD4-q`ez5^Na#1&=8$|=WdysmD` z({<#d7m@_Pl;|i7$OiNJ2>5UiSF(2n`7 z^X<7YhUUx+@qu-lSvj`+jV4ChfYW}?OjyLqh=8C~VRI4ihdRH0S!8q^&PfaQYGLIm`my@)%rL)`E$d#0Ou;63 znk}@6$a_TlIzreT?uUV!*E`#|+(@|mV~X)(#QhwIBN)`$`KIzw z`s08crO=1pA+pE9#j-RGjnuVsdlDuPZM@FGDV_lqQ((n>l6A{`B+F zH-U54ah-4WMlbt*PA$+={10p#A>Q+YvB!5o6OmS~wUMU?AH?@r(h~`lhbY@^e3#Dw(2-lYA8ezD|6P{ zPFr&~+$YKh1`dtUySx}!gSfgpeGKD-IFC|A4O-SVC|xBdwL7;x*JY0o8_c?+<(c}_ z>jWp0>LkOBRDKPleO6CA-!)+~ALAD4VeLnY;9E?%H_{QUZhVfZdJLvL+O>%HR5 zzV`gx`gNftMWapg9ZGr1q4DuhF#lmr`$O1w ze&MciH3fWJ%qnlaVx3}qj&)q_0mTV7Rd>~YBGqo*WP4kXEu;Eyp=6U#Q=F3B(NxNU zlBO2e3_NxHl3$^z#txiJLtD_DNv+i7c z=Np#&XdPz_`kU3kNvMb^H?0y~$?=z>?N*oRo&k3$oMq5jtK>9d0s#!?q$>NF*Ykg3)1aX0_g{&FO(^Ah--^UlUKL)U=`Tbe_MIID ztKd=gUokdQlLba!CC61Q#{H-pf$p9~xX)t#)f2It8Xuf2dTo2@O~sVWN*fvR^owsi zPYK9;b?JG*(q%C?c3G5^Wb&W5mN=K707f31xgB|D^gkGN{*Nc?C+i2-fZl|q-$uhm zJ&W3Z`B#6Ydt2^3K|ZU|k;bFl6C05j#X~+neS7-G_WQh0ZnK&YCG?(AqB}xz2pz?t zw-haOYErA(+AKU+OVQ0*$dD^?y(zhJNzzAg+aA7^I zI{9Z3am;$nKTm(2dVYcax`wDd45 z6eR+y4+>vV3RS^BXj|s!$Y_a~uov5!-tTWIr6!xDy{oZfC9DUfOmnxG!^&rf%^ z3LCY$uyov0R&NlBxV7p`>n0F{2_|7MKj)^mqAD~tm+>v<88Mf#=Lpq){9N>5@K(A$ zZD~|<%;y;zfA|W^#o((J(x@I=@9b>v%tY{A4>7A@H@B7h<5L0Bka?N^TeIx35A%}oX@;X(#+hiW4Qfs+52ouD%_e3+%g#3B0{Toar-4wE}+ z?o-PFR{pex!t0fkGN0@?2t)l<@(2|Lt?6BAE2TF^t0gFeDKaqCoTd z(epezHz!yBtHoBy&GaG|Z~uMUnUyc=>EF)0+)d!@_0Zl>b8nr^64YIYOZXdqbv0@) zA?N?mbe3&#bxoMYlF4nc#v1xs*ucMYzMhA{oSGjo2y z`Eag%s%qE0maxCQ|C;Mtk!ZoAe~&jO03DeCU#piI9V|;MyehOPv`Eheqe)bmRh3nR z7YhbUk-=U86nj=Kmw-z^*5!m#v69zBU(%Vca0}mBe;=?~_5e#4=Ll=Ge(_(lkG^fb zbsHQ?+gB24e-AW=@nGA*Ak0zq!e#e+qR&EQE>dYp)`2Noz@XX1i2F2DAtgyi2c?!8 z%vL5_5C6#yY8G6}^(TvA%ghYRAVm0p5PjCh3nTaY13F?=*TnE7G_cVt35IXDs$AuD+jMhgQ;Jb*bOM6$iszMs9s;sXZ$MV6(w9kOIh?Rt|T+ZD)$|TId#qH z`ob2Bw#ak^^WsPN3d9G{gp0EmT5>h~cx!%ZK5lsBcNJ(}$3m!2*nPoU=AY%qa@mm< z{_=Sc;(2>_aQqK4`)z`Hk~&rvy!n-g>jaNlKOPj8{?WJ(`4VINh?k$JGEq`ve3_b( zQU!&gA(35~ch|DuE26C&no_X<_q;+=A~L`NXzZ+&+gAK_x^c%0tiNV33FwI~|OEumDoZ>X-yl$q&qEJ<_@|Jh6k?O*aF|BR z@X6ateuAvn0WsBN9MGNwPCj){KQ7W@-#BiMQP9Vra&-V7=^r7I;U{nscbwo*t`x9D zzjbg8Uf%7j2l+tTgOIk-+z*?t$(SgKvSVonGf#4JH}u)#~6uTw(?Z0f_GCUML;j znvdqg)mD`syUQEyzTkexkc)qFtCr!ZCXb#zZ83DYa|O5UW$vZXNN(UenFy=`e`b+uw(_U-51;L6dqWak!d4WOl5 z)8UNj8uuD^2Z_L8BHT`r3eU5}t*j|YWF5VLgsqxmQY-XdZ9bfag^BhDQk)i}fm~z6 zz^ZuJUdIlTa@pEavIfu1Y3B)>NQ}F+_xrr&qGsHB2nR+F*PGYl>*-F9*s8(kA;4@% z7<)~^Rj&A5kJy0tMOnpmBX$>(R7u^iJqRIJIJ99?#{8IFv8fRqtX$~eLQ?1j=#z~H zH78hB=@AT#!wT1X>&e8+Hn_XTfTe3#v-1&U@P6I%u-dT23{|q5fkIuT4rz_LM zadSnsNmnIWWsNm9#eme83R?7;aRgoRC>O74W%2?s6QiIuj}#A0OV>3k)z>XI7Kox} zXk+~~eYr?Gjf=7iYAj*Fc#+_wS7NsAY{T4hG;tpBTI|JOKEl^nDm=|wA15BEu~H(kd=AQU)YR%J?oEDIto+*Z}eNS+I zT!$YT(Hqg3(%S#h!Q#Q^8hx0hmML#}V>w1ShE5Gr)x%lI;*&QpA1EpCO{^L^@;mbN zpfIPNVFtd=BA+lHnFfZOwY`^jg&T({q?5!L5!=7^e+`(53~XL0f6%Uqfk9ZxJW(-t z**}~solm&S1wXCI#aP@Pq!MKXpOtFT9D_6=HTN|JwdEg)w=}M1{gC0{xVA@(I6Qx| zN0C8SIZTXMLV`y}x8c0Mvqq00sI)t-rzUYh z^=YLQp6(y-tnLmhuuxThawmCBvQDtZ$l}Y#<;x0L8p=PjBOS8fVshyHLy1F`m!1)( zp*>Qho$>oUPMest570Im!O{-`MA&2V?o$`dIK)3>@irZ`+4c#e2dS#oFF1r)@sJ-| zX(KoaH~Zo!<$ainQ-ph>fphvdK@fI*vihR*qO?c+bJMmV%8^H!_y^kLF=sAJoxp9I zPoj@{LsSvZRLHeYqYKt+>+BBZGJluL-i!X6C#<_9t%&YvdfT^*Cm>zT9Ge7&fL>ZW zo0;lwC)9N$M*+5d{$zGaQw-cq-T2dre-PxEMpPTxKJ3?|4aR`j(3F<`H8WEg{(mX= zjHpwkX9|2^a^TZQf`JdSDce47T&*RU4H;eSyF?%doHIQe>fdA`c8~lZ1hdX{PblJy#lB&LAgW)5(0RBcxD^Y|em-mv|FwPueW1fQF49@I3A>|ajcAVv zg=>y<{HtUWHV|HHNO)=SkvfSTe16%L9XBJKyR_%;0SK`YkMWms#TJ(exl4b}AaK;Xz3m!@3d7-3FD z^2I1nqB}JW?%L(92MtR>8}SJyZBL3unx;4)4yloHUp@NTd-@^9gfO#G^d zA#{xDJ?%Q(g+B z5-CmNo*?oD& zlEy`5CO6ax=x3=h3~MWdDl%B@(<<1dCli{Iw|5fDNJt^SJLj6!Psei+5`&++%~>2Q zVPUIu@#*5z_HX34NoXdl0ASqOy1tONnCB))$lEAE1;YD7&5GP2=f2JEXy|B|CO9R@%TLOu zJPPdm*Y&T9-1geFQJZx&MTX4Lb|(64T;nPc34MW8bLBS4L5u@zg}>$fS^KkgLjw7H z?V?Qf=D#ApGC!MAn0beuK$Mn3e18fMHc=~m;X>V8j$BonhI!V^jOoFxQaRCaph`}? zKiPrS25=;bo@>hXGqi{4qF2>E2-MP*NJy+Jk5{nhbW3zoxAa!A^i>v;fJm9J3*{~6 zEN3Y8!R@aOJvQ(+@-t=hOCJbGnF*x&&(0GIl|gM;3(&h#qxh=Ji}S_vMH!Echjt+o z(yPy0e-b%_BZ#m?O3Dik z`H*P~ta#SbryZnyB(pQrjIiQc|Gz90BRR(?#W>?$ENsEn`9NpR(Jz;l(3eP}ae$xf zFj*A^O%jj;LX`w0Br>WklV3Am^;(c8I;f;B-HzN?U%i3--ci)}K4V6MMx|O74uT%? z^$8uCdkRYW5jX0c?3+UVTNcMRcJvoe3M3lyM96A-by3o?B{?G@wP05{|MK!x4@#w1u`7GWA<bUTEX9gS`V2)sB=$s?ZNwbP93-g?L{9ba2|oL5C+XOJ>U|xgda|1I<3D zmGlUKB#I%inKj)5upSqhAtM$&f`A>tz476anNKn$hW8q2t-sa6J1dh^NoO`G>6?3( zIv5XCfU(Gf)|?0lNlW=zXqA$5-YG$oh`brcrH50fLi0=hp^6B3!eIO|~&Ny*C zbACm4>bERS!VX=lT!(wclvjx%adWYEQ3?%ZIW_M@<6yQ?QM`A#L%aK?5sfuBdFf?J zj+?SKe$ioj2S!PyUnUeopa@;UkNdA!~IYjvxkEile9d-HdahN&7 z_19C#DWro$`ls&LLq3VgBg93`JCTrGZ_jsH$5GozJdC0!k$_^}I9Jk$ps;4h1*~^F z>o)n}2=ykJR51(Z!R77=qVSclf9KOJWWf=kos?1kk6=LZ);R_y5qt`UzjT;-`)!oO zt=#Fi99eT5F;N8OLQBUg$pn0i8D zOHxNtVxlkwb~(VJkcr%J#aKm_LC(e4j2?~c|8}K-rq>U#;U(e-HA2mTFRep zVxwGqu182ZU4uGkBo7dfEFxJ1G<%oRl0QkP%C+*;a@XQ4Z&L?Mo3Uf-vpFj46^vjk zB}VykErM^HG8Id(#Zpm{5?jgjo&6F?JEWtwB)2h8cVy^BL_k+J7n6?xdYh$4EQVz`T=JQex==W zcY3=nEXF}Oow1#<7|+-HfWI;QjX_WxgKwEpyqH~&V~;VE;y$;KiPh#!|EBt;3f;(B zsGX@DIW%Jp{U>p*d6G9>yW37S%zFT)2^K6k?gV=egAbvGZzLKi8l04r84bol#8}_U z`k8;92Y9;;qdz^k`gI%^AzZA-bl1?fSg}Qx@g4zkA5DKaRy*d7H_R|D@FYI+^H#eG z);pQ8hkc&3Sj!}zY1IM0+2*hxheTN=diOOQ_=9Iq? z8Ob`L3~tAa2}mGszwg*UZd`(H;Pbo;KV2xEj6`-TC3)2U;E)W^(vxQsVuXG#E+I(x zt3O;ePmVve@b72x@AUpvohh9u;_ZF4<_v`2{ITEN_}ut#mcp?N)sonm%CA z1-9b!P>~>v&{6nekn)9rLmWA>4JC&ASX1?1>I~Hk)ndCOvEq-o|`5%G9 zf56JeP)&Fg1FTFwcRt+rx152*Ul@262L7U_F{bB{7m;uK9asq2wLc|(*Xxohw9%qx zbpF~vq3Xs?+_XTc5nRemC(}rIm|u?6V0WPlkYKXmBuN>Gf$z+J0XX7l#%jd=y%%wf z{=|XI3e9QeZP+@TCb#e~A+>La;|?dZJ=Q;7-@(gE75VBs)zGA%@Xb@2gI3^vKa<)M z-E^O$ouiFe_xaWngNu=ZWL;pF=O047;P{yuF3gaI?Yq=Z!U(4-!$bq5L_djs`s?2T zNrEJ8%MSknyY|^f;3OZBP94t7M7>dwmxc^k?c^*lR%*Vy6b`NaOY%$i(%@JI?-BPBaGk20s@(ffK)2gHLyqg# zU#pd&b|UlV@J7^H3u#esKycu$@Vd{PDw`Q*XM~+{AL(7*IJHxLqqxqR0o|11ZKnTY z*luwysI}d{(C*E{Uc)}Q{U2-A%)OU8@>Z?N9NnQS_?6jv{D#Y1B$AC_?b3*ox5j#) zhwOV`QQ$1kG?87xy-59~o(`sF+tGbB?dt@x@VQXmU9x&PazEe0w+A-w4 z;@z%yfLgX%Hh%0fq3YAnHDg?{ydSidfAQQ1HWJ4i38yc=Sle3LVqL~5tELQ_laYtd zPq)>JIK=E!U4xId^guu|Ld}14eqlFN`{Dmo*04^S1`4`ei6`0bY@H;@7c|n6b2QYT zk_v^_KR$LP{9VNOtwSn@x%2>Yv``w~TLZldOdMxy8yz%m%~LuHZ+oVptE~&E(}hve zKqy5&J=>Q9;W1qlbR2gaYctI-?$Y5taPCHfrpq5xFE*DW+e{BY$7NG^%RyHrM`uZ8>^YD+-BoZAs51~Oem;CYEP^4+ zGz^518tQF8@r3^1RD{*PfOnQMd|@?BE&?lFDX|b{9DbFACG6+0F1rTwS~&4wFEn)z zLk(oD8o>+H8P5xU;ts33s=LOl37fw2gc36_^Kd1{fKjR`KhhfB2hF8LidOE7>!_G&ONLgb+Aw@R=Q|9F@NMU438&kimqMN=pUy2`4BZt))x zgDiXgX}{{cF1cpq70&7h`(ntm&7|7-L8%9>9?EN2JH(tBxlDOG?aldo>Ad4WXha2v>EY8Lbmll^6LpjO3D&7RaZ7B@XVgc*XuImF_9}l` zx&V-dbBhu#&GMWn1uv7nd&sqQ)SC5;tz9i9h015IcbmGyOws1~#fA%NTioHgXlzv* zbxJKXjp0#c%kU`)xsWn;$vmZiX+#lt3FH|$SYkblV*w%36AUEz(elv>=s+`FKd=yV zN`}jaV*?y2b1HM5c}bLnuy(PwRyZaj!HUDfCq*Yki%f=^SbAt#xWh?20UYgNZ;KL# ze0vfD#*4;KaL|lDX3FdU;w!-`!F0;)`}5EH5}a3o-M~MAdNsf1Vd9kdjGXc5So0Rb z54=_u=&_flQ!$;PQx9V&9wL`7rE)FDKygBSyZ@*Ma}~L?yi72rV@B9^(7oFgRCVsE zpzoT{e@5UTw8E{dJ9I6)11t=cldpZ1IsPKPsei;$rPUcfYLwl9i#}6|O{lv<``77{ zV#I03Z}(oe-YT70Olx5(t<4d3TYC&6ZUFX$W$tp`^5Ba!ce%A{)uNf(R5_~yTD{n8 z{HJ$!Ww(q@r9releJqA@_!9VLR54@?{w%|hL~6Q6iAtJdpNqEk^^W!Ei@*@5?#7yJ z7@(3pQTVv&nIKZNrka97W@b<%Mp#k)pnS2qjPRGchhbW}P)A0qT}DUIs#W}eY>$j; zX19jLJEa?=Sf5YD!LWW%eD}n@h<^ z{TM;de`o{Hq8#OhZkejmyvFBjiJsLzUq$-hUkH#*F~p17Db6jJ0TUxTRzx$&hry-}kiL)}2JqH?F7@tpUR6kI#BbrtW z;Zf|XLjF3KO5KHVA*NN`+v3vg0_DKZ;v+`5vWGcIJaI-Nn9yJImW3#v1sWqtoiUIBAta>lD z706Ro2&2h&blCf#UG!A)X%Fh-;EQAT`n^+=cLTP53hZpZx7v(rk9Z9CZUT?f1_ozQxI&)?BN~ttMA>-=>QVXvF*W2iQxO z`BdpC+B@UNj8Z!)bYg41I668SGXWC^d6{-1|Cp+8&Rg@HCk_w;OkrslNE}btrCKwA zI+GNclNP8mm+gj~hB{1{hGtg?>?xnfWchRMF@O{nL`SXZYv0nGfF#38xX)k)UJCQ zae%hUl4`Gii|zxkTCh9E>Pfi;z<9Q>CM!PK-ZzV1#JfOKfg;Y7GxgpeekDh`CCyS} z=2&#H#5fx2RTkHiijNcnjlRvk?xy5t{SGBly3i6Y)7|BV$^#~#m?3%)N{?tfZlK=c zbgdrc2jd?k5#53Z-O+K-Q1&%SB=;3~(LG9m`FFI)F&X8cyvZ zw>grhH6zmPy~>TQMP1gD37)KH8Z!-%b0ioN(RmD?Ls;C~Iz`~rQOqQH@MLVB6dQNV ze}b5%`0vP9Zu-eYKCuQpUrBCjM0$t9 zzv3bOK~-sC_=SNyXSg#{w}v@E(j-Wex9*782jG%Wj+$nISp5gOoAzg)=2y&5iocn# zLmb&vf<}19*Sj+Gp%s>cPwP*H2S8KBf5KJDdDY@o;%7O6${*;uaaUeY?;ovh-ws~? zDTm$xq#}cZh=r$L3Lw22NUj+_1Gk>Go=mFW1$mzkY2aU3!>4zJ=bg*8s~4}wT<Salu%b&deA=?blzN?u8 zxhaT6-Xa|X2lN1H7(R%?O!MhrI@qXTTQQXnv!cy@w%t>;9~vxae8Q%cgz)-agV8C< z^!G^cH7o4#_F7n`CDqWs2K1<1l7R$gEICr0f71E zF$!aFoClg0cp3uNHrF-{s)O_%`!^Am&kEx?rlaMClt+qpg?b1E_*4H!>F8ANV?Vk} z7iy`1S@&IVTy%WHNPk-5B>Ap!^2963COVbDia?q*ZEB{UhzOSgu`)IipZ~BQcOz0C zoD|fol5FO`Lm@y*_v#T9K^N$0G+d)4)FyA5*i)zzs*l&I z@ooOC$zU+9TGm*LPRbkmV+yK}zP&pcTMhT#yL`g-j%p+A$uRe*SRnGF8R`sLx_*s{#;2-LnJ!_^;-2pjq^CP>OhXL;LVg}x;lu8R$(JNF7KGtJxEITPt|GF(Ot!G zRxIFyod~5XvVsHEEK$-tO&lmtFZiS8dRgnmnPrB4wc0S%zMeuohBkv(!U#yGOeY5N zdHzLZUpho@vdV+}BUdpKo6dAge4~Kl=`>SoQB(Fr|n`U}2>; z|H{lDnvRp0$1~s;Mbf(6;-fv}-sIgFH;kmpTHu4paaNRC`wr5v&c2K$B$GoR{Z91F zS@*|Cjx?p;2oJ(Vz=@#(;VTLqK7aYJDd%KPed+HMj&MHZ8P^3>2N^L?@DB@;tQp+# z)XDzI@paTt=gCMJPV}b2kY~gNcLBm}4rYlfr8Og8QV~mL{xi8)r$<99Uvyt|1IhYe zsMHlh>lx0U2oLFg0s4t#NuHKttJpxC%zg&X1nZ1Ef^ICe|4XR<$BxrvuQ^TYkCRxeG^02a%H@(wZTW;?mWxBSX3ulLQj$6{Gz z6I!y@{=leWj#dCYgBEH_-4T>2Pk9S2nEzOsfPH*@G{if^EB1;p<|>j`enLibeKU0P zGEirQ$ozsef{|GGVN@-p-~lqqq;UWwE}d2=pk6ZV-Ze93+4IeZhk1yDRQ`mQ`*@O> zXF}Vp*fN$!E@LRfcO70NG~ol7O*Ib<+ZCg@0C)pSmOT|t=NHO5NaS|7_z8Ua950c* z!o@Spl3ci&QH|&mB$X>>62KEeZMTS4VV3CGfFz|jggAs4+0|*=Po3?iwRO$g=jfgY zx=b6d(yOt703z&WJTr|IvDa{Qnj z9#&>Q%Ax|p}Y94MG9)t-}{06z+ADSAP>cJ!ccuIWcs72dCErDHeiGz-U^lG?3n1(Lz zRstU$-u%p{fW)~oJ!?v9O3xxZTdN(ommV^qksny=Fv0-Mc<({S9KPWkumjgA)8-s- zIr5D28#B>pWM-B4A9_4a}4Fp@6{v+1%gsO0Q&nN8ZkS2!A_B#?O-EP=81O5P;!f zTo&HR|8oBs6#>wm`6N9_OtXA9im;xdC z0#%Tn3d7{STz$EEb-up;?OSjeU~m9r5CendYzXvdB2)eXXR1pq8C^1IN_RuS+2O84 z$L!0JP?n|vgu}eOpydu0m>k@`9mNnRVOHqfSsV~GY#6>Yy zc*!RER-#>l$R;E(?CftR4{|KtB(9da4P%J`cw*`zh49F%B3sC9N?%33ev|mRBVtVs zhgpT`pkAhd`TKA0+2sT%3*pqG9%hyZrIvc!T7DY<9`ylKA`K=qx3#qqoE2P%9g1n! zG%ljw!WSaWjtXf`3C-f1&vAQMT~;jXUm~_fI%brom!`Ma+7$A_V_}Se)=2G`&=2S> zkRI5&ijq?C>E(GCf^&)L)Tn-`D;xt=@-c1eU5fS)t$7H~qi9(LE|2_yC9o#sN26Er z`X6a;GTfTn+)C%R_ahlS0Stg5P8LC0L0KBA0&Bie2P!#>W1N!o7>tK3Ikm4Huqd2> z(DU!XS2A+Lj67rJA^>a!=Nx%zZlUz9rK$6RRnzLA;tx>VVe*7PK)28U46Hb+O~|Xf z&+`s1wpXnLy_k0>pFHtFEWx!|G5529Mvo9Sg=B!Qi-YKnm^u{Gw*^gxniqY6KwZJN zK4$P8La(KWK6ap zA_df9(HW;xBZ9+8i6@`8oU{C)jYqGFR<)nmU_0^?Dt8?0XEDI8#u5 z1f@Vc?mcdOMsh4P!V85iTDF+|>WqHs?OI6A%h^(A*Y9*K!VBh4nL6qI4he~xzxjS) zd~Q4-=%4#q_-fXIyiXTsS)2HY42Kk6Vh-m5*}6JTyUK-ZM%n1rhwaO&-D!w%-wX5i zbIFIok7OqTn*qN9q^jS)J-0o#6(9gUVQ)kLGQ%hiMQB)-btw!-qFiW5qB?b4?Og4Y zaN}tS=n0^uFj-={&I{ni4WWEBIb_@ir4GiYkLwH?ZFd!XDSS?T)~JLP0m~4#ZGag^ z`IDWWK-eXX7yL?Kx(dk3{NEwWE$HVs0{SC45SYFPgM6S4j5ZHJ1QK`fhDW1K?ecQJ z+B`rz4ePR}a;-fVfs5Up*;D>gepZN}6KWPAhlGX7G23yiB3vjYfS53WL-bkomb8~2 zG1qL_KC7GCZ`uC3EF`0ZLj#R)}DdvF%gKngz z+p?l0C?Y6@TUIO9Ay<}_ku7v|Fl#g4)^?Oj-PVQ*g905UU*L0uR=#w93a4Byg6+HQ z`@tQD2Xb18BFzs?2W$7Nw3W^!oh6+^E&=#m@;IDtIELWl`4UGwcp`5+^OgRgfG=Mj z?H(!DUd)*P7~Tjf6IE1~Lw9xciFubZeEQTM72a0J~KW0^r>V$XFWrNN>CGX+{id&g(Zahbkkr)h)ijq=2OJq$icF^ zNZbRs3=VM0u88*Qi~reOqx6D`b7|p^-e1we!d%xoZ{bIDx2HkHhM6C8J`%)MzpIh3 z<-Qm5KBWIkPr$SIEp-*u^b(JRP`5iYHs~d-em2EmFIPg!7L1!0Hd~lNwH&cF7em&wK5K*?u zs1bU*#1N_ac9CVO@O0jB8&rZmOeOhcEM0Ghkt%GqGQ?7_R-SnHVLrEXYEF^1(ZG^J zg8@vymc`5}|0y#)k(yox75CvG#Dib^(}eBa`ku!86~$`Vr7L$6chi}NPWuoPrMC4f zuQI~boR{HC4~bXff=?*?pGBcu5$@7~Fs=|1?pDw>uujXaXhO5p%ltp3wt!D))R3|1 zDSw#m^5;L?e@6)nte=b&_XLlLj)E`eNKeA)1gur-Uh&G1kv(i|q9fb3SWJ5yoGz`vhiY7(=dm7caG548_YV$=MA zNxtd6I&28pV3<^V@7lgMNMr@<7X$e(G=w~P;fk3VK%h-`>_@|*0D7TYd3 zuIe+ZxT~5-&tm<;3r_&jl-|^rGYyS_*)^w18^TC8w(!(~x3jmj8^sipokGwfXlGPr z!zM81p7_-#^d0$Q!q&5$J~; zRN|5SKgN^p$Qe0hz;rtaJVwGtbwWC9<#>g&d;4JN7~=G&IR!z+Y0$L5J=onA{aZ2! z>0h^&lJdLvQCJpEI*Vja-LS$TMb6BKgna3ZcP-WXl4p>twX+2^}?PC*avX?Rg$ zo?9?61o#5>C-cf49$xU<7Xh@6F$%IJ)O~)ldedT~4vlsA92S>&HT(;p@K=n)@*dd} z)$PjT3eTqx_ZC3Yg8lGUM)0qvy_P-h)9R$iPDcr0{XkEOSmQ;xP=R1UG=!grjh~I+ z%sInV(@9ATBuYO<5sZ04NL8f(cVIdNl8+4?H&rC6UY-vgQw(X^Mr_O>2#i5KwNf6N;*nTy&yRH~tZjzY`nle79Sa@J z8o{(55=nyxE8jFAa-z;JOh;Q9GIt z#i{}4#=6G3TM{s*!-8g3cIhmcb->XHKm(Sfb40bZFyr{e$E15!byn53gKp~? zz2~$x-+g?a51r$~AQ0Vega94=9AAy%Cjk}6`**2YgS*Qlri{G;?n|@dASP75JS5x! z)Ik;w??}%WPh^^}gD=bSRcIuJsNP^~SRoCb9A$>&I?T5%4VF?Zsqt8x`l!~}RwWcw zFqZ;3g`}58T)(MG&ss8~IhV|e0pdWR{K=p60R@3=pwdJoGdxb>PEq(QMpS@#w@o)4 zJoRukkXxOFOA?2lXsthtRZec?3}=>liJ4S{GbPNQ*qx>$CvHcn6Rx=EHXIU87)Oz` z+ekollnMJuHp{PXy&S7i|Xh_pUEr{3%s>>K49#oj);My9o3=F1|QI%dtGO|dlaf$!`A|D7^+0Oa#q~6 zL9UaqkV4r~Q02nQ=G3>EyoAn7N22MV97mzNW3Q7^v}@z=9~QgseWT)mP&JYYxkgZ+ z0oyXHhTxYPQ5Vr3;n@pC6Hk*CDjgdYe~zvuRBw5CChajO%I_-QM}yFslhhSgIy7gI z#3?6JC+$b1ZsciE=Hm0jyKlB{*6?pSYn!`w`RqD*M;X%)$M|r*G*j_hH~BdrV=0n} z-y_W>ran?OrM=-RrQRtEWWoo06nGJ6Tw@V7D2oW41APWl$JJOkIyka~tN`483Yz5p z{=He9Q=Fco9(<%NF_Y);)w z-Q*9ayIV~mSs|cq3?f`7=LPxW$jS$kG37tIc$sv*i_uVkgMWJCPf z5PV1w+5c<3TTJoJFq-7_zbn#`r2G^MJCe-!zP;Y!Yx#3)1XOq+!{I%27s@L)qeG@E zjr=A3J~~`ejNEHIdMb0?6+LJyAcQU&*)^tty=J*)dE8p3QK~s87@qNuIDn4-YFlP1 zK5{;%jK4-_l_b1aIHfx&BQc(48fB^s(wl*X2Zsj7GGNe`^NBduud%YDnO&o$0IvEg{lp~c$=o*)VvWIsZ61mr`3W6A+h zo2W}v5670>rl6RAKmYxGZxAzc>toZ5jn^g(t^kl>7!d!3Mz2;lee`b|9q`W`um8>< zN}|n>Ck$s1ie_B{0@B5*)XkOzf?EY~WSQb*5ShX#v|wo9LzHt7%;rMfp0F&1ExV+E z4+P%Wvm%E;*pdSg*ev>Z^SJX0zFiSOi1OFTP)Bw+m-IziOD=`OEOByt)tF`-%;W3Z ziGnQgGY=ASpqiYioc$aELRH+w^C$!!Rci|L6@6Y$$ThcQK;k_GD|eEZdMSwYF7W8h zm$X&vn%1hCLlsD+JFMH%)7W$SIXNk}@J4ytI9I zb-Lwe8=J|A>=q(v?bo(n0GCo>lCJe^>q({zpz~*9^Qc1@a(Pl}!lK5|J9Z5UQoq)_ z(tGifpn(^0c@S^U4bS{O#7=G4MnC>Ab$kcsHW7Ej?37|xCDwtKwCF2{%8LL} z=@&E__{R$uS>$Y8uAp+71ve2)Nevf>`73rdw^gnq2!)pwgT0%mm@=6u7x0JH9?nI;dBB);NxiF1 z#(0CeNM?ciPZg*=WcpH^fHedKt63r>VQhGl|NiD$tvw{4KpGN6v$n?;mGv?^s=5&;sE_#5;;E2hghlE!8#Hg{3- zm^Qd{_7}1v)1lWI{LE7}VusN>H4dy;@IPVS_S}oXy5`{(G}@Tg%EJiA@ehOwgeb_P zuBnbGd}vEu0-7t5P5A(He`sYrO87IKxKiL!@=d>CB0QGAwEWnQ@u`ixjxLkW!>aPy zl)HdS3@Y1u8K5(UX+>{suL%QKbO?2^?4Y#HVEBxhS4>!tU2vLwLgr%*R4Nz)xzc{r zeuS_p6bj@1G`Yo0G&S>$JJtNppj)q#I==B&=ABGPOcRM-J|%0^l-5h(GI`Q7KNJ5w zO2*33twgX<&#IWl9aOX;qeD}D8&S*I@{7a5l85lb(lU7f?Sn6b{ylL+xWkJNCG|t+ zJnD?ZEAg*r`7ql6Zw{ErvVp1ksm3Y$56qT`NW{6sR!kGKnGf~Nbw9Kyj8O%MGO1A& zind5nDn@QFuRB(}zl87>8Ntu-wD-tV6xNZq8{n(497#DR<9gI+sf!k`*aL0lAN?EG zVOn%y=gYNkA|jn;AD14TKE#d0)oV#fheW3A{2u@1*3OLpd?7o z?Uocc#26Z|HAZft(LtIdQo&)#lF$k{7y)V>y~6%Z(=5zH$05@3+v3=B=SC)>sPhx9()`*|Qct6VY(9TcfoKu`rDiye*0d~*p!)6KP zF@3KopLIXo{d5B$K{9lK4^v}PWBojU8xoM%2H^pT$O!XtQ@qk3EyDwty#nyWaH`Pw z8qLo3pWG|mE2~xL0SDeq9iBS8ua6lX=cL|Bz12e8B>vi@b>1Q9u za{*X<(CNX(c~nKlM@lmV?mjmYu3Qe|b+LXTnP^!bc>rmGvWG#Mm?p$a;0_bo@|4Ii zc$-pV1-_I(WCRD0Q9lw9>Ih+PP5v`EEIBNjg%ERe9rG~ruoj>qn3_2DkO#o=2Pm>z zRs9Fhm~mVRGx_)?)o5$(MU0^GNeZv3?Uu+to1Dq^6t)(5MO@Br&HUZeFQinhR7G5}lS&R1VDH>G(hBpNUVQ`1a5L35Kb;iE^3)sA`hS#z%V>W zYMnv!K8iK4d}8k@>KWqmD$#qDuDzA1#9pQL__3*%m?*40~v4(VlV=k9nvF8%yv$6POMa* zHw?y#WU2YnZ6HCIrA`zefVGv#0mclYF&H`CeaL;NT4hN~S{N-cw3aa3ggG~clN}$X zhopy8tE}M#lRYx&gSIGu7hUPhy_tJO2j~z(GqgehT4EAh?I%JYaI%FB4L5;thOq*B zb)X-yoXowBQNLBc73R{nN(ueBbkZV=#h-1?BK;7ztn@ zIZZ&25Pf@eg8`8dMa_xUiKP+`B@xuf&OLaS^n1e_(sg9!g3JZ=I;b!>E<-11Uuj?Y zXm8dZYSth=-avGsN=B(=eHzR_<3!rRiuF%bSE?&pP9xgNU1KsAW-e@)A5ymzjRZc1 zpxktM@{!~t{y7ZrbjKJs@8-oT`;Bp&aa^I$U*zOJ@N@tqX^M=dX1F3{cX*1_M}0F&J}+&8M#=qv&#KtYm-l$^SPvih<#T|x1M<0w)#{xtq97W=c*cn$&L zCKN7*G!i4R{si}7_u*=l0UG2u6#hpRSv=o>wGnNd@MZej`rCy9ia0KZc_xRHk)nGb zD!Ib!vrBz?02L$S{;d%HN@=q31BV-6%a6>ofYwK%^^)E9P8Vid>1$}_fy%J!^>agSr zgHwRZVnT{U6*-oMB?hP|!S^)rk1wOo4(oT3(j#e#0x%If-@3rMpj6@%dATvkm{cgh zpE!_|H-NVw@&L*JQBA@UN;YJ~bq|rPFr~(xYYa63&S4scMrX+xVxUVlH~?0LYk$`-nLjdr)a&8n`mGNTHRN&$sFAo$ zc7)(x00jx|O#+fbpeW7*h=POmdqYrBWP;)xp6EX6K3c5;#m##!A#HXrHb({(f6$(0 zPZQ_xebVLz%u`@=5uGuljMU84%+-oT%obTP<3Qs^cQ&4zJU^-!{lWieoCUr z0l) z5Vkk)N@{3oC>kVveE?^JyagTrua7(coh+zX#@_DXG;W~pngn*pDK`61qt#Q^kaSq>3BO{WgYP(C_L){~n>n~x! zN{zJl0dqqq25z_9%L9b<8Dmdl&q4tfuOKqSj-d5vj?Yi%-15Zl$-&)Tn4if(LM_29;Mva z!)&rfi5$>wOyeg=On>JL+z|E~>`bR$NWaixvC)q-#j`aUE+)=(Hgz`jUFyKx5e^Gw{uCQ1H^cBYvub)akm42#L13rN%Ggfk0a@qf}{z&^*`&Zu`Cw?$FT#O^G z5=Lb-q>UckFpw=4F=`7xU~FS-Qz-Cc2t7Vba=0f)NR8m$>I>=%xf~#_u}7`El`og! zPTFyX6g0wCiQHv;W_(sGf{YzmR{|CSJ0venUg{4<(5gx-a87kj73+^632tpFJ~2LNQhOzJhE5Aud`v&6_tD-*8-o!56euX*nEFpc z0@k@yq+sFb@n*;j{U3}GYzg!mP><7|oVu@+)@FbP6(;~&LHQ~0QtH6efh{UB6r7`* zo8!!JV*PRQ$;Lmk=h^dG)(2>c%4D7rQ?UnthJyAq4;1E*SP3MyXC&WEzT2Y2M6n?{ z+`QBjv$n{e=KkjX#Ue&gT#w_45on4LqZE}P=g)nFM^f9QwrO&dFV-$@$wP>W%igCK zr9Mi1l*?i3NE21@=SIdA#udJT1$&IpD2;WE>GvX!QP4YMNG!?G@&^D=k!Ez@55Q`R zr>3jHjK(oCp&S5qEboyy=4zDHM*^tPf7T|N3qBNhw zP;ely6<#^KV$cqi`2J!Mg9&^9C^>ZAn0_+-WUU5wIL<>b8UxsQp%i9-urdtfp2j0U&GEHEjNU zvHl1trGZ%B=K(l}iB!x%2*5<#0OaCGL`KVnBk!79m|GN!7;!P&?P_9x0<(jzF9|Ba zVk3B)gtD>(7X3FYy8ly*QQ6JZS&AK4pOK}2>65k?`y5esyW=wVMfb%<9`KX7r@5zJ zk8?SUJOG3V^yR5>(Q%Ws-VR@+zoEZTC_u0n$0$-@hPl%l#IicD?fqU>l`wYV_0bO? z-~_x+QRMLYg#BS^E!HPY6ZZpXPJuxX@(_jL=_@J9!laDc|5?V2M;=!;?fWktHl3WK2y}I7*?l#*PqZs@^QE zH4>*f>pJUt9+W4->*$)U`L8s)-N0|4Pd!LIsAVhBDFVSpC`tq#r@;&*LhOifgS6<3 z%rf3H-V+_6c#nOVeVONV-9>u;)Xn`*41lm96**9!K@9*JTieB{Pg0+>?7ij<>+6gC zW_@gZTrMN$2cIB*n|-Z)tytfY>U8W{3+^&HLX-&xhp2C;Z;18hx%;^LR4N>lDWAaz z4BqM3(sKO%$RiMGW1wX0OzUjx>{6-y5BGZa`bvdO*3k@YPKL5sI75ezl0heNl)chk z>3J|c$6$iB$ImgRo74R~AUd1$i+7gwI8bI7Yq!7Qp6oXA5aRT5GxUOFAz8>~v32mq zB}Uo5*}r)nAhsP#)5Frk{C)&Z3ApAkLS>(1AQ=$r&&tfp%xerrXr?Ben9F5WbD<_F z_=F%F0D>x7S({m#mCMZ781B5_yiln?@j<%7`z~|gZv7wqpF#n$IMYt;`Mc-u#fzZ= z8!K7!ta;@!5F#w`O%H<0+d1+<$W~gpEc+M>7xG|)X!lZ!#Lp|j-G*W)E$d&~yIJpM zjloDW__Pd0!0S7MJ^-n^W9G+CqE8kr!Q2 z{N4iyMGmkPdW+XmDol#g(uLmVBEzyXHkQ^0KapYz;PJe*sJkpZ%Nwq<^o4K^2TxLe zQ-AYK)8Qz=#}qL!6DK)qI%|3!qr@qC^L+m;^-A^1Tn=@4=oIY-?T36G)gwq&(!D01 zXR6H!>d)%WzA+=pZ%%}0-jFy#)&ijka?3DX4w4^Kv;pt|R6A+_fU6bJ1zxT%_hsk# zxS1){V1OLqh6HJV1JlEU5xOzR!P{m@ZBP!LL|_E8Cb*BfSY4dU;Z0&c0ceZT8^`}2 zgBcpa_N5Ih*6U>KQWd}(}HETWum+a{%^RA1ACS?#;4b+w+$aaWkJy`ZT>;u`cd z!q;I?5gRKRpRmb;hBrDbc-7dqkOmduqomOSoFI99>LBr-#7=8T#hXtS)nV*-NwkRE zCxw@IFmkb+{BR=%h?m*Y{T`nWjT{9^jtCaqzo!;cpqv_z8qic@ZH}gZ!wcU-t)=l~ zWYnDM`U;awyC=|dxY`hE@Pk{#GgcZaMILaxvzoJ-SpQyqs6JGDfvqHsk26syOh1>} zE47#SeOYxsb-$K8;7sXY!Fk9r+EQ(4KF`fuI*tL*0D~pcE#-fdc(;A2eW~YRUeDDa za&bNRN%E5xrw1B(ws*S&+yRveYJliSi5`~<6S>@fY<2#Tsx5pD6G1bcx7+RZmh};= zfEI^_34|1ohb(aSbN8!M0Gy1TX-+Yx6pIYDMhe_a$;Fmg*ZR@=v0R2vk;p^NH_mV5 z0sC9StYP9De%n3OZS>{QQi6)xIm!9S`PnR6Skf!R=P-@dI(|zZoj$r+#Va2@(F~hm zU+OCQjQN52L8%17MAw}pi+cdA|E_zQds?Leml{ri37syx#Xj{#tlxCHicPdmu}%@| zHw~a$@{se*q?v5VLx|u3yFS(tVl|h5b%S+-IEM%7H|sb1GB|+C10jMzO3W7Xhm;6H z8=6O$M~FP&P-n5TxKiQ42mu#Z!{a0wd~jo@&geO@=fp*e!rKyy{31*ITP|bP$LrGv zMq536jsBtjq4@izm9&z+lvn!!PR*%RD(DA*fPu~sw9t`POwIOO(Q`$k9{@n(Q1wk! zyt<()^i}j#@_E$r?E6byV*JAJLo&Aq2RLTQ4}?93pu{fl%>*l-M{(5oZD#At*0mao zpHc9IUm@oK`zC|QU^a`G#9%5qPSNR!-D%CVW;WNCtux5#z z0V``|8+iatV;P`;gyS}K7j>5wWyyC^qf?{(0STn2I1eB!ab%wHjq!~LMt7@ws(bn( zsz8fz9zemAk*W|qjQ9=baW=IzocItLURc4A6dtkyvX5Au0U50 z7MRSnp%2J-eFz#{E332ErIz@&T*eoMgf@y5ZmA)$LK#hii|Crtks2d51WQ0%kq>Yl zKyM%zEU|N}bFFjBWvIz<9zarB%z5g+J{c|mMW!SsIBPg-cpmRrYK$PWL*@qoB9^fs zt`5q|@D_Tv-d!lL<0Glda%M;8H_C192b}9{;%wr1K$x;5=UZ|Mfwa{hwJwID*PGXu zO0eVzZzLr#czr^P@f$@dvm6wArTmY=Qkux9Xmr(fb?WQX*S?%RoTq{pX&Y$bPR2j9 zvv$_=&;erKLNG>f=fNfFHyB|l&%^CM>_0pY-lI}+qELWr4mU;Lk@P(@SJ`y+Xqou% zU<9WJY7&}Ah1ZdYRz9U@eFa5H=SWF{;(h?(`B>(T_83}FY-vHSZ2UY)qX#dL0Sc62 zqgq6H4Q(&f6k`3U>8WD-A#wv)D#?`{u= z2~cie`-5I&4nC!|X>H=~zhtgwu2(E#+@09c ze%*fE^Vl8#MCmezH=6BtXmmGq7br-OCP$!50EPQy%E|v9{CxlqC}Cm!Ak6uXlbsy&3SC21!>1`XuRm4aO5ZA< zhc|i0X>P@>h`~tsYeIHV)x|Vq-uOa$iao{i5Zu7fWTpt_0>tP<#tH0B z_-M)Z!zqG1fF-gq7eF;i`3HudXr{tWht~)15$rMQE1)xkJi!M@oNp{J78Hy9@%Vt2 zFkBvclJ+o$lhNbMHnXi*#PNh7Xn)f-P+_o#0a}V&Z~#I#^JJu*+{di-f}dx4zZ(dJ}x za;XGhW#|twR)WVUO=)?cf+vAIV5aQLCytQEAR|r5q7wp&440$P99ms4d*wWYBr*Z` zWVaidGV^4JywH)rDT%Y3jhv0dIqXUq8_oloKEdJxgp$uEpZ8Ny3>o8}NPT~dvoToV zbGY9mC%h`T%~01EXz#?O&Nj|Ao`=LFRA_jZiobV3>Vwn=xg2|pkOwMKTFwK`(Uxn= z^LfT201QP_YKaP)H;)@VB+Y?0UxBP#=UM4n)3?@Y+z-GPhus}WQOE=Kqdb7DG~yHK z940IeBSt7s;5>lTYQ%B6i?K_g!0Qtk8#j~_AOJKl`$HaZlJk-CQKiD_v=`f>>{0$H zfH#4arpD6xG-yFJ>E{7wI2$+{cpe%Lh^COX3?{U_H1X<&^Trm&7UI}@*q&j}@U6EQ zAVE(azy-|pBP-1V%>zp%FgK?i)AMuB&x;rH`WHD{Ia`VKA7~IAeO;r#aM_iH@G|yr z{7(A@`-YbF4|j8J&Tq(Y9ztb&aZA0P|!o) z9+RQSa>D0P;{hEa)Z?r^f4yXBq0xaSH07r58Qn8P3oNA%)CcDCK#lX81FR4ABT&}z zSp8=?)(6=dkR8qg`ixDDO~v{NeN%l?apN}CUEM7dkOxdjb_ctIq9er3PxJ#Q6ATVg zA5|X}|Np>bEE&sYF>`}RDv+gcg~5afdn|MoX^Yc+ajg1Av_YagrRO z+P+r1)UFnz1DwO8ED?W1Zh_EB*$w7%7^bNtXxMg(x}&;dE(cFiK8NW^vh)UQeF#y4 z!3z5w!JC{WKk?h`>+I`155kBrb;Agay-R^h*h+g$drYjKm$HA5^ANp)Ry-M&6_lUY);rccl(6bjJvWVk)X z)zm!(s~Z^{>lVPflza$+L)Ev`w_3DKF`>fx1mtL0|0Mk+@#m>>2Fa%gy}41PQH>Uh zP|d*{Lurq?tGTOHDxF_St1VP}axgJ}K2Lba7XY^Pq7D9{^I{7?f*`kyHO62BPSFdU zvz)Uk70mW9nQ8BG*KyaWRJvBl?2*}{R^xJ^+f6kvHqRTcxQa2f?y9pXhk|Sc^-WKf_X_yWIbO(R-%{)_ZX`fs}u@}P3@QM zm&IV>ca$I2BF6}4@pb=A7->P>H40>79XdlZ%W@J+T!7@^LV{8Q(Kr3`Ta)Z`W`4*M}(z(By&9Nj0g8_5UYjcX=>F7N0V~Di+ZpLd_C6-MH7d zw^-z1>=8!B$oQ0*smY!RJrf#AQlzdL+>0nN#LW%eDgh3lxbR@&H(B)Xa58UfX>2Jz z(1TW=)mJV9p~0vvVvayElclwP%j}TZp;m(pKluERyJd4Wn5}^Kx2^#b~Z0*&)_nB!QBk;IalO(ey$aX%A`-=JR}< z-Y((x!Ex%>>epiZMaF){el6=iCd+vR21sna4%#~j5i&xQrmBH2Qxj7Y`}%;l$DAGK zEav{K{RRC%DubgZG=`?7680u^hBy%-QFm_1VK75CDDX|{l+-C={U2ol7x_a{cFQQcM~{%OIbB~(xf~QH0L)NeKN~8`Hg;$YZGpDH-;<0JKxc?JMJO&H zjLcLRVvKO+h*JT20`x)g0XmLzi*B(c51@t!CRI4b7%WAM5$GU>Pmsb-p^|=-ew6t0 zI(3@auNmFUvz9^u+qo_!tN^WDk2Z~J+otG$Ch&#j1ig%vPlUUGPWP? zyz0DKsi1cloh=0p+3z2mT@qtS+~yqP98;-azyd5!d(c%}MXbL(vwdd!S`B8XoClx= zL5fbNLHmI+>N7xslqdknWuPV@RTFt~w|!Q+=|T!ziJxf?v4?mbeE%Sj0MaxvK-L1k z*;vC^qfmfte(YT9JnKAh4&UPb;r>yrqIZZ64|;p?t*yT-F-=C78LF`HQ|$fi{l)sT z-QC^YD;3}XIS+yPI>GHw=Ei@KZFq@Q66-HaZ&58wQpV+3$~1ZR() zV@@-tl}haKL57LpqA|c2;LGeo<12KZewcokSpSdY!O4TOSr9NWOoa{*f?oR(@{L66 z4wD~9c}Az2v(4G15)!el2Qp7&o@gLMR?+&jzFdw05~S4y(A4DLlS7k3#Ru3=U7{`# zL1cepx-s1^LU_d0XWe1lQ7!`(2UU3_RG2-2MbDjMsq}VHG)Iz=r1Qhw6v=WiVuYI{MOUrq`@i{X76tn3v0m z41k54h|shbSYAGdKh+$~5r2Q6_JsCC3tg?BurZ*k5M9C6;Q0FF~&fhiA(Za`Hg zl&OeH%K}Pd6pgNR^dvKCMoT3$P84n+0Ah-0iyHv676g?jI6*cS!Hx}=2n^MB#J?pm zSx;z7^BD7(Vi8fB*C(@gZirAuC>tX4=7Dw}h)BQ&xWZtmV~znM2i8XKOum+U&3C*4 z%MI0|0vmirX%j#JYAtP(NL3E~fSBy_Ga}<`{U!Y+5o|Ws(|Wp4fL{UU0eEr*Spm2i zY%i%J_~erud?B$7(iJ4Mus-kx-|GQA;IGe$Qt1D~s*A*7kO+m(kibe#gxE9<7+Rde zn9ZTF0bxT@Xoz29kF&>#Hum3IR?CWDGe>%kv)v8cVyKR1ZV)6eD4MsgbSJx$t5w!C zqhpxY$Bm3hO*6ci@d;8+7d3!Pgqn1HxjsbH2)!QpU%&Nn0}{8(1O@dp_yF7t#nhHk zW9+@e%TAlq=6Qgg#^1MR+p|3n{sB@a&<7}h*N5L58DUt4C4SFS&gIVKl?tr3*jyE$ zDDos>vlf~uCSG?UPQ>&0hWueaWwCFujc)qW7HQJVx){zgF1VWshVo3 zlvr01AA@&G%W7^Z?I3M!(A9;t2B}%? zW4e#2*P~~cU1nFQgv5%;+h~H4;sdv`XubHY_BHl3{$K?5d$Os#s*K4-F<*q$DLfH=%Fz z8}u9Uc?d1=U}ReN{mptH6Ae@@yGZg_1?|htuYv(YKm_FcmoS00|R2^7*I$p5%G#$ zC+GT*$7SWftZ2R7fcpjf1x@`9VOPkL>e|Db!HKF zlFeZy3Ytw~q{r(MYD@u8fIB&-%2bi{c);JM0R{T>k@bvAj7tgyI90bT`nT9B)9$FL z3J*}|{zZ%CVsmj5=QqKaP$)2Sm0WF6b&7NUh2#r;eQ=!*SdvZ74H+l)WM{JH@eTRMe$sx@^Vnpq|2h1({e=C5=K=B(IY=r=!Yl2|Lk}hhTleCQIBvp@1SSc8qnrb$m-6a#r_* z?g@=Npn2T+a5bcq02WSOo;)ylU^dHk`9yX?cbD@3I)}MzT}in)`3*!jk$D4B(@rP- zT>80M4ZXzh*HWOFW%9q3#~e3g0Jrax;3hfT^j&GdAK+sU10Je&BY&F*nFke%*qWX5 z(jTQi5*;B(WU&q1>a?em`nLME;sd;&+#)5GT?Y6( zn$#d#vpPKXI{FdV)4IN$zMWYA`{bUy+q_=n6nj+yr1vxC?m*5iP}a%>+&X%$?0t zNV@~>GmP4Xq!m?%67!SKL;eoh9}JH26{VZem<^pM7T}A9?$Hm@56b7EQ-EU^V|tw9 zd<+u)kk{WhIAy2q?Yp=4oh^dBGLPUyjPM1}5QAF{D_PPYMh4G90nJzj zc2N0?(}Eczw7vqX&5kG1+oZP<=WwWj%lE-WEOJI5X2{*eN85w#!M@cMaQhG~lR>Mm z4|+fyx4A3a71b&<#;_$if5>c`*;cIIC-DUs&9ON82C@g(-?awHRbYoRd8=0)s19rq zhwW{Ap1wZ(esqceuT$F3a6WfFuT&CAXQ(sOPi){Y1%Lt=7*LCg9c!Inolq{r;-bCV z-NxOfQb90dv30`!Bwlc?cdoBgK*hx%28ho@+8O1H@;pdy1>Q;>mO8A7RBhHEh!tRt zf;jp0(GT`tx?S|%zy0U{j0 zVq)_WE#^ zq+>Qd!rs>2RtzpeQZEprG?w;;0%fx&>BHKQhroz2GTadVh%dHAgZx}9;zo-})go(A zxeWChW|&gb6!L$N>g>4PUFoiD3`PiS%t%o%E&Cxf*uRg+P~lU_;`(0F3Ih@pLrGX` zU>Zzf=<(C+1MCAl4|>9={~3)=x&hd7j1&a|6*POgu{eH#MB!#AB)sU2ivDG-Z>=xZ zA8+q&@9vAgC}=?efWX{a+6s&d0AP{IT!z35cC6(Y6Aj8a5;Glw)hM*;r_k?6}AFm7lyVmXjR55YkbNC!0PBu~I z;vBw*$Wf5zCk!$cWI8=zjHYbYJ*az7y^d5lc(=6UVXbitMz9rV;>7D;qpz;7F8+L7 zKUY7uB@cm3FyRZ(feJm-091;TuiOHC zggzplM_U~Ab@Vp5aC?uG)PO_=o1V~?N)+fECf6AJ{r2-{{d*hLVM`uDc*8(I&LUZB z?0?duG&adP%{r}IhRsj=?e325j+F|y&df!ofes^8Z%r;wE*I4CV3?b#+wCA+v#QGOXjS^lTrvMz9m^lgyYkGw^4?x4>Vr@fh zLtlshlvwv<=!KfyJo{Na#&g_F~I>25)eZ}B80&VGSbVF4<{eaW zIa5aOmj;uuG1f8GG2#vAJT*NtJ+oE=_*m)%<#I@j_!prbr@lVuZ5*99k<3jz8SW~h zlk+aM(nvlx@{hFY>O41nNBWLhjTIkhI*r7J>w3&6!5bibLze3!fCbRx@EL$EVcW;D zAriStHc?>}rgVLr`6Ba0t;WX3pss+`jll@0t5nQDxe2|%(5WPUgTVyqar%?3xZWYZ zKms{+eVzF+^JA^Xrfbywg`oqWGr$Rmnd9o}>V19S3Sm7sVe(+ckov_?lw=WjjL_)x zP&)odADce5T5WgSt=z3D6?qQNpO2a#P@|zG2_&;O2;l?)PKsY_A7&rsd1!cWbxE0B z``zxY?yl7;dWuLyI(|qWnLbjiKgZqE-Lq0*w;Q~9G@#)sb%7*q#@@E-R^6{D;+NY; z*hhFC)9f*1r5l9xxgo=DbDvsEtR-U5aI(Fxy|4I%`>QXjFZ)IaP?8E=to^0^mCwhI zws*025$Eu4*4ozEr4k5??dLdOIbT&O2%7BhK#-Tj>h?4CGoA;qQ^zgtpYEU4YV0Me zVpUq!2knlEnZU^8jmaCcS#XhH)EryO+T7Z_RAMEo(atN*D`Neq9HwGx2A|hrT1;H` zH%+c6sCGP%-XOg}wW>%jP*Gp6CuMFq5u&1o8xpiN07H}Z_rCdhVl**F>6Jxrf|@Kt zXo%X{X{4V`KU=HuV1}l>0BeKK$o&9VY+<@f&CSR~QaFK`t09fhixgtkNJG$5#x8`_hONW6)09n z)&`jv5-n-c>XV;YcoEbbqSC-=x^1p{fO>%V|F;=y8EX{^;0|FLj6Kb6_0-mf8hz|d z*}(#i0d|4xHWw(7K_OshW3^AUPg~Ams_I~l4oPivSwn|Q9YJY$=r=}C-ZDazGB(ie z2^0eA@IWQ`I!Py1c_J)eg*8Ltm{eH?#;iN^7*Kp2rF zw5a?=PR?>V`zG6xZP}~@JY=&hP67#y(dsAaC*l=7)tGI}_8SsFc!Y*ah->sAsU*#L z0BsQlN)popZxC<^fnmw6WS3a~tYlxZ&(8yp86tKdxN;tnlQ%9jQmV@%14Tzl0euXp zakQ8qw#w0%*kfFe(;Oed1sH~cQOd_B1wDwHqd1CgBAul=PfBOfnOcn%AE|~2KC4Bv zNIuVqQ{(|avQltmq6PLmw8e?41EvXDbYhtLpz)w@6R31~nddXl*J_ycu|FU{%=jX} z=#a}h93wOxn`#svHNArBy|(0|V1dyUVH&qW^aM#J*ER%3t!NpB;w%S%?Kq9vo9~vJv@_-N12c-|HR+%u-{~RU| zGlq{6buG@}*R7|mr<)CtX7R%3FoGGtR?Rm_oWogn4|k82`8}nq9Ur6*OdnXSLaH0U zM_!-0ytvWag?@+f01zXuw~w)p@jR5n2<|dt&E;gC(L(H`GF*whY&~f`St`LREI3?! zPkpbY6-78b_8J{)?_}>J@_?o0@8<6pOp!&*CZ6A2;_6BWlGw8?-BjlE?(V?86* zKf>P5-mY9mScP7|rq~sM!zusH2)L{$h~IOtcnk?y752bf5l?_ z4$0?d0R!?Z1FAg!i9Oez>v<47Y@g@u?e1NzhF;On*3TB}-({?4tS8ogR7z=uzmh{v zG(>{$$i9I{z}B+XDwPn-A{#eQ<6`|=?5pjoTL2o=z`?LoJbmD#`31!*d$WC&eUgXHRqN}+)X~pdBb_5QsFK#^&UZN zfIMGdNHU&``-73-?b;-5l8<8mw3aQtVHXH|BiZjpZSy|!zETNOWd%C_U|$7yBbj{| zF#Cg%=46Ny5e!iFS6@*ZAZGdkFgNE9Ky`d=Pq|PlJ7ACJH90oJ8evP`Y5RF?gLd&E9ZBFQZZAZQ3GN`_^?=5Jr-#fAT3%D)-B)#ACDuR9S%{c~Wt$!Ahc=TVIc|LskOCs980Y|?iNvcbow+x2Z@rEi>NiA=a_@8R z6X)^0)-Bd86p_HU?`P3PI4b{AE{Phy$y6%U?o{@QYsxG#D~iNW`jsVvjKb5 zG0`o%WuI9Z)2$hnD5n)xRUsxw+ovQ)gTV;l1HjjlA6z6NKUk|;tCmVYizlviwsW?t zRM->^f1fl<;SL8%3!J0zCPnX&9wcm!zkzP*reBW35-gUrZnbU|>;GeIXl+<3p|zGc z$JyA~xKd%WH?r`GuWfyAeP1p^yA-K?#~3&7<{NpyN=ZD#-p8vJSzGD>O@5z{niL$l z5kU@7;b)D#jJ*m4DRN#eLoE)yx#$gMkJ%%F-RaIUXIZ6!`G4X|C*`Cn74{yd+@JCN zB$vw#5y}rB=gWhcn)EZqsE+dqsu7}-%!HX}S)Wq$#P3dz)6*D?5GIF>5TLt9jgG(` z$?KBWWwXE$B058xgO4-h0VqO9QBqEBibb@<66ZUcJDZEa#60sE^BG^ihz%9*R`*i( z64z~`&(voY3P7iUY{hv987Xiu{!6mg;F{0y_<0Sowb&vn?TTITJje&~V1(;#FgK~~ z3}huhMLeE9k*G72>M|<3pM?c7N5hFL_(H6Itn6;%{AYaPk8;a$9zuv#rF|c#>QpNgkfbop4afAa^sid_`y-Px zk~3QJfUK;}aJ~bgisKArC^I(bypCqf2h0b2fI|D3&KJ%Xm5S`p_~L7r>9uX0692T| z6V^?IQ{lcowAO+*kn$B~iWsysB{hA7E3`y74yC+Y_(+1PP$Pu-d#k5z zNZrr^kbs;XHBf-!j;?7QY93lFLd=xaT?q{iM+ck|P>`5%V|QD3n^^yBxi@)zdctk% z%j%5{7YRcQh6`d1W0U5qL)0NHL6ubLx^BwM&&;panZW`D32=5|bFAB}+e8#isq3lh z`DW_?M}Zo{us1?#qOl+)HN`RGB)>?0(Sj12FI!g~JNI9Cz(1*fe7AX?Gmsn}gq+Y9KthDPfWcgF$fOb9fARp$nr=;RnIux!W2Zf&HxM6c_ePm}NX2goc$$uvgOCIK*!_erCtzvCtZB#13 zCKviVT-MSX0FZS1$<8OvC;mAcT`ui@VYSuvpn8OQL<_#3fS8kiOzxB1Cz}O^7}}(< zHRWW8-D_!3gD=RaFzQ0LU*!DY{2iC;BI1 z{iVt6lG|mo=o2vXbszI=^XyVd_ASKvbz^U1Z~xSSJinX*i}i1D#yR7}`hUoFzYmar z1Qn&IsJ2*UA7wDf;Nb&9nF&09p3-h2)n)=;q)tkmB!164iRX_WWAAG3S}tR+GQbjs z3J`E0q$leU4N6{+ydawe#ut17Kyg_Bina)Nhk?&i6H*g=$Sk0`K$rOdiSzYW^;Zi8 zG$QyFq!g3$0Fv1Ua+8G@sfUQ@jTE{qBdxX2B4bxLQj3v)mP#mY+K!MN9QF}-+}O$3 zsinVcW13YZ0$tHFKER5LF{X#Lmw$n`Abr)zE}xodA-*VJVD$ zu5*ysz#GYs8QPL?m;&_{u?J;)^eFQ>^Ez=1vaTNx8vCd(sxRhp+*p9Q2|PSUP_+e5 zl6BSD>TDnL3v?EnorBQui1~{7N>eqai3&$CH8s_9QqM_?7U7AbEe_uSeBr>Osclo+ z`s(%&VPkOjY<-A61a0tK4#znIIY~2w-&DdBE1iF5cFXKmug5)GwN=l9G!@+8Af<%? z18awTXB=-FUnn4G#=f=Qvfe6}xhqU=b)e66PES|Tm0AtK7Kv2nADNvpJBjrl6X`+9 z^B|tiNL4ad;XU5W<`pNpKNmyv&G`&?oTV30=8#K7PyB2qME$;5_S{wq! z-Q8V_Q{3I5xRnCMp+KNmft~05_Mf91JR~d4I!uB70;j z!p!S%#BpFSM?`;$n$~|*J|{e*7Iy>%Jr&nGDOUme8P>kWt2#wIR1LjAz(zmb1sT4BD1R$PY;hYro}fkHMD z2BWK?PPDluuSk#ZkCBzYSOWg&2l6jbT_Z%Om@9``_cx5|(+$6v=^$4c{&PQXs?P;m+F|A9NZNI2U^olam+VAUTQSgbwGQ-?3v9r`T*(BX_k zoJ!f{9zvXPYf;j`HF`0qHDm_D0m1>?IJH(7QZ~_<{^foRNJrtr(v)of-YlfY@vinr zd-GFX*$?2cFrZ2z(`XN|m}34HwkG`xlFH<+x)l2|wy(6j8K!&c`p?W#F>PVPMgG2T#b9#^WhDk%g=Q!i5QyO**z%e54st%@o)4`7 zV!BtG>5)hjZjuam>TN>)6*KIC!`&mXd!RdnH7XRnZYfm; z-|8uSet|2`mKPuV>>VE$ABO}teu@zqTEV!4F20at6CLPsNJ5wGZ&*b`?=BT)=DEZ& zTQ*k~H+Fgx>^JC>4is-h5C`5<%g;rEG34E_3qfFvuy<&=K|jFCX>Pkx^CS`$6*_||6Ou11&mRjBphDOgQ1k+yHaSzN01#iS8=?o5mUlK zBM1D9f}(CIre5^n>X_4BZxqQc8A$Ee)xJYdvo9;D1xMFFq5g{`QMGlUX#r#4gc^(w z&eA}%aE`|)DY3gDcTVJ`FOmzP{QLFc+k;D2Jj+-NMlrW(H6l;S%urCJ$icVsZw58u zsBD>%Wa3)ci-#}nFYduMa13WhrfEPL^qbJwC7~lV%(U`JB2M&ZV~hU`ZD=;>>ZMP1 zANq>U<{PmTlX#oTP1-XrH2z^81d>U<8J4@L0$7{Fo#S?s;6f|q7P^d?dTM!?!j0!O zxHZTY+k~J?)b=katMWD-NC|-Ot>&D_;c#lsfnO!A`Z>M1r#YZxa0q=E5lFxlPZ$B+ z)rwg4WMr>WHXQ1()GD^yROy(*jxL)TW+;)wLc5LU|<*lT3}c>MoVvQ zQ`>MiM?050A($FH(q4uAY}D6XwmIBmq$P~!kuz_9W?Ta05n`E?&OrAe#~Sk*^I)oQ zhB-)_3E9o3Q=o6|Svo^D+0ZMi1R5Fhe$jj@U@PFg2J?xXhnJ^A#wU7EcMyV7 z8~f%nN^j=-7FZ)X!Vg1|=1E%tKfcgx^7$X+jbFC=lJP1tyegu<%ul#IrA#;P+gYaK z2`lU50WqNCKbArS;;=6wI8zx>lP zU)vlb;g^^&>x1vP`+&_Lw)uBLNzdjB5=!9%dPO*SrGg>K!sf$SV%xoq7SV(@5cJ7I z4bQkCt_%0dn9Zb1tLE@9CDUN+2%)C01qD9dJ_t5VHYe1Ft_?uM`E?Q#3aO(T$AIBeG7QbK&{K4*;*u2jO^Y(&nP<8N0o`Z|* z0$1M8oMk!koRUB$+hE>cyedE$uc&fp zS=tdm7EN~aNgG&!(j{N z2k>x}G(YA0mo(5claJVxPCbgJx)hz(|E~T03#4l{rIBUG%(`ZG>yarOyhwAw*jmSs zJkX5ZzwUk4-qJA``GIpU!fy*bz;75kFbdQQF$~F?0mv6$)DQlQx&^HG$C@zl3}SNA zg-}V%yopE)kW+B$*wyw|^jCxwj&S4VP=Qj5n>u<@zfFK)hZ$tp@N4?DnV=|!{19F+ zVSk`sSBln&UX(3KYT5;LZiN2TwYMvac_5vJVNK=<;{Yhp}Pe^5h5w8A=WtxL@{DYkO5MDbkKU#&TN&RqDf7ivon3EzK9D48d+_^ zySn$4W#fo7Kpi^je^4n@>Qt)y5hywN?_kQj-x_i~926c|)3x8lDXz2!N{Lr>5ssJ%el+AA_T50p?{Q^O7grAxlTZ0pKI(^41U3)hO9TB|p z)n6@tg#7cr5W9X+BXU-ghE`%6i09UUZHQ$h%wY2O;5-Df#ln8g7t9@u<0sD1r|w_o zfIF!?&tAia!0~-w+XEq%0QDOt^6M-_&K z9u8m2p_5sef;Xx*G!lhHL(jQEC7tTo zMnR$d<39advFp-|(E4!mecacwS1+W07FZ5wL$4VUF6}!=^pN8bQK-1Mnj0lN&~;$V z7&}_Vdf&{pQ^I+8FqwjUHa|Uu2_u%Gp}-TF1s@QkHI_aB{%7lB&Pc2{Ge0w5WvZL| zfeN^fG_~)By5T~*r1|B(qeUA6pb*=TCuHH|mPQa-5nX!Tc-E``2z~+GL#;9ud8GR? z4z0J@Z*e!@%$=h-NU5cS11T~&pW}`ar$}4%A)_{ljbCpZO;t7={-P{>d-jug>IE{N zQ05Y32!WnDgQ`zZ)}&WRobi^Z{=_fc{3#r|(r#xU{^G@@O7Xzc#2!839;u zI$8#SRp9KLvU^wpAN08e>^8P`wz07PDJFh<#1q2?6_&alSsk(-vU21I81Yga*ltQ) zl@tP%-Na3^3*|t{W2ieIC723hU$M*gUo>E810$tD>^1~d2*o`2q14D$NGJj%`I7bj zKo3Qnx*WQUcqKe&^;jKv;RMCXM56lsMWNgY6th(B_zoA27jZv(HjLJdbn8RDd#8D) zO~O=?FTTqEp^n3k;!FM8{>IX=Y4H^{HCqsQN;wwQsW}u4_4kolZDJ7hSGwu*jo>xP zHOh+Rd*^_Y`+5Cdf^1571t_nGhL~o)p?%+KMKuC=JAhq`Qbrha>)L7ehQwOQS_u{U zsX@*&Jy^95Z8DZbb)g7-+;+e6Xkn`8jhCxU$k$62QIVTDE>Yar!ow^piv9-=rKk7t zxdAGlT5Wgq&}32009Oda=arq6ll5%H{7t=5v9#>zV{R6`;rk6ghdk5!@Z;PoeVJxXcyP;z2-D_K65no$?8?_ zRc`@CBjdN1`FB-9>!UA+*oWB7@7z8$J#7Xu>_9TfP;rY>d;7dNt<;=6icdxi5(;o2dvHT<3QG^5hE@2#vj%R?3yjwbi3b$hZYSOd1pn#iMj= zs$}WH40+aSoNWWAvY-e!6gC)IL_NZvdWo}7B$Wzk_gI>I4;qL&CSAOF)poUr%p-ASdem0D%(*m;?Jk*_bx+_hbNE31;HiwPqkw`MzmN;iY; zpj}Y+$VYl-x(zKkWJE8fWExp-_W8xz8oOf<)BM-;uW2Dfud=&urnGImEs`|?jMC($ z*TL}MPA#Gnb6!HBmw>m*SIaSf5sm4N_{el+fGt0q*bdkT@FmM;Q+z^tGk)8Zg!1CF z3y>jaH)S_v$heXAlZ0vJK1EH5M?;qd?F>$$3ijI)dBzJIXdAC@ZEZoq#PpvBEFmcn zKZzzjuT=5Pf`7Um(jL-~n4MS$61^EbwYCBm><4)%QxkkbgR`?ePcoJCqpq3OaH z{MYpfI}Ta_K>@)$YZr9wgr~ttYRHaf+m{eK=m2{d>l@m$!D)2t}*0NB5PQNr;Tq@oe64v()R3oyAcz_>yx%W|;M8U~9hSq|a6 zxnPG{@BUm&LR(^6B97nSx4y^6y#Zei4b6M%K{Im*Nf9Huks7^(D3oguh9)foj8S@M z$&J@*LR^iCbMeQK)QNOw5+->5U*>az2{5Ak%9H2YxTipJ9L(;NYue8j12cK2;ScI~ z4jPuz47k$t5-$2hfnFaQNgK(A$PT|1c2ApcdPfg=K|vv`Ll<8Gw}t)%{>Gol08Z-R zYxEmr>=Jg90EZvm7RR--+AMyP3C9oyvI4CMq!a3kO9hj_Th^dw^)p!B9+N*di86P8 zuns3$l|lG>g9Hxo#?M{*K!-r4dGpn`>9<+~nXhn}+3pklll}7bV$o|=#amw(+#}Id z9Tev9J;Ls2UZAq&OOz%GZF?a$u9|DxYui<($i8Jj3nnZ%Cp-}hG8`{MZiP#g%L$*z zFGT2g7yjaq$`Bm}c}}k`lzfvXzC)ZtoLgy^^fHcPl)RiCPM_5aQrk||PSqz=Oa^sM z*&MSkYQZ-2vwbpRRLOG|<#_!DA*LY%YT{%dG<7TOL!(2ZkAzXwQ-fr`Phh=1v}u%B zp?!2598~9`&+>>1aPwvt&h}k?ZI|1YWEh5HTN_)QMv<|^!U~J3AWX>#nQQPhxRe@P zDKu4Z-VY!hakectQSM_ZeLlt_B--8}vO;CbGRI787Pd_;o-8~R zy%J?v3t14^6)~>=s3Th~vv_Mw5G`xey9ZKRnT=wt&w;((|4kJsBE}6``27=K<>4GZ zJHCang9@QivPK-v?c5@~MERz*SiDc4ba6U&=q?CF-ibuRLzu5~Nhe1ww2!;h zuM0^FdI$)Eo}~VI1$3X7bK{XSL8bkok2j7tCITSVUI=`pCd@sBSNyR*8pbn1!^OBjj&hh=lrCr>RLrL>7b*}9;R zJ^;I+^dxaF76;sFeU(!qUjmW0umC$Cv z!Do^L?aCF`{|JAiKsMhDuoRMyjIyW8Hbx{WXlF}dPrr(Z(8gnZMvwbEmPnUiVi zNC{P+i4hXct9h(}G@rl4qspEuoN%Mdo@Pkv66PLMV{PwMg-1meuuwN2CrD{#3JE*b z_|*73U;MKT^35>|I{zdi0!9U+rXWTRWUOS}(55CW5SR|{OUfZA%UU_z*45M~tYl1D zjw4yhG*6ze_bC`x-V?YscFT3jMSJ>^PQBZ>x^)*?0ydu^t^I%^$UVDGJg`V+pM(>$ z*sX!c)uKiv>KnJHbACQQJ2hLg?#B*|j4@2kFx0mqb50e4GsZ9BAjGAH`34}sGd4GN zF*adsEtW7^zPc@M!WHE8s_NFP(=L>RFj@PdRdC6^@H&4O-hqtMbm<%ao?vYdd33){ zQvdR_CJ)Q2J*n7J?z>pP_vMtPV=pnik0!h2S;*L*G00k5mGq&fgrQ)9Qa67mpZ$CT zCqEPuiWYtvP9^gX^Hug$)*a3C$mw@92fy@>;YUJ4BEya&s7a}0;3D3r9?5x2HZ0WE z2z&xJ?C(uFk+Ub5FIl^^YekorN0(YPAn}+#Lw*1vg#8uinPbOe#|o@c$l`eV0$mIU z1WcPTRY3(J7?-{^yg{NFd7mI&dtAYM!F`}xPXNrOCTuU+1r>Gp7U}WZsp-uN>@pfF zO~H^OagIX?h&Rv))sf4wHB-3wP4z$CjY9@8_KJ1H24Q$KMa7t%o02=Dox-2SOv`9^ zI>?;Z)@4F+-km2$|$0zW4Iv)Rw&P`^KS_)@ z{=-GgL2PRh#^kCw;1aSKDi{3(SV;SO9HGIAj)CtL#vf6EqlNY9^(A{!K8=P>P@~Lx zy6GCG2mL;yd{L*UyISr_ee4A;s7+L`=!Ekx(j7-7AHozXUx1^PAFhDei%TyyvXq{rn7kWkqt#@Nt5fbsnjCA`n3kZq>Ix^(6n9jgxE24ZQ9 zV<+s%`T^RHBx$E4M~DgXD@n^q(`SZW@~}S(9$*KfLBCpb}bRk3=d_{LLL@`us8!xHYfTSLnYBRW4(IOo z&id-K^XZcJH5UCX^2IRmBz>kurXKi1(~_wsBK6Da)hnz>deL{TLL;x@cQ| z@aofnQA@qLX-u|sbg9zho(P17A;$Bffti?;HW;vPIgs;IDHne(A>I(6ezST}Xnwcz z=@%L>u;$>=7}Xjqhy7WUlZBzTC3p8gz<>yX&iNL}OMkVB!)BVWtx+G83V59a_bY>ve+CNz~IR9Ju^ny%DXB`k@O> z)Vvd{KaFrsTl*$SS*B|{K~0w$6}m%Nb4R;+b*`RG8_=qvgr`{YYURp@gzSTHb+N-V}-w93go?aE3km47FAz z3Ul&EwCH}f)fMAMXB+~se(mrN?-B0?^jTj_fm!Rhe7n6q) zAiJgqh!A{py4hsx5@BvJ*0(=?Zc|VJ#yK8dkEhp54}#QOh^A5RfJ?AD+SkkQFWfE& zzA$e&l__yFyww-`vu8O!9C^xHnoaA`>(QrwGe&un?*zH^&AS5nhA%x~)9{+6CRyM! z3++m7U;1gI$|uwxzdQb%Rme$m;2{vU)ToeO(dt4m5i5e{k2+hm&FKrUB2DTK^hNQu z&s)_m0eRp_X>#)kp!jhu4EYxJ*=y2G#-@FW8u%!!^` zw3kpzn^=*uRro0L39HzBe)0p*iVIiKyP!ejF-Z4ga=G&H8$O(}W`CjvQlga!Xv7zr zJe>?aJ06gb$(-EOcok|IqmxpLj^}0<^@|qIB_o!)Vi>Oqj|v}|iccLkBOtosed(xx zS2z(k+g|>@>aeIZ0*Z1Ej5OALiC$@Thx5z1ZC!TtEC z(1~$=#~+n*Ec;hPDXGkx-N?ESn$hsx_D%J4MZyxUfQ2ZYy)vd&jPXE+RjN%}V!gxJ z%F%B-6`1S-$oob)dCB}pfKDgR8ik$a*yh~k9C#>ogCUWxv~x~!MRFyEIsT-f_WJ=j zJ<3cR8U%j_Xd2O3J+=q`lSY}&?iDQ-;mbqML(fuN#8H1Dq5Go(i}@EwBPzOp;FCT% z$D0tQ{ozRfk@i@*qiN2gZ|{vZCmt{qPQ+shtLH*N5-Mc0O8Gl_9;pI)lJ5&;U9ceR zl`e~Rzayv-Y3S;>hej`WK^S5`@yA(I8~2>y`cuo*(>!aNhj|2gNJkPJZVJ#W=oEX%xH5z+ zm3NPGj|q>ma9lONR0Na?Fdtj*2yO~y$jV5}+xfZs6GC(U2WI{k?j#tSxX4@MJW701 z--{tNaq7!u2VZiwxej#a?Das z^`Py06ycFMz7pRO2IhjJF0Q9=MhzfcIfLLUODhf~rVwL8C`3ekvBK@SAJD^)X{vM7 z&2TI!zJ3K_Oik*F+*NfAbcHk{X4OG`_lp^ z-YjHEu1j(K^A_VpJVS3`BetT-~%wz_08fy)Mme^kt`quw}66mpg7jW z0IN5wo-bl%2|#79F=<&Y25ng!3=0m&L*=g3$oN11>8RO(oMjlt5V@-l$vLDfz(7_? zV=f^eP|a)vd43ioXR=Y2RtP}wRt{=W3ipC?f^z<3lUl!i+V`q}1D~J|6ON=&Ob((6 z2Qj3?ibKf4_7&79xMi_g^Eu|T$IXt~^}pJp20v)$XW7Nk56`>IyA%TB-OL(~P^XAn z^jALWkKB^FzjynvPSmpyrNfe^4 zDuNq=8zAxe0q6yo-a;VtO7p?&Z6$n1waiGo)3fhqto1JNzkB1e9tR#+=Nc;(&LR7W z`+qxN@WGgqA@W%r{;cYp>YHfDw!a2hR2*9T_~bnN%}d7*4Yn$izYDjMKaVAjCB_cg z$^wGVpY3lgl+q89wsRZ&_S&!mg8w`R-CC?XpQ?QJ?_oQDCWE#No$RZ;+F9AI`ECf$ zrB_6!hT)&v;j_>q@~8iasslmF3bgv$lb~@CY+w`z(OA4K8bZi;1ArkoRLsd=GCH}y zY#>ft%kAA|>!qw}hY%_FhhxQhtW4COu`uX?Ld8Ci^as=5Lb&BO z0`e12+!QPV{en^fzlwpV*!8L!2F-CSx2|0%(aOHIZ>(?M#!&&yfJoT3lm8>hM0@Ie z4$lAADYKigVb;`V4mYVl6CO`VclH`-vZ(q)l^F*EnZloH$?zcVPhEd`|Ir0TD@Dq`lm@@fZ4UYfq#BPf0}=|;>7Fn4f{WVl%g}V|I-vc z=HacimaL}d!~7jlU7!^wp4FffMd4+(tcU|P&NAHbm7E&2hz1g&E+{=)lDIUK1_?| z?-A;O+{bp&YCm)!jMfCq*_UGL>2jyA`7eb9{X9XA4Ux}s2b{JbuHqEn+igoCrjLPr zz8s=#6oS*~^Z&sB8rGljHF5D&Ejlgf&`pPG zr~`P^62a#*uG+rMbLS;lNzOK=uU>54}SA5id7%+(Ugs%hn9ch)@5pSVPEx+WK zyKqb&)%1M%SbbYBm8oVrtlD_pevKo>cs2OD?(PCktC&|SmK2cy6)f6QuIsEEUb3Qt zpedEa?XS+KX6I%bR+FoxU!r^O+aDqyWV>cB4pi?DBv^(D=)xciN`g;XX@Lxco#Jb zT&z;Np?O-Rt#_ROE+-RmcCt**FaHX~pxMcy&)Vp?<(%dk2w^2nyFZeVI)FL+YSA22 z*pt+gM3CW3YwgputL)UCX!_%D84}%extlr4dgnly^QhiA&_-`m5LeI`K7Oca#T8XI z2rH|I^ow40j~3c4V8Ke!ygzw38DryD;pExo^TFdsX2MkoM^je$tODj3asED?i5nf4 za+T18`By=0$3p6c3KsEGJA@H3r8MF0vc#fOx3g42vDP04t_D{(O3hY5RUDm46_W!# zAWd`Blqik7DqdHP*wV8v2kIx1Cz9?kzU&ggfKK+p@7Q04!5hwKGFb4`{5;9PPDQ$ZFxaABHFJYsOD42DPFLf9eNW zQ}S9x)@%7~6eX-vLUZ;s{#g?jHb_+X=y{4?f?qT>6zc@a>qK7^|Abe@m0#8(uGkP6 zD&jx0@u^9(9p*Yw_)7lrUXb!5&x7D0%<0oeb;3_!x1?Ocy)d}^@5yXXMpjVWXv%Br zOY2i7B_sk5lZA5uyryjkZ?R7_3VS*hVu~>i{bg_ShvJOw)($g}!Iz9tb;1uo`gLh_ z>OLJMD|8VcUdo))#pCJd$+_axB;B3h6Ymo%({TWc7+X0bALGZakq(1fyhtr_=g&dU zuOjxXEBHrWB##P0EpoAyF884oNeE}e1Ma5ZZB>1~;~~7bOrqY-;w#)U!5aX9z^y@? z(fy=l)+T4pfrmk{Sq!; z_QBI?Y$MeC{y&Rz22$00xkRZM1y+6u>S|=H=TpYY;)P_$agj5e{gnT^*QnEH&fE=FG`0{U(~yYXHg&>7IF_kj_>98l*$C}s2| z7fGekGaHZ;x=TwJ4F-6Hqh&UO7R>!0^m)!C zgh(KGh@=AcLW(!)4or&%$qZQ8{=-qp)T7wpY-rc>6SI23Ye?#U6I!yutkL{B8!4 zkCj=w_UEhItyOx(L3<*LlN}6+IAm=S8Rw=|?4bFn#0?@+soj8`fLd*vh9!KvpW}@D z5jJFt;iq>mHyov~Q88)K=QfjQj0SgY*;~&5Z`x~bI(}>-Kk?GXq&+dn%bX#Jfdv4o zrBje!WaDs!e~1HC&_9p$0a(m{n(8s(?^3m`-!N=MijZ>lGRtH84Kga}zpA{>>qaCz zZe(p{`H}5`I_4C}5sWPX+@}PQ2ErCVWEKp8I537{9|V}vbq%+ReE#sx#6Fqxyb8Pl zh>iesmvDGFx1V;NdiA6&U5b@qWaf2*EJTSw!XmT7^C611OfpvT>)q=*OrKPd zF}Q2Sf&Iz-L7!q}DNYw3t=3g%mF<1in3@;%Q?}%`yKS2eDiL(EGp9F54M9bQ{wIp6ylUk9|tbH(gtDKXVCZdDG7=boL(W5o$igkrO`lb}S$TMNOPaa!#3mmMf&FvaP98R)no^McUbd zbv;G7G1H{M;Hq=vZRV{`W;!;#RMIs025L}wQm#pKEMGjs0jX&rcTT&=6{EmRcFwK_ z_91{qlGJC~ndE{`8p-5K2(oqR2_g`ZtmfJcBQZ_JmZ5$_ez3{4e9Ma=?( z#N3rxtXS_Uka3SFx74-7mGb>v(mP#nnqD6&ChRaBmxYlMNjY^0Yl5|LfUE(196@A5 zZ^NN=OOZCZv4s-5p|SWy(vPsyq;!Ok&PUcm#UqieCI+3vz%)QSV6c&lni_Sc$>39~ zS?5!h*Y}h3jAYVZhw{FN+<{7A2qA!iUxUw6uW66At${?`4~Q=>W<4YI?NT)FN$WtP zZ_klO9%fZhAKWT@Dr`6uaHU?e9$7szV*9xoN{7D}UqFIpFyrK-bI!?j}Xu1`3J9ZFR#_Sjg8v&vef zZZ-RnZ&P$$ROJZDG64U973-p??5*-GbK&cCq`AX>>Cy1fuoGSa=AK3POC+)A1tL}m zh(`|5de1xXczQOYoyY=JdN-YM!E519;m=f{cu0t`XSx7{US)@L44#9X&~=Xb!au*= zF=BmV@kH_rts>NR5?9EE#|96E;q=ioxn%XiH&~;eX1@Ol6QzMN9F1D}C&^CN5%sx< zMU$`6#Yvx>Q@qslnj#Sn9aOLnw=5pI`3quzJyWOxpwq`Rhk6qK zcHfU$$*JLbeM#Pg3V=<*B(!YNmv<~PKrxZ{BJv+@evc~b-~?)pg+Msr4y0-q z!Kdc9fn7|e@%HhJ_9DwH%q-NYYc8jo)`+eSeKgfV*F|@of6r}Ty+)L@O|BfSS5jWw zopc_b7@uH4#oSUPWqkbnIFtEs2>V#p6&`jNyI_tYLRkh(UJ1-y_*$#T%^z5NW2~_O z!X{7@z%CN_QE&#q^eJBuUgT&na+Z{cQ}#aKMU(7*-c@}<%FQe)B(v-k66B) z+YzBCW3tP!KY`Go8$UEh${Vy&fBce!GSo_0Oa)e$SI#Ocm6}zEm%LVI?!>&WqF4o;w6?FI z@2aOClsQgC7mZrJJJiJcBCf#|_)9W!<}gOH9uz5nf?JWQ*(Lmc6~7Jujh!mB>V7b+ zp!yoz82!A%;JUShw zekcFmkq1Cpe#fk46lI~c9b#Y}D-=@j4^a~7w!J89fXHXPb)2$!wup?G6sE5HNiUoC zE4IeB#=A&f-h{D7jlu*K>v3gwPqHoTGj*8UrC`OC>qE2_GDQqo4Z`_icw`_|zt(#F zerBPSEhwMENCf|Y6(1t6EWEF{nuYF%qA#F6UQ}B^oQAQoy4s#r@ z_LI?UF{LC#_N!$rqBG^^pM{^1(KAI zLGk;=HBpHII61G10|yRolq|I^wLjq9LZBp4za@QGiCKw3Ojx;7 zG2VapIygI+aEc9!*-;@Lpo4oi z!qX;uBkU^WVnaIUiP{4i0}h1ofKCaC)QsxIk;|eftTlo$y(if>{5Slccz_G$5;6N? z2`-WRM^ce%wre&>OTGj8jRX*}-_epV@B4;rMT#~~=Ncna{+HoX|8^9=ca=%ajd%n> zo$qR>#mU2K*|8r#8hivonsg37HOYM@#AeJ3@>AhMVMu>>@pjP6vi1bqGe0dq zjVWUgcS`Q=c`DPPXQImu{Dn{R5ZWA;$2SbSE|ypY$flJVx% zL#a!aOBN!(LG>JDF8mH|nnj-~hXzI`;Vw7|iSalJ*8S|T4BqbHk`Mb3yO5_~NzH}R z%?4XO$iGac@Zg3UB&W!-)5eW`%*IY$6#jR=!v!v^2L-0Gg>qTOkRH3LKd<&WYo zlMjTQ^v?r>Y}#q&e_b(T7xPQ#W;%Qw2!BuhOX zQ-d}?b&qoB(y|^2nCDPXY}=wlV~8|n5hpcc{o1b_9)({Il6_nC2Gmu3omYm>+*ZB zMFiK69Q~S`(?q(@iiXPm33r8baEM-C2pG3g0(qVtOpAoY4C$m0SlgnOu%$&YO>Ist z^G{@g(-2h6KvGZ;&7bk@Bf0uSt>x>>z80K75T4F3OmQt*L(?R}W+c#tkRu+Krr1eY zM*E2RneOK0L|!d>xPf7MQY{GvM6l8EQy^Xf7FBGC?8K8Gw^Vvc<`0Y01@k@bv#_)- ze{@jAmuk{3lKUt<3Fr%$@`#7CRoR1xO`7n$R~VknRo42DZy|*XFeT8opCT5_IfbO! z{`h|Cv-Y2Xu!kj)!m(kuNk*e5YiTSv^F;woqWn>Lhv!CU`2~N2@@q94w1)G}zg>6K ztCE%^#=oY$YJL`jegiPbOtg!%iv$hPMP67k=Zv~Kb<7!hMJilYyaB3?S0MM;T&mIR z2|KNHOjZ6&0c02rbZ^Q2WYg*khZ(<*9xo7dj{tT6I{;|@@qtn*0P;>ODJ8dg70Fl^ zguLX^pUK3r@IyV1xbX{^;N?NPvc6-d(p)y!KElVNU5Wg z$=|*gcsn*F9$He3<7AQf?-j+H(i+h!zF?xNpiQ%Gh>pDMdrg@?@7bo+64gD?W>$85 zeix(SJf_nNQXyqb^=Ryxk)uo3ET>@Qy|T38Pe1<`$d`5^>CNW;Fiu>Aq(#52KU;sE zg(=u}FoqV>3G$YYxQlG@vwk0o9*b6BX)Nvk2bz6JPG@BE7F&E1@0-`rwYpku*F7Gc zjcF%B$(O>nXKv3p-E9ZZBu7JG!-_$j%Sr2Up!1@;FhJcb7922Hma&u-ra5n%&sSDz5Nw`>=Wo@z%u^u9qwWe9w)I0C zFEcw(G5%?KqnA@U&p44LlSC1QIP&oaCAmaEVQvMMB81~eDadU|UW%^Y1n3@9+NPdK ze1c^poWA%06Me;qNs9!2JBusHnt(xi5$F&<<-hX00tb@)X4l%GA&0oeO$(=V%i*#0 zjj1^G2#H3tcA8?p^nD46a}aR>&}p^7-9+AXl77vNivK-+rxDXWdiprniAmkN!fGJa{{)DvUEx+q`(%r>8fGU zk}e32{SvDxo*qDxHwGK=3UJG$kVYh-b?ZCAXeW`<5ku#EdQYBbdja2NEc`CU#p6%& z@IDui^oCc~w@UogPAdU(&A&7<%RCEj3ZP=A8E1XNe4|32U{7z$7`0602Z_K@f0gc7 zLcbAKvZmBPqJ+_kJH?v#pT|CZCZ69J8V52Nn_`VH@8w55l--vF>KkFuXY(tpT3bYV zCVM99eKfCh)Hnx8$eEC*lXf@XmbCPaNyl1;x{F{6N-dmYKg3wP1vD7e8xpN;V+VXW z-85gK>TIU=_aFnwP9oO?X}TIMy8)U!~j}^seiJRR|ClaF{e7m&Bx6ZSXB!L^(c?{5j~|*Zjf}y=S%F}R6R1vFOy3$q}$}! zGn+k|4Jnk96x&AxgtBXv+0DKI?tepNT%|Q)0N|^qOLe2U2bnUS;MEj~#kTgw_9~3v z36QPZX#`>}LXvH+-}Fxc-^&of;>iga#TCK?rs*-&uqK$Ekw;Zq(VNgQF2qvzKK11! ziOON?+UJQkqQD|HN3ri#s9=OqlGI3jeyF>z`^W2fBzY)$*q<2*3q@;*U7yyFHe)St z&59>sA!$5M-l^o|xp?CCZpoxv^c9yT>vOx_J;^WrA;cXL?-1{h=J$#<+BI5>x5{z9 z=4fF+0_gyyWIAr;SP7*>$M<|-V5LBA+Kj|klx8j!6yK7f? z;geV~dNA=$U=c;Ud?cz5laQ7|Gg7O z!y^rDI4vu>CZ_r>cdc}_X`~ozAE159imfa?AnC}*oJUx&l#nSNLtuyzLW5`AnsvTf zuB^J6Ucs+n^AKnnb^BV80#S*%HgoF89zpr=PY6!vFliVn)ep4Svts8$n8C+>>~7Ml zh)gV#2B4?$q?G1LYh*rmm`{@kQ4TGS33FLnrTyh}@tM&*Feaw^5{fcQ=z5HVUB+(nEtV-{o?TAKxOx4-eB3F$ zg`6^(+U**AckL$&*!AD??>0JC!TA@ZK#D#Xzo@^g%-4|%X)wk>8acCPU%CtYMYzQS zi~@}QMF^F5*dgoab&M|J(GOXjB5}Ikv4Y*fw;C}^$J~R1d#)cteLH=<24nc~!H(~i z@0v`?XHR_YSQEst*@GW6{IQ1aunCBMFU>E_&%!pKMaF&UOH(>0i?=_!GdnYZAnAL0 zM;=EWcNjr3Mc4ejP6L^1Qo;N?z>9b&I2Ab+*#L)Ra$D;9x6NWo^`&dY1D=>Wma;_q zWH@4XN=nT*cpMx7?H>{?F!%-+l1{;JjTpwSaPFBOjY-Gfv25VL!jjb-p{4_VIdUIH z!)H9CEmKDZ?7$)_R*n{`_(Dl*PcMa1A{jR}HZ&G2w8mW^DM1Z6I;*I*+OBIS1PC77-J!Tcf#UAaLUC_!EiS>`y|@-A zP^5TqFHUhO5}eZF#rgAm@4xqHPBO+G$-dW`^SYQE)XKUy63cT1WFw}QttFZ0jO z%XtqFPmI2kbQCH#c)jE`dkTJ(aEjCI=v##`R>8Ib_yWxW%@Ea#N%Pyzz2)Ab@PJ@4 z7sY45x&dt^hn8u`o0nR2a#Kb9k8dBl=vEz89fGJ~dV)TP=k?x%3*2Mnl^U8!h9|P@ z2lDGPkAIXgJq&lpe3VV&6w%UtqFI&y;&7dLjm}*Zp0xDEZ$UqN7#rF%M)ey9(aR>V z2HUH|*yy*3=80>(*044%%n6(9+ldh>Z#GIVL|=l0g0f3k3vMSv-U?H7o;IyZ|0z<5 z7})`+Y6pib1xpQo8YS7s*~hVbVp%{xM(&~OH?g$8;FBz7gClYdYTh2+9-Em3moQxl zdAV^>EH@(dH}5ArN!WT3LG(mAHKZ-0EmWbW^z(kTm3{Me2Dtxt)qH!71807 zG?zXW^Yh&EMbbcT4zl+7B|wyv8UQR+0Lvy0yMFNDfX<*WbTeJHGs+WEwe((z z&0;>@(1Cj9g|b`Z+U*#g*$psQo98xnbW=ivM^~a+ESV8U%-NId1Px8XQH^)ekuHEk z?@0wEE-<;|sIhrEASO0b|2O1B_vGh)C)$9#s4KI=OF(jR?twR^R>}ncCp4VM*5MU- z0$p^&Fzb8h*)K+q#lcTEO*c&iOT=j-T>Bu7{E%xraoz*4m?NFC!)7I92K)^{&3HmB z6=F80EbFf8=2~>YXZo>s>)z>@C83Er(k*$#Kv>z2{B;2p3VMER_JNbz-sU`w9*7KJ z3E{LQ6#W=kB4Inrf!OL1TVY!z$N)Q}jRR8`KJZjgl~C;%dDd63F0xR`n)Z-=!$cVc zG`<1uBY2x-lfhNUf)q7LavJE=wLxEkPI3$Xd8h9-2u#k0j{NYTC^;;?Mt@dl{1*+} z`6rk_GLUuj_wa9YPixw{pZ1gAi$uc)57|XDo(!KlME9J?h1@nnu3$)GyWla%;63`z zOMXe6mVWeRQvsp8%`KIBjR+*<9Apz)Ol22HK2ZcI35T$xctmI6i6SZ@c?0VZDTT;z zB=a&C1W-LcH!McEdie|PyDdB3$WPhRx-YP$5m1pwx5TOQsk2Gd8HLmcnMZaC7!cnq zqv92cH1E~a5!NBgH3C4df#lJeyGQ>b)!2y}9!}k3MrA-2kyAiDM862RRapGG_?6RL zTr0asLBZ(VhUUgs`NK13tDJ@!gZQsZcmAYPEw%K#GCH6dW9Oi4^?)VvfyZTfp?II7D$&LR%6=5G-=F+9_<0e*Q^d?fqj?YF60)QvfS@WYQqaem~T zu#Ub;4XY1h6p^O1G*Rioo_V{HJCgK^M{_qn2g9}ui#EJkJzHz^w5WhXoMAsgQEJ#Q z-U&02Z-+J{G$bUA#fZDqIn|xA&}a9Wqb`ZEOGrp`y|ZfTVDD@^mDYF5P(hhWSIWq# z521jOM}&IaYFmM=z-Hf=bX?Hrqp#DBJB~XzpU`4~`3!TqbGr6|iv)~q-T3|^)kfFu zWEvC2)7M|FzXalNzgCjr&JHEGeUXY`nQ{~I61owWjH2s`Nt`+PBj;Vhoyfepu(PSd zcGG@ceO+x39Qti*a1&CeT2T!!0ih()$3Z=CJ(c2Hf?I?Ci6@Fq7FU`HUEYU_CjK9~ zo%RASvndli#`UV2{STP7nK6+Em4vjSB#oeFk@`c@r8rm687i*dtDtO&8EOMA**Y3^ zeN;`hMkQ&*Xs5s!tjUtPG8oytDdZ4H6O=@4yC&j3L7Rk+CB;)Doh!jRF8V|C$7OoU z+Jeb~NnkYl1M-dt(2_tB7+vwoCYb8<@KEFu^)iwe9dl+rF$-TG3u@4*O?_~AZgSdu z+RQsSxmRS>J44z3Tu;DEWQ8@&;zNZ`Yj=+jKj}UP{tk4M&IFh-6I9+h--z9a?KR@( zv5mhc`~JK(DNh)oN*Tn<*E4!Q%rwmOOtO3YMSV@0U_|RsZ6#u_?u^B{yH3eYqd--> zTtkng#S?b_Ra3{bO*(lLb)R$y&pW}+k4oh*_c#|Z%@CBc?ixODPW}wkliNp;K}MK% zsHVcu^@14-qeQz1d02_bq+%r0j$PNs8REHC&(sPOj@5_ooz;rC2p9lN$@H=cBnlI= z8kby`b(VPMf3}>Dn~s|#k%-M*Ag*NT4XxvXluj#tr&CCZ8E$*;^v zH1*nnO_ha*n|QAjh1sq9?b#%WJLjnow! zn9UHJ;F;73kxSn}+^t*Mc)(rY6zGga&&JL{ZaP`dWb`;{{}6lvZr!CzYd-y^FyC{# zDKRxeazTpId2e=ahAlsqU%rNki6d1PX-ZcxfvXTT`)ijiQ6JCHVqz@{D)!zLAQs2c zn?qOL`&c0%<3fH-hV-{0QHg5XD#M4|M956gj5C9j!TJ;C1j-P7)9O}*rh;Z(lvWn` zU0i>OZPC;gC2BCuTUu0t`39gg((=aP&A#%!@(u_qot2AO-b&*o)-S~mj~su8C}3p0 zf4#)O`m;*qvU%VcDlnN=T0Z_TIkc33aAQS$NL;=qxahw6-kxiue|nG}E+mSwGWup8 z*CTovNz2hPU19d(0i8UdS5QEm+ zPZ>z~mO>me>ZLP;ee*H<(G^2=&uyN6lV_7P14d~>BW>R#J5_OtlS4-@=AC!+Zo|I$ z$6LC-%`y?AhSA3EQPvbNZ3N4c#T7x@cml6PqFs$<@_RH6HuRsO^P=;YML-0N*%DxG z&uHFje<9#%p0%1)%Tmi?qyd~mS0HG#vhW+Yid)JjHF3nlS56C0*sZf;=@5kF)KSzB`rb?j*qq?{0NQ5hl~5&>lMcb*8};3Ar+=M zoB0I4Vt~E+q5PBQ(^V$#Ym3CY9y)kj1;-KkfO0Gi;A435hb?TtX!Vo%f$zbcioD%} zMt+6H_?{~;>$Bb?&oQQi02$ygh(hsz0fkq*R=$+09`i0 z7LDh7)HD?n;r#KE^qL@38Y;Tp%cJ3bPi!O7SbPjWsG}J;iThiz8%~;my(kDQ&nUdGZQE|Jqeo?7Jub$PC5aQ4VIu`}{O(y8c+kf?`CC zE3Caw4+-I88hCUql^U*a&!G^A=Dlhs#IbdCuh38G>V|SmU5gyuDG}-8eM?-F{3%J` z?MZT}cR6pFBC05o$lB!aWn2=-CtW!o#hsPLpiri@GFeb6f?CBAjfyQMlg+H?&BOAE zVCWvKMGd>gdtGpv1rC5ZTR9^RORPS~4u(pYcl&m8R4sZkIEkb)LQ)r?BJ|;YMRoG; z!8jh&Qo^w5ZCyrHtiZcLL$8fGf9g=?iFal6@>PTRMe60IxR-=W!d!w}oP;y&v6GI6 z;Pmk=jBRyu69(89G}LIWwmG+&tJ^IP(!;+M_n$NkV8#+t7R3CY$;_{$FPSdOblULcZxiOcE-u6*@0B?l@0CPl46EYuOtmjtLa2oKGNw2jqDZ`&o;@#m48J zOWa-H8`bybOco*o`P=G#4~Vfmf+SAFHUrsNB$Oz2RWhsKenq&&Px&z6x8m2%1cB~= z1M9fbimN)~rgZy1Du|XEUf{AS5UhOan^TGb26d?XSMEoAu40NaAff`vOA>PZ_)??E zD;qNy{}~H!aElEoSSm6XF(5m&ovK1)p)sgl`lr_JGCi`}qli6(_+}UH$_Yx9rj(Ry2qoX2cj;`boOy5nFwsb*>fv zWYaFdHehiJE5t5jk>o}!p{)KNX`7Ul%RC%5YOd)v9O==vf@Y`v`7ZQE1Tg^;^Pmp3 zYOUgxbfG?=>&5(4_ow8~Tq<~m1j5OfP4yUqu16K1&u5ZC78$fS;3rZD&NPr_05y8% zh0yUEzadf`G8B`&LLpFGds%+*L3n=6EkXnn2ct4*lsj^nTD81{&9*J^s*6@gPom9WBo4+eev z)%5FC7TJ=Lg6cB8+6s^?w^!S>*Yc0+BW`1{ks=Of3j0oW=m?lkPCRBbV_0@rc8H#W zJY^Q2*t&oQMHuSi&MS|Fr{(PSxI?tZiNdDtSyuUavaw?ZZ*`v1A(4}K<%+5q)1uho zsPCr}#*WHw&l9zi33pMql&12g@&h`1*#x4UL&_TS^zc5k{DBmL__g@8Sa}i2t+;{Y zobf%2mqp&hgr>x%M1m8VgPNV19bX- zB{nY&4r8ogM9Z5)_KUKMvU_~qemq8(d&f2=L8W?jRyGK-tPE4jsnC(k$c&M_Vd!iK zVt|X}A1)!oDAh_)NLmic`{%e5zCl@*7dmuY$DU}ynRD+LsKx~ z|0I0m3|3T`;5wIr>n|gm9ntQjMexzCVUl5zptQ8GZ5_dC1rJeYH2}UxWQt&;`oTy= z6`PvcTE*yne#)n-2kQzp_XnSg@?F)yKq^R?u#$^bZNDh_2)>_}I7x2<>9a7|EBC5% z*tt|gG@Ov}6)rb$1iZ!2I43?MUa!{=I?T>BmFV(ou6CWF&k`kmt0)k8&E)RZ0o;C* z@DnSAcV|K2d=Tn%`;`9eRdb{@@$jOzGWN{iDRxKRL4zise7TbO{U|WgOv+z760Hz^ ztA7)C6KMJ5F?qCqrGuWCJNm)r3D(lp(#74+yoWSI0kB~*1)hDkAQcXF9v1? zX6fTa)#hr6gD7>LeJ1mt7e0H4z6cYExNE>2V0vfw)b}Cf)JjdhYkb{Z)4sFlx zH={$UV3l5I8ZwAcDKlx|0^I=k!Z5~&7lR8!c?{Q9n8Qtt!AE|l5E*H~Xbi86s&(tcz1jnrL0y(Ea-F8*C{eePRi85Y3At5U#TL+2iKUUhCaem|mw%s~^j8y~Zb zY*J}?s)Y-Ry{)S6=D&(*3hq9?NlKrD&{W)$@2Hxm$p3?$8g`lA^iOAdx!rvuP z>W<) z4{-+n)dVLt z#Wckn6m#rfyBubLucl>P*>M94XPpTa-ps#wTrXVP-@;8nuffmx5MUL+FtrV?smX8> zjiRep+hd{$%buWx&?>*00wsr9lD{_UE;;{LLsLUzIJN!il=p^o8pKFqy?=&te|mo! zfs|HIqzDs-SzqSZsl;gP82f_U>_dD)*pr**(BXpxrF~{hrySo?ShFaQA_g(7>6q^O z130u-DBG7=Nh2)r_V>>nemC40oC7sd2ehh|4$?B7i#%QrACn`{!|io?%zz;!C1&M0)=cT;^+y~n3& zn>>pj%OaVXJB-O`)5vm-=@WP?H&#-uXBmz4!wuQQH8mG4`|eVDO}8xt1_xKMh{>e; zHx+Q(h9JAZ#Q`d_Gv`cr1gyGJ4wNpav1Evz1+MsAEu%zIvs`jivXV-G#0ksEXLqt} zvjS)cJfM@%77YO3xk&!3H*z!EL~+_WB6M`3k-MdV*C3=$Knv zLYp#f7zBH+V7`D*n#ZqHbRSO*+3Ch_vid2D0VVX#XAetz5!IOUWord%?DrtUy4ogRy zbpumx2Q!LSP6L3bJnAJZpYZtS8YMec_0&Sv2G`*c?tv)ZT1FR!2ZjeMHG?=4Ahfk8 zz=)Rgj_!``9+p`x06C@$mX!yT8$>Wj&fpm)`&rq+dH1T9P3DRaKX-=s;6}WwisKNi zwf#Ibq`!a0^%JcU&ep{!n)LSDk~gXt4v!Z8krD%!%czj4wD5bGEdBY1&dMF4aK13T z1On-EIfoKKJZBF?GIbsH9+82~C?L6|{it_b*)6#XnWbTjA~j+cH%)ElHQpl!YNnrI z!1~||iBHpFn_@kB{aE;o-y3^o8zoU0$~0?WOG(D$qZ*>7&TiiFiqX~5i`1o}fseAU z9X?1vE(4ff5vbves>OGRC23IDmA;eZ4KqX%mm_wDffT-qDN)U*qNn!BjxKu7dlQ}n zOPz#8Ma%s*KC+Ce#$y-BXDR1DQmd^%{-^M7HxJ-t zmF9#&DaVce8T^aZuQ8%3!Z`zC^s(%QM<1XHblA79bFOo;6V1Og)^aYsku9J;qe?g3 zX{R)NPg$mHND+uaow$SA>kP@Z`Q*FfH*-NKq%qh4UL`Y?xB{`>o)OT(=ylZUuyH5H zz_{9El#KiL&(49CfjV3sGf48N{pe5RJpZ$^2QrMDVH{DSKbYQ9@XuT#8@{O7Pybaq zNh{I~kUb$eAxS}#|Bxz6IAt^epUv()|7UFfb>8$jo@ZNxAwOk@@;T!IprxM@o7#pR zERD-jFBm!gj_9=>9!m@`N2}oyJr|$xqx8UXRr|BWlm$I#y;po)d>!oAsKEXUunP>Q zKqkkDB~j56Jjl6>9eUPCGEdPcR?onv$alh8)O3q=m497p^cd)Hx%8+kX z%%)jhmqthWD2a@gyduxdC#d@>1Mx`KO660zdYxI9S%#wp`Cf`%w(G>?muj7AH=`eN z^q>onY>5N92lTUB?6Op{F?smP?dI4Q*VOzC{Fk!;5#K8C%?9p=?<#Ch<0xZkg-tzyJm*9|lc>_%yk6xu8Qj<9EZ zCM!zLDT6*_goHJJ5+Vh;-<_(Pp`pU2~&>o5Ph+m&6CG{$j zwj;Ls>IFQHRa?99c_VAODOIri@I3f8%PETy1^wuET5H6Hs=|Wd2DbnJz03m_MMR1h zRjH+npPPr{Gmi1S%7DQSP6b4>^f?^ zL1~NQu!XGuBlF#s#Mp$nHUX`|k1AjlaA(@3ESt<2x)voGmnWZr!7N@}rDG&6pf00D zsw!Zzsj$ghIMOh9ErzYI^P)r|Hq3AX65%s^Oq!RkiVN7Weh5lMCb}CJ9~D=s`Fa#~ zC2bj~x@o%kYl#RTklD(7L0IkP!_|ug!4m$O{PA^18^TnuD)w9v7!|14j-}mvhJOF^ z{$~UdArm9nm!W`&$eJ0H{a>^J==GA3xpYn}PM?kIdV-|P|IdLtcu%wDaoWDe7oKHc z>n-S1un2`Ew}{>Y0>p~s6_xN&t{QI9{9zJB#xSWs2d5uXz+!{Z>G3b-x;13BL8Zg%!{WM*bvVkRLna5m50r z^M6zLA@V5ZViL9wjx2&kg?(H+SG-@oYCr@S5(wf60s@dw`Jv7`>RZP+whrpC3Da~k z{Sn`hj4f<4X5+Q`s9YeOU)sLtu|o;Zs-&KLz5WZ@OSLGD-CkP&-TU%l=8&uj^+-XscWI{V7tMr!o*CB%Nlc`)DS6}*d zUO)C4@~x-2=UUuxW6J|k0`EtYsp{M%A;OAe@km>~dcAeE( zUivh1w;H(O9q{rdS}sBX8G!)zGT;KI^3w>TixMArWG7QJqUdv!wJqxWnZ+j7?nrxgY<*+G<=r8-Gx@T3NJKKjrLOj zFWWuJ>Hp}&M7I9rS0R2NDvh(&tvWuaTd6gEOl?1D$no{9aH{aA3uOV}VpKM{Yp5qi zbK&oR-vP!|a!Y~`eh9+2mOoV3Coz98f8Z{9BU$|Z!x^8GuG3FrobREi8m|A>+mwrG zDeEZcC@35U)0Z)XL->?Ry5NO^<{$R>bj_jSVuvbGeyY0yu@k+CErM;}&2#n)7tTz(~^+V3X`(_Ln=ztFS`>rAEMl#VMsFBBjmMw9x z;D*mX$KXxPX~}8oIIl$*8foLth2OkF9}=jj{*3$?K`?tfI7@BZMJqdC5k$9nTJHz3 z_gOWxg@V$%O1nx$qW)9CNg`l=_DL;@{?rhn;_) z4EqcwfoxXb;!^4Ew5+`RT4p#!nV7`?+-3)7ygK>v806_HFLsd{6@Gc4>>X1vM{|m3 z>Ewye*_h&mtFN2A$IVek-?pve8+F08yc1t5)&zIw2&8o{5GNg;Da;*golDk!#pm-_6f;BrEnY_GhH)> zls>Q-E$g_kbx}-HenMWtV=)r}0~BjI3?HKaSK98SzpJ-Ps;1}Db@TPd_6eszXpHtu zxH5-}x*vlK!|prXoy|4*&O_hFSZOEfE8ibuD}QVYt&JKvbJZujG(0sN&soG2jH)>& z54K67m9f@MQnXPa>B6Y8dXcmL%xJEBcWK(B2gL}wM%|`F8lKH`T1di`yb8Lc34N1LPIlbU+OsO z2a_A4&0J`#XyCr2Zs+&b4;1kTi6piYU$wSD4D=_4Yxuf*;BxH4-E_TCi@|$g@3V!(Rzx6ZQ;yd&k zvP2U`_R6XLu3`3J_6VeEojft)w@AK7$6Q^!yc?e^CUH-Kzf8{A#`Lu6B~Hy|Yxz*vonx?1hi)vV;mrHCRftR7tQfukM|2>~r6!O|SxK2kS9>pSiCip0 z9fH5Zt!~494)+W7Lt+#S_$U^Cfg2{(?`*`})Tf?kP4(WMf1=7_&J zj|DZUPO8I7>xDa8#^R^q>lS1%%jT?ZAuFG(;EF{*`BFJ1?|>*x%TDiF7fiT7M}1*< zzXMsV^3|QM1t7i4T@EfsUSDWghDqR;#BxK}j4t*6;|6(%=Akw;r2d|lobvtY+oY4S zxXOuvWA*G5io=1&Ckl;iOr+HS`s5*fZF5qY*q}T9G~SmZ=2iYN;$wut3-STzAWQ|N zmUkF`+XHYmJ1vVHnTWA$=;#;^)x;&Tbs}&sJU|-Xa9DR>Cn}mSz{h;@uAC8G*tqnC z<%&S_%K}RS8Crgk`bTv2U(zCkCSY=Y*jUOK#teL}wNfW!2C0w_8eK#qwew{{U&P4B z#7H75tSuJ*W$;hagE+)^yX7A`;-yx886%H1Wv~3(k1O%T7Y3*E8OGDsr>}!?VB8om zlz+s^gV??RkM!Pax*i!*5)i%^(HW|=X7r?f19iqmv763zXy@!hmFhfG&}XHXz1q&& z&hfoxZNavP!Ixrgh&d86PO%~uJIBOqC`33Qz%H5H4SJdM?d@27T79y7!n|I(Ucy9SwYqRqq~)B_)GD1huif&AEnI}9`4=E_5MyNj zM*cr8$G9z?Tykkx7iY)U6X?n94lCW;#LD{5yaEZ%P-+Y6ZOtfN(vS^}NA?{ER)!XZ zb3cxTY4-PeM9hv9#xjkN99j>?Ym+Xr9AlF*tqV#@KgmDI?*r9uyhjZF1^o+h!^yob zyf1vt1;CKQ5}<~dov#7RmY)PSKAEzQP4Hw5ybB$WwJy1O!RAoLR>nRbS{cw+L9!k} zcOK)6xfZN?i4q3xI-wfjec}|?5>ujU>21egc0>zm(@r^wZ`9@@o`uWZO(JyTq|4XX zs}}Mfzlp6vOb;vNrUdsXF5~2_!(#+Tr9-b^yRiQ0$-Ya>-;7qH=}R4|8|8jfVqr1) zzmt9^4c_y!Lg>i9kAgJxG#$w%v@8c*AFw@jh2^O)KnnuNe>+uFeCdS3don*U&B*06 zmUS+hIPL;*iJ`~nG5W{B7a99<$e9$CO;vwsPBMB2rx@mhD_jT<&LkGq7uEOp6pgSH zpfi2n0T)9pr9I-ZW_6899<6xCE$dv?$%bPD_-ccQVv zSdmV9n^BXRv6xnHPw-6eOl75KHGP;q%q8A5Qbr0SHnBU{9Uzh4EO0t-y1d-;6uC$) za*1umd&YYpagOD){CHf;z0;UtOo7L?BM}m@Z7p}LvDes}PW!@od%b-kq4~bkhwH-= z2~T6Pj;ymREpKSx!N7xMW&UCMDt%Qlsd>+`JeHS8xZfw^$T%+XU|?imWO=zisMqOr zT;g|DzzSk9_YY(dS;Qso4Gaqm1BsuF8;u)NDb4!@o6e@k@WqXJ_BW6H~O z?=fZ=Gty~CA{O&BAsfgBur%)<+>Y{cc?8YZgRNm}z)}~zhF-%Zh6Wx8JOC1x8+RIa z!c%%+&NtC;1AE2)Sw1P48gncZtjnt^pW~V@YtjJdVM{Qv3=|z z_7F%cC5=gA?$g0~P!A@PzIA#ty&1o`PAtSi5QVw;JU-7Qrt7=(UCE^PJP%;V7ymSU zr@j-;@-^`iuWf7ofjZVPNW9K&Ww*v+%443MBta5fVuHR^-&n&Nzo@&Ri0gRI-L$balMP1(oEG>Ars8La)%1ZwTeYL(CB;1`b!YC5)T%>Q)x53iF zKyk<7jx{y8cN^1;Y2aj6HSUM|fy6s>BAp12T{y6KWAVn?T6reTW#KlsjcJMm;u3aA zo02xQwfW6?rKzaUAW*KrS41M}a0^4lzZCy+_;CK$!L7lqm6e*S6kmm}0*Ov!C)vp* zh8OQF-dS5)u&!uC(TJ)lO@t#z%%YuXXYP-Z;x5Hqs;dk879A)$P+hIL8{v6)9!RXE zkI~1#j)E78Iu>=TtSl@p?p)lNOWcLG(PROSr_> zY$lr-i}~m3rFtp9IVUZAkFyF^0Z;KBWMkNvc-;F9o6Tm!Pu$PoI$Q@5d-ZGdYe2$t zimst+pjy65pQq2m@!e11T3ibf-|EBkVW8Brg+5E41&QtSMfxI_xEq_;G)@1L`X+r7 z&!~6kbM(1P#a&Otm&k;)ZF_o?1LOeYi#tTFB3FULcKwuoic8F= zJ!wzdc7IFqNj}%%!)NhXkQk%~^Z>V`4GEJl=$JxV)7D% z>4a`fa!3wHjAmu5436*ljc%YDVlilZx3k;fDj|XYz<*el*JOj)VEBV9#2bH9DyT;Lq!?Rver-W()E zQ3Q$C=@>eOOAHD22=+L1$hTYXu6O4WIXD;Rnx=pXysNhi{2KTbbPQujmW;=ptc*lt z6V>uY2ObSPT3+tEhOJ}k8c2A2^m=-|ZOc+DvsH85h~^+L!{tLCpby}49!jHhIPAKB zr{n2ROXxJIK=wYv>oh!=7VLq-2_C2>#O6TTRWYj6$xzZ;r}CWgbB z^t}W!E{eWHUq&LbVrlLG=|DPI7C5LGZf2VD3s+C{B6=|#R`t>S0eOZz1A^Vr^XU0- zSZNSg4X!x{`>`Jc?-oVKbq7C1IIOCp+mC<8zk}+2$cwz7;SpScE4T(P?M-`whO02e z)HG#RUGO>Tg1T@GkK*_7`=%*>;p&B^pedl?UR;VxxrQ*EL?=a~B1yo8NAMwh$g&pv zg8HF;T*G}rQf7cWo)F|Mexm>q(As9=nIJd_Ti5~{PNGhzQ-f2eOS%WGL@VJ@%SaQ_ zglot&L(p)EYsk8I!Oy5K>KhKL$|^J2)m2=Q+lzn0zgd=oD(>dkhkaQMGTJrwIQ$X* z$TTJVaovRGqPd{qOX4POr2(*whG*m1k%&BnytJ$hGFU_CNAx2^*wrLOQczWVm$T(; zIoQwoV8Xqvg}IFv3c%W81S9XtX&YMRm}FJ|3XH?CnAPU0k}Zi(}7 zo@vVA!1XNJhPH7}+PFP#-yqavbzjYHW;ZuzOw!2Qj>a%!7@T4vil9gXPs%738o}jD zS!dRn+mMN78TR0ZBK@d-6f{glyV34QMBS#lnmk9Ivu*i*Z)cjI3GT^J_#i%*wZXSp zZ>_gZBwTy&mH0}o!8wk554oS*4>n9f+tK!L*xQJ1quam+*IINAodZ{|MQ71jP`#NA zWCI~rd!rd>2G@XiV1&am24$rc{Wum=AkcLH_r|?J!!p)|bpZ|K_y&9f*Wg66XAOOX zK4ROlS4r5SNlDr5Jgaz&Mx)uDm5*vsE&SqTI-Cx-ZTW@gA##eGvh8fxuS6%%iAY3Z z71u72iki!hs!$btv4M`IV?p(9(MMre9#6(wmNF8KmqbbU;t+Y7JPi(u;!d~|*DxFH zL;FC(GxTzLxoyiYMD6ApoGf-x-t{68IT2=?yYyUVViOxQl;P{}bs+cvPT&M@?wLvg zHp~__$YDa11zyZE&yGfAe#q*!je25q7M;aM9FsS5&@f9J*A;dO$t`FBS^#+=Cklx~++Pt7@mSX4 z2%)DffIofFn}GT9_j%bOgfoPj>WS0 zA%MO?-@xZy+zoew&uh_iG@aWpmA0X6Y+DF|gM9cLK4)2r9x5?Pj3Y-Bm{-4aK4lls za(5ZkMm5-=2UZ4Ff*&r>&2%$>>|f{`^bKx9264eJ7odaaAbc)#kVr2y8BOLk+)OG- zCD;%bc*?z)G$M__hEXNKk|4KXFt)L6ntv_k0&{Y5;WcBAu?Oygh>^&3H1o|sH@|{)gHVD?!t{KP(>sn>!bg9J)%dr z4bIS+_jF)P!nET$TYii^I;johFK zq0i7~9PAa~OZbv$%Gt@&mTV*2Y+ zlS#njLBAo95OKjf zPK$;((lpgwEJw%CF>XU953*3zlcp}}ibji1HFJ= zkT!5XtRyW+3(FEzsBKH$Xwl%3WhKjaZe~zm7H|rGn5Lrj1o0S+it#)e^)+LJkwijG z!^*|;XgAs|+ZJ87iP&^X5ZLe$nL?)6wl9alzeHl;iIV;${f`{c6e4fMlNUbk$8j8o z9{#;PLLb2g?zyxp?Fu$bpp9u`IK?XAN&g=GtbP`Zly@K+Yc#5=UB(~W4*}Aiv@Msp>^80CHt@5B3K;8>O#VLdtIZSpo~$RV4_X4{s8 zM((@DA>$CRiooJsL9PISpGDzRXrQn3gVRXmDWnGr?hT#~p0BFX)O_XCYzf3Yhp3Q){^JR^Pp*)AXD;60xZDF%Qd%Olz+ia0z!WrSK%sId3mj#PTSM=wk>;?{~>*i zz9yMe8q@%q0b1~=0(=o)lo+2gDz)SV@&bJE3h73=S(ZRQww?b!!7GDTa)RjtGJ#C6 zZNXf}<1!V+SQ!pGG>&ac(CYtL?WHx*<(uTC*HoQT4 zlirpk9AsH?a?O7sI4C&i&>>AS|Nc?Dn59x~B1*Aq2|9|7a@P1f-9$IVVv+*|*bG~S zvNFYaiB1Cu>>1jKHUeWi5sO%sl^u$mkaItb%W=7BN{8iN3Z{c;ZbJqR*miCXFY4*E z;G`sEFQ`nA`9#PA|sel26KiDtLSF z_KFI{>ALpgtMS!fgDu!+&pP@zeH?5U!f^$+A#+KYV~Nh|kOO%m0uKisE-%+4EXqTH zrGcdt72dCSbC1WBC%tRfE$o(9OjLKUVQg?faKNEM9=Ef)fr`=x5w^ljn$EKWZ+$6o9;P3cij zFOnol+ZNm|rx%jWVnwn_OT>ajQp~E_`%CrT_1{w|K_bRt+01gXTc984{1aAS8g+(ZxSS{0`|N!H zSo`UGIzJi}B)?^;kyg(7f>efj`7fh~(St8PzQvE=M@&>k=nzEp2@3yWF*z;DE~ts>W?5oniO1#KDfgwC zxHYh0p1{-Yo;ZL5pm8sqL+5ZB+v)Za!${I3JM%idT86obYG-Q50t{zr_OutP;rup% zGl4T|rD2+i>2DMpb0kpE=6V3q=XfP7EB&t{gKeG~=it`xT@ zQVy!z=-|!4n|Y-jE7lp3JrYxbX=ZKMB_c?YL~@rT3#${=k%-)|s%r0$MhZX3u$R@p zU|dnFqE?la*}ISv%5K~dcZ@_7bockym+Q-uNx4{(Oor!e!Cz~F*_4DOJgPImTk&tTwVVseETCKm@%8xnNJP=}l{Am$@%IYW=%4AIrBb3DKuda# zHlaXz`9vGL)>Z*W@og*~PZg{AFiSn9o^9sj7IA%p>z4;f4oB1xA&Z7Yqwt3SQ!u zJp%8?`y24QlAd@^Y!n3900H24+>ugT1rb}F$t}5*NTo&@K{mPqNV_t-A~|ZT;0G2GVqbETEY}HZK z+5fuXaTpueneQX}EUR!((T7DJR#h$jJ#;a2@sm&7d19TX$@VYyHDC!tU!$+H3RNE& z&R1iJg#47$kOPLJQGwL6L$es7vr9G+qJU_BHf}O*f}QaFMRi4W+y~P8PTDBOSn}SI zIhC`69F?3(p5^;qLS?9|0ly=uMW+tscMO~loUf=@TpW5U^j2M+%uB`gE2?Ri;EREZ z{}6pB(HQvPO+81?fgajIpQ2AmCSkAImbB$Qa9BzBLk&4^X-A0?na0+z0a=ZtE5_ zAI%Skm4eL9FcJ|X8?@e#U}_eB96A{~32{J4Ytouio*9!HaOAT5N$)$?D%Y(3arzd0 z3;5uFNiNCd(5;tP?e{HSe z`IRp+bWAub*M2gjp>Cvc8XoW%{s4af0oI+wNu2vY@_WwAEU0EsP=F4j!{M+jB)+Hl z8wK(B;vYk&L#ONO<;?k)9UdH|t60^k4MZDUhzlbT<%5gH9mXBdg}RecQpyX8geP(% zC5bc#Tgja{kXrAOcVT$FBor)+m9#HufB3Mb7)ZInD-dkCB4A^g#3I&Q9p{WCoc5J?esJAc}6gDB?t7 z+uW_jLE|8Fpb28k)FhTwagf<}f~lX7nPet3l%GTq74ZU-U1Q@e8x8f}mPZzSA z?1nfv%?SkX!P%1GCBqLNR{I4(Rhp(MZL++}I^huVl6cBu(!0EN>l8@F4L6bq;G?u!1K-oJ`a4}VCI$ZP;y~H zGkh-Ob61v^@^mG8$R3D;M+~3g%fvzdlK$KW3s5;KhqGyd=oD*5uIZBR#5AHIi8dJdsf0T?W8Fl!uf|9Bx%F@Qr zSLmw-D-DO_a6gBS;bV{sztQz{J)aZ%BOmgG!+*sEsxNdCrAuy=7OxF$4{finSFC`q z4bW-U6?wy>!?FgM`?^tTl!Br&#j}fN13r+iov8JZT${+FU5{p>nef?- zzeJHmZIZFq#1{?T-;sgkyi)`r`_KO;>&oM#sIGOX!JvVt@qwb?jvH!RFsN|>R0u+p zD6)kp8uOHgFHvT?dv;c>uBEpbK-{7tDzvmkB~9C}>2y1e!%W7RFoPfgL=a-sXpAu` zi4uLc>YVRXL-ddS4KO{^x9&a5cfRkt=A2v(MCbXFn_HS&HgBf0;PEzpZSS@Bs*WQ~ zd}p9!GF;&PkoKX;bw?id^25QSI?^ zxqeq-Rbo|VCz>oeRE~q;THSN;$K#KyVmsclvSsDAZIRJ5h0;Q=n$>2tItz{7pwD%s z;NYDmI4#$c0N3lMBrZ-|T*3du_;%i2eW*TEz5ZE0O+Rh*Y8j<5p@_O`b-X`EOyrFt zZ-f|GrEknRa98SX+Xbf~+fuI-C&^PpiIoX^X?1P$*V`s1OAXohA znG6VA^tyWWynhfStm+4Plis90sxJb_W`n-*eEk9afuO9%3>XMh&xZH=k~4ktrbwP>;tU9JNilbN$Iq# z0nP$5Y0(O4Du`C;Rq3?McP`Ou^cwXIezWB`sFCSR6biLYtSi=~Lf_A#JEA+hHCPeL z#d2yNtV-UTyt%tOwAQ@KyeprVtjzJCVRYhOiGOu}M;Glm6iJ=7H8G}i}QBh^f{pSGVal?Z|>76YJ&W8l0!{Moo%i-Gx@g%E%Z}K& z6ZJwsIJkx;2tf10PgoaP7v}TOBuGp=iU0@-C>|?1!=(*}Hd%u&^(*u%)ayU>%k|6C zX*%}lwD235M4(AM$SsWIN?xSMYWq0*xKas&Dw>+)a)Kk({Eb5t3md{GnPsz_%TdSb zIH(im-`BjldG+Sai$^Tmv24e#UBPrI*av=bCFA-ZS!JuNn(guS3VTJljEWU7G|q&u zx^UjH2I^}+<;n9$e(*~n#|a2_n3(>~{FV8uTn>jy*5FfnvOO8Pt!!2@7xqETk@jqR zwt6ft+Q-|+tHoNzoM@)gRsAhGJvu#;L4mn=i{z-J?8GO`9tTb6QgiM~VM zL7a1S{xccj?fHwEP7D0=nBC9rS1N%q8yd(HZX71mI!L0SbBzw8!*zih0C!*TgO+J6 z)3$D1e8IAv%XaSCMT=W1iJSqGf0XexqioBzN~PMDV!x05Uai47#zteKT7zZw4ts}M zgBN2Rv5wYO4WAM90P=zmryk^98g(P!Lt)LIObv$W3m-QhS8Gu3F>=*em=Jw6`l{p5 zjw}=;sq)wpFrgN1v4&g2^Lc^5>!Syv2OLL6j|>wpxU^+T%apBK7yV(Gwaj|!ElA}w zkX^8%aN_V&;aBWL8)8azrPiMnLmh#MXWf^#BB_VeD=Pt{MY zfJB%H3JN{4cA!0&t*_J9rPB~DVUgrF;$f&X8jNrTg!wE@azkr~w0`Kk0maw+vCVq3 zzIpS)?xpLNuG_H#@Q@~uH-6$8>k8|Ne7<%piSg>MNeoR4Re-|?<8|ZpY!-z@{f&t; z6K8t5DGby2qs;qMzev9b@`(y|IM+y3i-~%LQ>uaei#ASZ#0(3nEk4JZ1Ad6gOr7=x z_65Zv5DzVMmeFRkWwTV?xh{=6E0AqpF_XzO{i%6W^QgW)IuqNr$;hobYg}hsr`BLZ z^r`4mI16eGu8Q3oyH_?P?7!^?K)Q7L>R8A9z$2HPi#Wuxfz*WBtc!4c^d? z){j}~e8a#?yN5Q5}2i2nqI?2q0Ry~}ar`STbl zs1LwI_8BzU?4i(j=wE~zknky+g$^y4{{m0W8DovH75jh{Q@|4%A5EQ-I%U(Q#^+M! zrq128iJ1Pm9M{UO3&vjfM2|GC*5I1hoYIz0> zSOfIVebJH8k(msLdsQ9L^P=ZvGWhq>`eMESriLV2OeUW*XPPr}IpmG{X^G1cmsRu& z=vaj4_m}9c(OXd$1QU&hS;^y)$8~oLmIfI$h)&g$qg~N1$3dT1^OU{M-d8SDb>7y7 zxKVSzowxJlvM39Ma{7Ao!svw+=iVnkRKx?2`G9yb3o@vc51rQkA$m#ll1zrkY^pN( zmi3VJkm?&pdpoeZTNY7ZA2gl^P5soLchTC^pAbI~KhV)pHzGbVKC-kMnak5Q(5{B%%Mf$#-> zA5c9Fw0|rjaqL`|=ot#AoZ_)j3Iz<=Yp28-V~wgoxhU~L;sb9V9AISY_2hnBcliSEp8|R`>QUSk|(-Wp%}z z2^ys8cSv&}hl|C2)qTd@#@((f0p-@jMTv_#I+k3sylr{g?%l$Wl+|z2-_YL(CLQ2X z0m+iN^uTC+w7yc?1ZE6SeGq9GoCDqn{6LO#Xt?p3@me-3Pr*mF)oZ8sGy;MxXap1! zJ3Aw%Sx;I|778rF-n5At%wlo=)aDhiSA%(mXJ-Y6DG*@MM%9 zTKT4lsr9M#y}gm&*=N{i6pNyQ1#_qRP2*nUUf0DtW7dKl2+ncsZ)1Om{h_UG$+gSd zm$!TS;4$NL<8;RX^9NO0RcG}4==q>dWV3+6MI?D6q&kRs7*K#v?!STK;G+n#wawj+lyi{5+ zqUGk6o40Na|IMnls#P!b9n&>kwUvw3kE|c5eejgW^2uhQI?)7xW;9p0eLjsu{U(#h z;~_l2{EhjWeE!fxq{)n(#S~Qqn(j$_0KEiLAM{c@LJ6AhTD?c_2?|K;he(dJ*W?wT zw*0g9KzpF7m4`-S(U`XnKH;{E`?4s%j{?N3*bSF3zxJ%GU}00d-e#CMFtWW zAEQd+pc>9wH(EF5^C&pz@n$lzhyWm@Qe|lhwSTUQv@eCJP%ax7&F6O(76|qM;=!Md zI-|~YiK5%lA%YAd_rm3+TwbuW<%O0PwrxXdqh?IOL6fbG*2ZEHf?$k`G@0(zamRWC zA6p;t!sH{cZ~%ctk}DuD$%O}Taw?=`=wPr9_%-06V77uGE|Yu+S1uM+b*?Ist}fUs z1hlf1WH=zCIhLY=N)K2FbpqIUODl6F|^=Ge`xtqZs~;P;Jc{^<8ke!$UWP#FXY!Vi3Mxr#*V$VLKPJb3^WivmE9 z!BL?gGDrqtQ2xo|(1!s;_q$4;T-)uJF@P>YzfA`rsB4oJmkM zNE9luFiJU*PGdeFw0(%OX#b9jE{HC09AQM|tn01oEB3+u_&f1;+S?;%T2EO|6$;EW zRgl-DSU46|`=Ghyxt8a)ZiQbJ45Vsrjn&8MTU)_UuALEE5L@8I17>^3Ddgjg=Paqu zPrem=6{*%SFJKBUrh7t?Wi_wh2EK&MpZ+`?eb|c!XtvMR=jtAbgBJ^=j_@(&dUJg) zM;2J>v)||m=ZZxvz6Ph5LnW9vM8e4g2=k3S)1Fx@F6nyY>PN2LvqwM}k-0RIz))(Y zKN&Sfjq5_97`nq_NM*C47XpGUWgfeSK!;q_PPMXl1R#?!;VIY$Sml1anErED8R->k zk~JxxM{A5pXZUMtfwjOh$>H`+J=cY?g{`gg_q80`a_p8ZP}h;NE1RvG5}z8M+TISw zqT27q#>B?7wrcX2a4KDvvm>-&P=PhVKH$iu3FnR({qm8xH zJc22YO2fyQIWwoW?h};CAm5O90Og>hckbfD|3~Q@ItPS*8d#`(aM|(=%QvWapc)P} zQ_W_j!T3F~faRET3>4WcQ>jDWra7esYy{<=oPX5Lc;zIFOa`Kx5T2!Q;8+M889qiR zh3l_O3`q>>=n%6c#KhX`Vsm42%jG7wc|h}kzCJM?;y128HvUEYi;fNe5s|;!x7fFM zBN9%g;v~ag3l+PQKcc@wEA|0zd658tdnq+Do6I552(AntmG4sE2{>67=^;IoP9uS! zmqu6zeh?XF{m%Mbp-|OLMp|0rC*;@!3lqxLjzdOts#pHdo?uTX7U^-SKY!Iz-m1JX zdiloX8~5zdq=4WuAMzI22VA{@@D7P$XsYqG@wK-PFy;3}eH9ECz(Ibf3z9CmOyu*R zmuL`oA<~eSisPW95nOqjF~^vr_QAx&xruWt>O>G1p#o@lJUK2oPR-z-HK&`?b2-$= z_45)pC2mstV1o6E^-7=~(WrE(7=7^Z6)iF7hCsZL!TbS+*dUmI z`*9$cJHh-$hBWeuw$HZ*2|891l()8GG(rWb$4k>VFK{re>WN+)y*QJ>435S^r4oL1 zvY09s7oSga$G{&E^ih}x0l@(A9Uh202?>=+<)j_VOV4JdRzk@Gt{%q;Jhkv3vtSlH zbblI^Ho}lYlI3_nE;VW^?>6Qc^Rij&1Hc6uWHEsK>i!kq8{gaBE^6arJng*eHXNRK zE%91c7wv;WfqWH9CDBGoIfscS+5nXM$PX-3k+6uxGym#F-Gl!Syr#r>+J(J zG*#frnf95*BJoSgWz>f#f$G0XloBNcK)qxSwg;*$1C+HGU}c0cI5D4k!b_&EkeM$P3^r^N<$K0_3|^EJ8I9IodKUQ|*I<{+|9` zI<3KTP&yRmtrH)ytxarMnVw#Agnfs7N2#>%%B7bry=?n-jdKlDij+0z`#Arc<*+27wDgp;H?M7(KD#qkyZ;4lj@+1XJH> z(aq7#Y9FlfxVVJ^L80m!9x+ZaPH`Oc1?XVasOiZ zt29SMBY}v7yf7qcL=DHGAD~wKC(MXrN4KhKlJIFTzd|Abyi+$juKrgT+i&g9?9a+& z7{byUmCM9i?(5U)-%YGdtnKWCoe~^u4>j^arCM{Jowc*&a?O+WJN7%}a$v~8I(iwA zVCsh!hyx30cw9H|R(seu$~Y>RcnhM1NjRMJxNfYUnYcW0d1t5CCPVuV#WrlM@ePn6 zQEV)iVZ{q!yGGAfJ%v&F0)0U`El&mX^O1Uk-jGg7|lP`&q9P zKFKVZr66BOqPc>85c&&EfCUg#xX6~gz@HU1&t!{|&x?Cp_yf}YOJ-scPwhG)bHd3Q z+)Y?bH)N8xCvWfW)*5e1?o00L?iRELK1|&9hXxog7%wOg=7+?|AW~?MaKs@~IClVP z5et#(*lh{n9V2y3Iuf>C6~{b=L?Yj_QdX)^z!b24RN{oh2^}4fYHFcbtWajJbQN)q zGLHiFHmKT(S{Zm|!)ziz_ebgT_4yTXfZ60y>T-(=Gf=3owVI#VX**pi!K#oLP!(Gk z6kJGnIq+298QmG(N&ExqNapKX^evb(1d9kZAYR3vkwF;^#ggm;4zlno2bF>(*7-aQ zC`u)vR5cxwT9jI}X%m`oDKwyyzrg4*da_x7un-B5pJ8jOhSmkTHJLMG7K;fefJ^^z z1~fyh`cdOF<22VrSeJRjkI67Ja zWQC!=_6M4-iv$z-w>`t2Q7Y9BBH?VHw7p7StS?TdK`WE;9*(vC7};^aPe2W=VP^>o zjPV5W#xIp<8jO}Wu!#$}I7k=^JY*9)FP(;v8W!b|l2;0=ec)QxTGv*@11gqEC92Xe zZ(4PogZN;$bKSq zsqO&$!QZ!7qs1N#kP# zlDfO&>i_n3xuSqVRyGTB1o58p!?ybRJ)^;B$Y#;<;-l8zlDHsoK_#`0X{Gb_FxC2i zex-h;kM`cL-=9v4NiyaP5)Wp0>fv%(Mk8DciH-jZk46%x4pD%J6}?FHfoNW-FVYvK z)3OE(nMS5suUoGdiy7l{pjav_lV=L(QQ9Cp&VzwZYm@ETU4u))qmO=vx_R64MN(q00~8Elprtu}GdF z9UU^|nfH-?j((0$xhLBBA#xPK54Ia~jk$q@Un8_GxX1ufY^VwZ8ktU3OI25rtW_Ks zq%(nziG^^O@`E}93kRUO;&7|5lNI)gQc2c=N1+X4NV9>@8h($Ak1@;#9H2F=NbOJU z@9m{6jnEcIw=uY`{{dy?#;;NjrXK9=MV+A0SSZl^!;BXNXZ4Yu;x?0kRG-Q}fb)(c zE}fv8%Rmx166izkd&gQGvS)}X3y*j4RFjMYxQ`hQuv`>?lJf%!4e1v|cCc4JSwFdg zetv{LRv(*AOGo<(Xa;T?AQ8gs&Kt zZ!mvp{xX+?vsGjbjYKfw{OXmgCNqOQ0U$Asq4o2(1nOog9)J($z)Mo1hh{ zT0}V%ZxoPyVIp%C=LO$f-S4SYTd4NIk!Hrs+Ps5z#(B#mrF1gm`b+S5eV)9;1nn4o!db%nF+EsO-8}l7Gn$;6Y<0YPJmDo5ydWWp$Prkg9&muabW}L zTedQ|x&SCYFq(`eUuEo1IN(OaE)?o{f39DuU+T+IhUvo~y;1w)J^gh3^mLkPrwZ1X zAL<+@5YF?!0XwqMP92{*e$ys_K;WOlX&@kVfyl;5R3V(Z_1)>T7^g4;2Bb~_@tNDH zVE`$~mGc9BgN9!xCnP6ycLNR#b(;-lLoP>xIqy!1eRj$N-zwB@I)P z1Cj%}x|$v*wQ->BgG||PdD3ZE#Uj1SV}{8ja-{475LYw&5tvdBqJnDoRI6JmA?(+- z#>sVxj;)QYRjc|fg8eawAmlpmHlrb4cQ@V`szbi< zq{5L0N%RitjisY47~_m_=oefU&A1G0WzRE-7YKIEK>J?%-ckvru=rfU##8X49@^ug zIz`699U#87Pv8g_`OK5*dXVVp?5BRZ{tNvVL46?k;sgCG{j8vG6sQc2X%h1g4;ay& ze`B-RY^r?_wT48?5K*Z6wPQK`&%!CQhxSHX*QG zZ@h23uj0XzsjpIB_4T2oC3MGeB!}Xnw5pHzFtK$D1aTBp9S4t16nJ2j>U^h$1Pt^> ztb2#V0&e_tk(Amm?Pk~v=W?}1EFDXGcel;8U$$Q^m#O*AW~BnboePJVYs@ujAFNAG zPfqXduAh|{l^E600TQ?-ec?gQI3c}$Y%M?4-_8=d~T#B!p3*v#Vw62gRGXI3+iy;k8mLPnY6j1P?u)oJ`Fbx-P^-d8Rjr!;G8LyL7m~P$Xcm z<16Zenmg>Z_S$k8XDbxo%ser#L^~ixJ6cXO>Mr*P)IiE*ELR&nS(+;Li zrPDxhB%qu|`9i9CNVp^(fY8d9W8e;u#+KBO)R3MYYQA$h;qb#>jol9AnjRtjqkzDO z1T{3D5fq|Qp~&?ltRf2?W;|v*rjn=;TN7K;))v`jUuj>d`iTkb*t*Y5n2CIzdgsng zEo^Y=f-a$8j5o&nZ+J`e7RLeLP~Vq$Eb&-pCkW4>J7{dERZZ8Q*PqX1FLHAH=5KjPrP=B8?Y^zP{0j)T7sz2kkOTFjlMVH#dMz;kExW?t9B-#q*c zv^h(MNM17(+HlC@k)>o@Pm_e@!PdwZ>+;tnyPV7zW?dl2*rkfF~ zFN{7NeLBDsv2S=0(`nH!_zZ|lMoi){LPz>%2kWXkz2C&!2Z%WS=?cswYIej1#Rj#u zirtxiOG`EjNq6H-$(_laYR(j1Yh7hsmCvJJ6i*m#?+|PO!XjFe(N;Da+)?Def$L(X zE)W^yY2#@2Lfu_}smO(fp(6Po&~K#b!zb)L_MUQC>H}6@)x8z(ig&fQ)7^>ryaqcn zHFNuw^{ZkLcb-M@YP+U)3RKLm8DphkeJ&>#=ZU{C5K9be8CM2gfLp6b z+O771VGXl}seSOFm$^1=(n2de5??+qJXPi)qXY)k28l!{7aXNU%L7uUTr9=f9x$aO zbMaKLdLY%48kq7RcL6Vs{MDXlPYm2=AWMbal@OYUlck>T7c|`i-vqYa!i4&Wz5Dl* zjc#z2dFFZ9tWd6zRJr*gQCOgZhgl&)U%*pkSWqsp!lHf=ogJMWcR zf_F!BjNIXsVZn>Udz9RmFbNmuSfkggmRD-sDic0w?V!PSB{TXwhX-nK39Qw3(qgKH8G zt2Zi;PdzUF7U)bM5MS2@+KA(behHLYm{RhEj8NR8qS0hL45AW;IFci&$8{Sit|cBk z8c)Sj?d?Rp@Lbzh*t_gqv7gSA0r8v2xjDgzaAZ?32b5sg`%RNbG{ z1E7yccxMNW;5Z{507Lm8`jhBS97jmN{+*i@ZGZY;?`chh(Lr9II+1@8N?O5AIFto> zf&FpmeyiXoRIl(zU9Kzl+VH-paqPd_e=nC8Ze04}(ieB^(5iFB7-NjQ03#2gLi8cE@l?8uLHKHnaKJkd7m{g|2YPz2VVcIIGO0{o z9}W!|(gIL0o>=?6*bT88%H;sn1se<&!Q9?q7Ow!yMzc{pR^Qp#afFv9UM~sqjFmb8 zr_;Y#*>OY|1K%Vxo)QOMW;_waHIGaqMNj8mDv|I0rcIDwfK9An6jIg35ebxuMRb)M zfF}VUc(JQ>z7NeOjR(?QObLWA0R%7m(8oqz;tY$O%#cf9qsenAQDV3UUv)}EiBd_t z%jeLQ`sAjr_Swmv(VJ@e`rCKgcb7`F{bN_ht}d4)$?q|$jH+x_$cX%b0_s1Y7cOw+ z4kX6(g}Kj^PpT5&OdYsvsjl-*`_57crkOG$gr^OTE|VFxx*OvY;uG527mi%|{iWaE zzP;`j@q6O;w6#eFg{Xn+o5)IgfIXmCq}nf=m3a!h@D5Q=%3PjxJ~hprGm)yFe`61^ zhj``95A`Mb60qSbTz&B<{J&49LA#sxwl_YlfKB243OWuPaCx*K_ZM8nD*+Iknd*UF zoac42NqqZ+6O0>lB)M_z3QZout+cB1sThWzzQDPdkzuS;bC>;+{ZhFsxBT;Tu67K$jbTbl zem0vn!5YS2Un~Bpd@N@ zmoIkO6Aqq$$?3u#0pbBkuv}Elx1q?hzyILdVyhoDPBl&q3RCjqRG)kXasQ!@loeo7 zK+Q~hwY|DjqTsC_)jM20oWNJruxM2i?_$2L0US{gt>en|opcqPDmOc=&SDX7j5{#I zFcLSEFoY+5KXH!rkQgwDRRd#_?g7}gt@cUpD!tZLi36a&`0o8GBHl!j0jYm{*&XP$ z72v`*2j7t%8svdc>iZw{%HdK8esS8tj>QTNe_uaSKU1Ca&-6?5OME9oe_Sq(hD@u# z#qSa?5a|vw`$n3qumyodim>hR?D2~Gk1y40^;+Pv6>p4x2OCM)4MMene}`X;sg6== z0IK5js);MutAxi%dIdhi_7Uh^gvre0Yj9!cvLV++OG3torIO@z)V6SN|1RC=AyhbU z=7clBR<5#H^>5#+C=Bh#L~XSVJf*rQ?lthUYyZ6o2OQNP~mn58}Z?Mt`Hf>p~F@5mM+F zGW;TnUp6Z;TI33BKL2{4ia3Bv|8b%A{GT^J+x+a7Ew#tTZj9a7+KTxI48Z`P)AcW{ ztuh{GL_QQThnvH**+Z{Nkdh8AeGEci&uO@T7c@$kCd~U#KU+Ur{rO+?;rj3jci#^< zPVAz(K+-O>(OgT)unP`1@Z!YO1jgo~2R)06#zXAnA!QVvHzZB?d(8EK*C7sI6v6jJ z%Vksi3j{jC2hCyTFrVv2<~{x=z?~oIv|Oz=Gx}!q&7eA#87B&TrZUtVX3w(!zpitS zldCNA{P_Tbizv(jCYUJ03JWd}-~%JF0Z9bJC=y`gvl&r92UuBIX4v#SH?HYZr|MK+ zfn;|<#*s_W*p!83r6_BvX?vQ4*ddoO1||UphE+g9!l=X`;GT1y=li^;4l{q%Ck@?I zb>8=V-skeWe52KZHi!w8Es0L3oTit$6G!TPJt!Ytw!L84_~~WDX3ruIyC?=75LkB8gWLFojA5^LejhS(^GcHfBjG z{Y>rE6A>-cUY9>Cf0*M-u+~^x$gbxJmCNQcgzdF%YOnX*;u*y=CMH%b7=Cp4(Jfng zek0Pv7Qs~O6s_#OdU0EE+tid*JbZvesX7&+X)f>tae+$ef{6(>k)n9pT( zlDdy2E@a8&C1vwxRBDqrLDS;^g}8Ces|=|znoVMn1~6|#uOg`rkgrcw%RF*w$KMGO zsrRN>6tvYc-Z~bIyqbJ54z*9``|^FYnyEl2Ed)BLpmjEFT5-_e^x$*~7D_g(njVI^ zL_AJy&DorAxL6X;9ubI_O(K9n+lOP?eXq9tsdhQ{|abDSSPAePUw8eM5_e76J8)HqSTH z^tnof)^6VunK*#n4-^wNnF9Wq?C>Nc-+B5*3bAW{gp0LiO%_1{#nuMUjG#T zlxPj#^5^;UQjQ0^6?Tom1$aH}es_LJ9D9sZGw{NwFxkE}7C-qbF4jV)Brt=@yECDWPVNcpKE~c;#65sB~UwvY@Ao_ zf|=Z@xl>buEk6urhqGHPivwz^(^*hnCG^>^<+kUxJ9dk0-cM@Ni@E?#>GIFVx}6&~ zSSR$jU^19=`mbH<^S$|AWvlZD#p!fKfaN|xq5F78({-S zc8BsuSlfoJCf&{SU8n0^AC~h;p8(bQzK4oGE&dc1_~axqBcOM{)Zy3x>7Q8%5`NiR z(lZrOZ6tzx zNoc;FV{mQY7*qnl0JL=3l5u17L_eWf^A{DqqK!^B^x>7*54Mw>kT`%(Ie~?9Pas0u zkYO@UjQGMNMJF{Lxg9azguS3q>t;iiudgan#SAQL46WGO-OLGU=I=6z0PZL zyK=kGJagdXrGF6G?b3bzpZkBFsuL17s8Y$`^)SoGj0nw%1Y)&{36!y{Q1LNGP4a&5 z+Z2<;0dTxYX@#njYcjR#$AI&7f6w9s5}PcsrvF~|TQRhx(O@l2e-ynz@&oz=iM()% zL#w89T@S>_gK8BuD61ji8LB|GxYnfO0Li0zy@0wxnj3mKj&0yVdJhY42yckG=NAYq zM0(DXlgk!}{D48`)it&IcZJ?UZ=(TZTB>6+yB-@em7z92m2#QnvG@A05>{HR&d+5m z^>5NNp1y(#@!^(c)J>LD?-=G39>_P_y|^s1R$z5AAIw6s)_732OchZpE{g-7(%Tgv zovN#Qbhjj+q;f%^o5TTnK&lLD4GO#sz{#T=Mt_kR5d}|1ipCR#NLSM_2Q;#h>hj1M zI$E5##n0)*i6vq|I9{Zg1%=tR9oZK({u%iMs01vqb92>E^D0jZh3uV=a;dL4JH z)FCzn2ER!EuuWs3Qn66ILCX7{a-1_Zn`VEh8huE%+a^{hl#2tDOiIe7N5lt=dOOdC z&qj&Hg`#WAX6#)OJ`_F_<&M;Zqw;WwCee||hxI=dPpY}hU3hiXY-IK9uZKGlEQZSpe z@rm*D3zW{tNY^BRkbvM3BcrD%BD@b7{Wxu6!>H_8m#0Sk2I&Msp9URoW>js5*pbPYXi1kNVa;;N;=%As4Hf~(;g~9g*-;3r6KP_BRxTMjL4-`$)4^nW;ld<|} zw0CmBp~0ak2M?)?DiyO^2fmYN`?Xr8f0+33IeE*DA^%nX)s(9`qa6*^5(i2pb5#X< zqEtN(0R(F@IZfH9NKMs(6d>T%==Fe{Qi`vU%g@pC&S+OJrS=dWFTug8NlvF!1sCj9 zJ0|ped)I`!!dI=tE-{0K`ras7W^q)M^v z=>C5(9?l8I+jTzdzvjP|0xc(2x=v|q*@Xj(1{O_CiF{+L15w+4bM#QtSCw(UC^1yZ1dAlz8@sU($kux5n|0LOxkg7An~vPB%bkQ zFp=|vw7kAQe?|U^TFq2)Q9A)6!cdybNCly-3&&hiyX)L79xzq&g{9snVrdO$8m4c@ zl427R=GFx;n{GJj%i7!`G7`v^ePiINfvcvbXmrGS(D&uoNe1C2Tx@fxo~t9zU>I==+lopfk+8Q1vE_ z#_w@>mr>9q4GQ4hh-Igt@&Jq7KB-nb&D&4I0 z1548Rt6+JsJU#_Yl`BR?ir#J#8KcW1C$zD?vEoz3r=mFU8`(3qyU7Qj)*+yxa#l#W z7#4*+q%B>q=hg6w;TJLNE0;~6ommn!-ha}XkMf;bkyn1M*nWe0Iy7D4#%cWn4bh$r zES*=4)bWtUX3Hf*%OyI7^NRDL%&0ep?YK6b;SNAn^MS|@z$t*Rwm5*M%vwQC+W7~v z`GWQb0IRBEl;i`AhD5d$VT(vfX2rZfLFym}KN4@_%Md9819RcwHbl%O7;ktKmfFU%G5HvikRm}lG)zOfoFL2AbBX^A4v2ELJ z$KG|!UB^88EG!%D4wElbOd4PpQw6YgJftnH8CP65`0n7l8#gZdi-9W!u9%uax5`+e ziWRdbLz%C8$@&7Me2PVJsM;SFHy1ZgPKqfBiaIH(ZIYUC{!_CcazA><8hDJpMwZPn zUaw+hS|yvxspSEQxIk)FjHNaF=OlZs)o9sveM{BvkcLwqFq<*m*lt)kL2l);fM2RrLt3aGj%jmRX$AI6KafeQYV7YmGXF&WiCT@B^NRA&lA$G= zHr?{Z=kbDkLxeMRk>TluaL7QGzs3h)&?8&q_~lamy9-5LFe%)SDX zdcPh%5-M*JL)l8XWsAv(=qPFRBy6KdM zV2uuLPgFD&OM)_W?>oiQi>JqNKy{j^`7ogC=v8~4j9Zi81{4bxt#!0_%H=HD4u?$h zWZWaoEfL>tG{o34T^G=ZNCpuppi;8dss0{30*X^OX>F1wNyrsE0{ww^{ImVDQ?9j%cjWaV?K;H5ByLaEc`}ybl%Az7H8ZA)>uEsLu%_c(X4oAe4 zTV(_&L=g2_arMv$EeI=4MmI!2CC}1t%o3(~^{fPA z1k1djtG&@+y<>_^V1J(o8bPC4HH~%^_qBY0C&E&yPbwUD&l-n_`6gYgN(Jd<(P~cs z3d#9r5J5h$@{!?_hfm(T`If6k?jN~-+cvSceDTF)e>rgFz?IX}J(m`y3)9V}^cQG| z)@sa>J-XppX0_Ce^}2Y{&&>24T%2E=Pod!ybK22(&gIDBz_Ge_z@~#qKVJC-D|ZiH zKYab>&6tcZMYEhw`v6v8=$^4zFoO%N3*eNQ$}M!@i(}KvW>fNj=oCB_?g{tAI@?#} zp36N~F3WtcT+a6Qzzb15)1EVw3{t^aA6PXk-(4} za=Gd3iOveTvE6SJZZ6#1Xb4DlYRa?op5O;cC2J}tYh5aFk6UTQkn2#1a2+l6>IC$z z{llei`X~7({TujXhFLnF^sFTV6pOlmSkC1Ga#A%^4G%yO%G8bfKCxs;Va?Qp-pFz2 z)n{8OlG#)$?U=G^6_r045j_jV+7Gp81aMa$zb3aP_wvg!8;atg;#`Eq;Q2iLF5Bi5~k^FM$L{{ zV&fg(de7)1qmS&^(YLO+wYb#@refe|+%rh85EP*6Y{;FIJ868}mPqAp`8$TlRB0GG zrYN>~mWpwFNJPMZgBw&tMdt?X1+$jqf@n&@OHgqf+r;dpL{i+b^Bjza&Ipeb$YwIq zNzIZ$LO@z!bJ40*?b;MfSmKF7#0=hdgP89ax?aR^S}o(8C3%3eFtP4As2VN5jju=} z;!dT2VPKdHxey$$R++$BX_g`|3h30u1IZJp8+6WRj}inWP>p1>mCKC%tv`sc3OHrR z?+O?6Y?sn(qGt>N8Vo2&r>geQlKDVY46>5DBEvK8yggP(E|;C=X2uc6@IwknK-Awf z8CgSB%Wff8{M~KhpCAw#M1_oXhdf@C$!x;Eg2hL zJO8R@*86|M7sD5$!e(6Rfxf>j{(bT9<2b-M*6Y^bxC&(G90-mKj!gA-{;S4*Zaoz~ zFg_7v7KYbkKx|$ec9DI%q18<~F+u&9@f}&O_K>=c5W!A!8loi2ZpI_jXbcJ|MXGYr zC0A@V4cOd!SNL4`+{6UDAUhpYI_MLS7XaxXU%;sZo+0@_z3_#?7wUCubV8O_(F`xe zGn9T|R`38}B>lH(R4`ix_D>uXP6 zdwLWHzC5saVDa>{aZw0N%qbx{*=3>sL3~VFEwnrPzFG8(enM=BW8o99g(Q4TM%7EHwFfc#l4X|NW90FkW z-n}{{D~Ef-y-_^a7sG&}I8Z6h6lbQUTpUoFRr7b(;?rimK)!hefsNUrVoFShoz4Av zd?}SmmSdvMgQuO1?H*7GVI9Mzv_~bvC76Be7tLYhrOrn)?>EUOJoN z_5_>ScCBU=mNrBT%GGg}0Fn$xL_a{W zBTN6KJw9~&&-6&v!FxoPaC{udX7=tdk{fx1(uurOq?6%vB7ibJE*~tldr#IOHmw`# zeuZe*sCSp7+g8G{R2pGTYgHqt*Ljr60+LcG?@(y}(Vkcnd@}f?>mTA<14n(;3nOQY zoUv`&s4xoaW2jE`Hc zm|#CjCBvGojOD&k)%1@Mp4;t z@}cyA>`4HK1#rU9U^&l;i`mgV~kJ2XqM9+U=zhE}cRVO-aeE3oZyQs8rBE77g?S zx*?rahG2=iQyd4*^;i3=qd(m2-_yS*dcD7YQ~#zY=Ko7Z04d1}Qgs0V>Nw>YpiiKW zeCfOXe1ERean{weoQP6AG#qA3?4g$J7! zw^q|um_SBBv;qSxYb+uM`YZ8zW%|A9@sW>?e01y9Rc8%e_V6jxt*ZAL`864IMo;QT!Fj=Xn6AXl>TCSR{Kwkrfi}@9!TXd- z2Fd;_|8f8E6ux*)dY0Tqn3fMnf00*}Jg4&VWVAXyZgxRVMN`%c-XT9H=SxyHSLbuz zvqaMFkCtjsYD>!xRI|>-0mN`r-plF(Tw;>V6}|pUv}(~agm<_qKm6$5Z-baMqPF9*f6+X6Q3BGnfh*k%_f}Pc&EOg!FhgUOJFK zg$u-_^#{%ihr*#&OYjNNAY`O)eBt;;!&o-fPRA9QNe6L&Z^ZefPk_eMKLlS5zUp*H ztg7bs*jp;10Ud}s!i(DHrF<#+WOs;#lug0+3Y7}Sa8svch z!K%3)>A44fh)`*IqWoc1<1kzJEYED{U8>|jir}BZH#BOqx3c4b= z%C7wV@ZSvoO*A*WVED1&$F^*_W8U4n?%wtM^TJ1ValqyTSBh8`Lo(0W>_x!^^-P8* zgeNqcCWNAM1Nw$W6V{5yP;}~EYViQLpO$jAG&(<|y!Vzb7(8b1nDy&>K2*pRa*YNi z#b%dF3U-zM1OErkYqH}z?ebv&7NX5{c>Zwo38T&ZRCrQ&QnN{?1SEzN!B9Mp<@E$0 zVm{arWllu*|Keb=gMON65xQpN0ibb+1DIT7T-d$tzY{oL&rO9F3NJL9aKJ1;9UhBY zN8c<_R7!k%uFGEs{;*Q97A+qbv>o&xbPA!6C49*7PT8fg;l8;wrxRTwgjAz{C*5+VIcfEVpyE}K9pB1AT#537D3LEg~{h+)| zI^Fdb!Tw;sGntNNz^4{YZ8R7_a7oGWOz96?=U4q|^dx8e1N;M`C%E1Ji2sr3b-e%i z{^z4mJ>1{yZ$|%qy8r$D_hXgL7m7z0kDi>wSQAF1=?u`i!7~yrdAGuVua<RxO45q{| zXn*Bb{L0vvMMRzu@j&BD=YPrFo4YrT1NgFS3C|4AbkGd*GUONdW|$p;n)$B3-`^ko zf8U6!-IV%2CfYoidAaZ9zE>`b!w`b&(agvK%!R>g!E3desdJTb2j!yamW}i7>)+VF zFEZrg^#3CIgAey_@82H%dz*iVe@OI)4)-tjFHh~2 zac$)yH>&F1I3nQ^M@PgeFRdZHj;rI!$T{NK<-{kg2NwnxVk=dv@rozY^7(^v2Ip+p zu;PCW9XE8`%*?HeM{gXxamS9Ht-7Z)6kC6QrO+DEGl(X=T~*&VWd*e{w{g5DNvu@I ztZ53uL3NBi8SOo4%KiRl{m-WQggt)zhr>j1sx==(Q&90G=?eQ-5e~l$R8ogM%rzLDx~=5|fUY3@!~WtyDnK zW)YUgW5nN6X@U5;dOg<_eo^=Z`XZB)rauZejdJ@{=?!(?R+v?oRj&(DBKkwgyuc|h zWKB5ivQm73DY(+EhsGU5Y{0A%8PR&(^of!dO$tYp-Nl9x#k(R&&!d#>QBm#h`Iz7X#WW`x@9!Ph zIk0p6`sI5EtAo{z8&~ZeIe+B*ty{(Gv(+Ls6ICuJuHCs%_L%Dv-Vq!e9Gq;jj}<-^ zebPS_MP}}Ql-8`_fMY)iP12-J4ZDz>gm;`sO(gAp;T=;K7)&?GSSl49R?I6(?9IhwC(n15QfT#Pn3d&W6+Ai78AnI;8*~4O8-v zcp#S(J@j6};>r(S8QxdC{S~vJl z_)mzDN8O{#7Qf@pX>DSGPwvZ~m_M;ra~2Y-wR@$zv+EwQrL;t3 zTq>IAn>?O>yk56vwcdVNmukxg)Yr@)VZ?*X5~(Uzy>6Qk5Q=&So7BUngAKukYSqjz zxGgz;fZ4ws>Ma+%G=INmND^upP7jwS9hVi(J+}Wz$pq!0qRBD z-6A6-8KmTi12nUh{9?4CkLIiSYQ65r?+P@qwIraxpw7zwGB>0bM6JkmuFy`is$3%; zy4Gn?$vDrfUcRR194rV(sifJQYDN>F&?lu2zz1Qj!0?Kcj`1F}UwxvUD6mv2w&rdi zDX-s-8w;r?0ke{vkQuUe*=+NnZLLKpy5?Zi)1LlG+nt%PxCmFPU`O#M>U*#_S)81j zLQBSep1^!2Cz%s2|LWjrgQu-uFYw^#biEiX4VG3a0HN(VH>Xu?$8(uTq{6W+`uF9* z?}OhH$)XRqOXWh4{ZlPF+dIez!rVSnF=(`au&UD>(;4mp$wDkMv4Ezn#_$OfVu!Gl z&T35YR>Y;YYPmJL*A*@(ToC=c_#|FnnPwws9HMwhCV8bXJ{E#s(HTCmMIRTA1b>BATWtV8#+WAj>&r&Br7myC-m7!5fp7YoPPYtL8z; z(ZKz3ThZ-a_U6EI1J6xQ^NKzZR_uKT7SAr8Ju!hMb$5SZPGJsg{z}CfnW*~f9Kr)D zYKaN*{_I}t1Jx|o0FDSK@q134TOuayJVGh+BlA1^*WIeE*MMg~R(wr%U( zRh(U%Ju#65oj_hUL#0Dwig=}B#78PBeR4*k|5fhN+@&c)rhCH=g&%4*K~i|u?c(*; z7z=`uVv4>?j|UncV?MHGl$WTkIj$(W=;_H4ploDg25aC0G=Nx77>NjQgvD~Wu#iIl6>}F6^?~tt=5Y32KNo_o0(bu`e1pmykP^k zUC%{guG{mYa85WU3P4v2Ezo*R%f!#fpd0X+^>lgGTxQc`onFZcm~>zdh%ESJN{~XI z2u=!1kU%|B=btXTPGUW&ZYvcl$G_$O(Ep*+q@*3+^LOE);i0XTRkzTAlhY8rKBWBO zs|s5STOED~Q7l5fC_4ahO*O0S8@I{-w&4b%y%MeQ9}Bk?Zc9+eSQkM4i=S^nL1aqw2~R<&x_bBt89N7Qv$hDts8ljIAL!g{Ssto<7(mJ7 z)+I8=aUhEoLF$#lgg;1OLUD;9E8H_S7qWuR-=s~U&6ZkAG{cm(N5ru)qj(^CiSptX zgExXVs#VhwAV1Js(iohI(g&ewG6TGyY0;=qk?4#$4+|)oy*~)w4BwoXSoy&4iNhyu z-n`Vc>BB3*9_`tAe5>1bPITt7@eP50FQ2mao2UH>>1AOHXW07*qoM6N<$g7VZn Av;Y7A diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/hexamine_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png deleted file mode 100644 index 38740bf767f124f22e2c819f6492a813cd2ed679..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119416 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%0DX4 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 Hu0mjfm$=ba diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/rdx_fluids/methanol_still.png deleted file mode 100644 index aca27576dd8fb9ad8a72c9468f20c20860f1ee94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30491 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

    (3g?*YmzU*+o~*U0 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png deleted file mode 100644 index 5ab275f65efa80667220ab85b71dc23c89edaa2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25449 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�hiO*+vz2#nj3yZLRexrU0uoK+{(D`;)U2p zTpf3dz1Q}iS$3Vc)U&J~BV-X0tu^P8$DAwN=46FVYTh{lG@qBM!E_kpy$8k5bmN8?NCZ#4Eddt*Bk zH6YyvqY|1QV?8mhVoT3XP08W?d^Iy7f)e}=-Jnb}#~$Y;9r48rp+%i_eUH3yLokn331Ha}44hW*tKO;)@rUEyulY$r_s7q`@tKA7`uj@u#VHcar)3fs}ZBTwvIuW5YIe_!&NpO_~U z;`QzhqdE(oAvS`BQ3Gn{^Pz^aDy*S%=9Sv}%p-!(m@_BprgI~{v9``-Pf@+S*tnKc zq@pn=sH*CN;iJp>`m%IKxB6_sdm@ePEqvMlRAiKl#G-meZO62ZqlNALL>^OP^8jf+IZkP@&>bY?q`@Cxj7OiKtv(LBtT`vX*?z^nkJk+A z^?72qjp+cjkY^Nvr>V?vHXd|vWvC0dwaUC~8?P^WSzY1YEWv{ z4OPypdj)JSm##*TQXIPirx{d$tk@DNkdOJ;0ceO=+2iR42uz{#;R7(xWdFz`nz)55 zd|4F@0KmOMSJ8Y?T}RGe=Do?A}sSDYTk#nu{?7fRtR&3fh& zvQ@@#YO}Kpr%v_4+dcwQI&oZA^TCJh-?e;6wI6(E;uD=Ex-+~j5j-p=!L(d#@i{5H z)ruu&0Yg-+8>jfC)#AW4R>9c!9{W(Plp-ih9VY_|`j2j@*!9bvA4W(hWC;t?!4S=1 z7}y5T-a}?rvFU~;Y0j(HckjQXX$b=xr?8z5iB3-w2OJ=xWoj`W>(tzOS(0gkwWL0P zIcCz5n7htCz%$UhNB?s*MWeSFe7O9XqcchtpT=@oOuRhP9=@3DWLHeQY{3Vy1!-lV z&c}#f+K1AzSC~}ttd=u#-cT5~w<#Mrf>I7n-jZLYV;!GEelD!(H}Pt5gO+kZ$wPHc*S>sD?z|Hc4Gfg zLI*5kG}iZV93r}2D7+UF9YW5&EM)B}Q+&$s>NRqTCU{Q;>b*X__vQY)e4=@RHO=R< z)iZP)V)*Ly`}V)CeChhUC8T&$C{n^k2s*q9Ql%lOLjX6|pTh60D;Lt%PlxofS*vB(mvc0$U|7*$< z_^QBqz0QT}x6Ll*n{akrb(E&O3A>=hMD!g!OF3#vQu548PCH^Y(JZVD<5W}n_VCd= z$|#mo3?y@ZKs`V#0L~2@axK*!TYWz6iyh1OE=-5v4~dciGZM)r%Mm+aB%)Zu{cbYJ zqAoZwF_QWsyl6}XRf@-A;@<7?+PT=lfLtM~$&uOIGfqJ)Wn)OyspbyeDHAZsDEqu zX#1KU_g@nm5d1`k_3oto6{1$2SQ`RM26vq_MPEz;)Lu*=vzSFg^^5mJo9abkY*uUn zh^7?tn!-V}JGCCZ;|aWO#0JnI-K-SrS4wS<$enXOX~-yC06bG?71mJvoR%$Qw!C8j zA|(n}GzWX zB0fcsPNYGJvw;!rd}Dj?^z5X0;4{l#&F($1BQ^q=61{KL;m|6s01~ivQ7ATWT~NNz ziskW~p;|bj?e0473-Rn^g9TmbJhCBRjnOI_2-0nMMr=r||L7ZXt^t>tw!LLPo)MQ2 zLe4jZ&1=u9fgt6V#zIxDE1szF+`hXw)y_vWgj{<@hUMTJQv7N)6k2u)K&T$BnS4U< z2}l#s)rcv3$oAG*J);!A@Fz}b!0)JKfySDU6Z7xh_adieCGW zU#d3cKd51QO>cH4p7;Q#;t07*qoM6N<$g5XZ?^#A|> diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/ink_yellow_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_flow.png deleted file mode 100644 index 72fe87d72f1770cb3dc59e7d4fe4c684edb5fcd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76978 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 Uz^sc5`2YX_07*qoM6N<$f^CFoB>(^b diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/latex_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png deleted file mode 100644 index a3604cbe87876c098b8d23e0ccb1d5dd2579c14a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111891 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 b&EWq7ta%Z#>WmI+00000NkvXXu0mjfc@smG diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/mustard_gas_still.png deleted file mode 100644 index 33996795dfa671c18bb447c0656f067fb8a19ff7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29101 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 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_flow.png.mcmeta deleted file mode 100644 index f6730e30a..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_flow.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png deleted file mode 100644 index f9d985755ae519bfa3ec8656d46157333eaf36a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23796 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 vv&4%?i_TO${00000NkvXXu0mjfP$5zR diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/formic_acid_still.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..a432fbd9a2d59e59bc34c640058c68f518f3dc6f GIT binary patch literal 134400 zcmZtP3HY^TRW9)Te|bR!K}Nv=-3Wrxi3Y==IuQpHCy)dz%p8-PP)j7lfy^N@%&E&x zMo8ww-_nCxhN-DJq=14NDuVo(L{U)@1QE37cYoi#ukW1eJlD0qz4!Y*&sz7o*S*&J z?CJmg`B6t6zQcBR*>15|?C{Ws9QLSjzg#Tl#kSil7Hc=1@r=XAlU+_Z=66nf)D!=B z`J6v`_VG`9=2Mm@KL0sSSw7|DryajooP6=y-gw+eSKaRp5Bk|TulgT{EMEDNb1y&n z$dg`s^);`1)Ug-;*H8cO@b|vrEz6xw-s5Gbf8*d&-*dwr_q*bm_j%W!?f$;)fA_$1 zp7Y5g9(&WHKmRxHe&Of-;L2-ue(|Yye&kPX`}Ch4__1TJyWJCCbK5gc|N4&CJ^Yh@ z_tPuxeajEee9?=Jx_;L~Uig4h_Iv$a7w-7%U;oR`UipxlU;LY|dFd(dc;0ch|Jgw= zzu))1ee&D(yyKm6m9-g*DsUi$H0fB97(KW^Xa7QcUwH@@|X{hqVm zo_jy*u{VAAiu102)%>R~e8(4G@N=(x>iLIXciF2ya@6zRaO;^je(>RMe*Z5Yyx;YE zzxTuMx$H0Z|HAjqy4$x-{hJ4V`njKe{HM?T;e$W;8(+HY(~sHbqR-s& zdCfadnP2?fH-GIL2Q1(DyH|hsulshI@aa$b>X**D!s%{PCI(Poo;&d6aM&L&i~GKpZ%NrpL70q4mj=DzdvpHy!+nu{eS+FC!Fz# z4}SBL2mauQ6W{QY$6xaLYkuL9n;-d^x4rthKfCJ1*ZgR&e?I%*LvP#Z-+ue@JKea; zKYrwGJG}XbeGk0!-7kO0zn*mS(T9Kg&?i6nW4pcN1Lt15^^2bIxUDZfWT$=a`0C}) zo^s9eU;CL4ZTp9x`lAPY=FzWu`tKfk=r>+<%n$DKln)&LqJKL7c~3m@f3H3KUB7(k zet)#*o!|U~i(YZwSKj^nz2Cg!KDR!9o74B(=lJQCE6@GU2mj~yf9H8;-t&~B-f;Ct zPP}N>qdxMmzkUB!>leJ`fUCEA#|2M%?&IF~j+cDuv=1KjS5JEUbAILcV-Ed47ybOv zA2{m|-t>y&cRqUWqxS#ME6=~d)xY$6pL)yt|KW4bxc0yg9eLV&ZhY+FdtdvI z6K=ZhB?s=X&nIs^=W`FdaQ`RY@0jBb`tmdG`K%kB^~kdy^J^zve!{6oe&R*{@{(I# z`JtbD=<;3v{l7l^ynF6++3WYX;iedkLhocNfB?0L}3_k8d5 zCw}Oce(UrbZ$0(O3xD%BuKbH*|K;%)y!oKx-~N?t{-+tfGF6KWtjdOY9eNe@5# zu*G$Y^B3puvi0*X8%J*coQE9u+{I%1UES6eZ#sR?aqxC0KJmH#rMAVy~Q+5Svp(0 z#~ynO_lw2VS6{uDuejoh#U1Z>$Hfgd+z?OGHrs5o`2P35zqrd??y}fwtF0E(Ew|i~ z2M%&O1GL|M`^EJ)zVVI4+VHS$8RH;K-~H})W6+Zy|MZfx4Yf# z7SpY_-nzK)#v2#&JO|5kr#szgam_W?1jD75UJCKF*lDMo7S~;O-2x4>vz7t1^Ugaj zCP(jn_q)fXSrbdR*loAnVszeXue}!E`ObG1LdcTqufIOV*nnq7;huX+$71pAZ-09+ zLwN1A*JcR_vn7R%f*Dc);uc903I!-yoF*@^IQ}tvzVn^$9CB{H`R0Wz&Oi9U4-yBo z08Zch<~IXq#~pXf$_baEb&v2_)~>wr%ACE|z3#P`P|w&dyX>;K{PN2e6JmjK0xwe{ z90ZG27?THPZMWTan-WDE!j^p}=6l@Z9x=)-Z?llCbrxBZC1A^*`y{H8TIB_F?gQ-J z_rCW+#1h6qg4=c1T?34#nIS492eYQiQPQO$oT87ka}Z+{T{Omq@OjD-PvnGq3Yf3D z>Z+`#4{j&MKo*m_iB1_tpQO(TX!!r(4}Z9jo3#OK{cB(QT3pM;bn(R(2R3fAM6Dv& z0r5;CtK`qrl0;?cOzeeM(HQ?~$FpWLF)ASY3W4+o?{_`~qL5D$O^oVq0iu_QQ| z+t}F15|0xc8`1e#J|h_g%1mRKSznG4AFap4#k}|4doM1zxf)r5Eg0NK$%N9rI!mJ`LP$E{r!NGjx-BOvHb!{}Qejh}VqCgdSi-t!WpD;e`_vdCDO}w1p7+cw zYMM)%>KG} zLrJ*;>DFeY!>DQ=49w30&{|}t*LDjO08ohevE4>$v!}MLBp(oC;=L z*PieajbR-QeIyEUKpF##@KK$1-HkU;gr!Q(~5+^E-%UO-ew# zEuHwMb=u%<(vU16hrAd;EPXvDX$t^Fr%*r~F96)$pHARNnHMIvQA~!1yuZ!TBAzh9hS(&haEEtqRUQWOuW&>$}!jd{;5(bteNJE1G{kcwA z)v%D`vHpr~ZbOvWOuBwylMDB;01%=mL}xb;q&{qNC!mxQ#YDM-3yq#DSn?K*(%%6B&dKIN zsOZn8OQjpAZAK-K`|O2PKa;-OdSJ;=U6VeH=7z-`MUy~Y3XV*!cLfU`SN=($igv>6azLYW2}@k? z2Zs~%sgQ-q{n{WXE@ThYtThi23{xTjj0;j1t`|$W9C)BnSj{v`R(fn}lNJQ1Tu=}t ziG)rGDY93*F1o}5gKp1?iBXh1AWNFD=eaB=%+7=XKupp?>oq$%LNyy%CK}9hIrC>Q zDNL1R&?lAUUEc20;GiNyG$~$ykkp)zx;{~Dga-%3%zqgLGJ9&~T3JAvEL_~clSMuT!b@fH^){X(UeOB^$;>A|#XBOii|J$W|76%u@Kq=(4qv6_#|i6syH~UF#MPF0@hf5@@1WBm(^N#^ z(CeG|NQ#<;$Df`N?~yo-o(Sw%SWN63lkrNdOI@ zvce_TdDGX4iUo^uLPT+4h0z|Z6);~Mc`Hp7xAeJ!LGk1@h-QU72jzhD^lit{y*8?9 zy=Ez#vhZM}KS-(gO@f2z4j}V^K@X7HmPMRop%>j|yZU(EI>kq>da8+OSp*ED6b5uY zT*Rcf?VX&!0~U?E1<#bK7NQfF^f*y;Ga&+?N;$$rmo^wM1DqlCRam0vWdKkSc&?CC zwvjjbpw-d%*B7`c?GsU;SUuohc7@DM-k%1>3WFO%(HOAJ{lJOrWR%p^stANRdB2EX z3RY?+VU%l@vbRSsbBaZ1umBt$goP|x)CLWjK%AD8_uiOefl2RQnV`b-t9;ne3=)k( zHqjy@762p^Cx}L(JkA8f0D}Y3Sh*Zmz4q+9{khBEJ>rdv#WLRo5TZ)2(i9K~xyZ60 z5-x=*I)DX`N|zuxa6;OhaH&Lv+R5v_R=CL~aHS=3Gq=KUzzVQH+YxY?cglo@ZYL!T zXf9$w?8s{RiPzBNHP*a^qsjqnb5}%g8F>xP7m_4O0%0-9<5}quPFYlrJO={JHUlzf+S#(lvmISID5#kl5g&G zACa+~uQm_};WDcoNuV1cXVYbs6R34Utr`)J17faFsmgPUD1Y^)xF`^Ytfm{-d~`*2 za)2alNOn!aN4`uU#P(}SGSMRLvm>$^Nt(PYnm`{&TYa|zVkPPN=_H~^G4I|Httc?b zQi&3JzIp;Z98TbXi{>RCi&HRA`W2yYK?W90C^k%}HgJ(d4Un^zLma(SvSLVenkrhI z$eu)DP|-T*xu{smCjd%a=J*EGW0r^}E>yN5Ze6B) z=%0B>DRykCD(;k^5wMk)EVAMP z*X#nG4?8_zj%nc%3Ql0lJFcq8YT+@@om_|}UzKn|zf`9t8y1KpA6vF*Aw~w{dw@lC z8VJ^m5Hpx`f(0WlE%B~C0OZ?cK>BUI0@7@&?bvlYlZc11XDkB7ERYJ8SoMbJ#4HJd zm<1q(X#l_a?AZZCA;?OuT+eg$cTgtbkQdhE#K zs9e<2D8>ZI5kb(8=PYDzslx$9q%uhd07kTU-?BG|zm$h4#ON>tgFP$p04#>H!Jr@j zvB|6q#4RyaJE=b0 z8)?OP2|1#HT26X06Hv?of|$ok>jFP{>&Z;KW0MtFEW*#)K)i0Ifi&fp4!b!wb1r@3 z2@P;pn(ZB2q9c2zk<=lJx(+_(<=7$u$AUdSxwE2(!Xz^2!3j4Evgo8qNfuQb?XD)_ zLjmQ3HmDu2cW`g3;uxUWs__q$D5TsZt!Q&QoK_`AyiVf6B?0C6BtpXEgOc2Ug9Gj9 za-N7LD~1~<+9&eGG7)H`FpwE5Fi=%q7*dXWNR+|>TAdP8zMRBA^dd1Z>x~nHWuwJE z7fhQhN$@1ARyoO}6++}jouslF9@O+8QF5YA9m^Xg(5p{Cxna%3XhaM4K<-U4nbh3F zk@rKKq)F~fW*QEb^67O?2$63&A)Z_>BnQ>4Fq)uh5s5DEMc~2BFxe!LSiIV*d15F* zkq|D$=j(V16)3p?kc(z^YWBzsi;&BOs6>=Yl0@;Dt~TOdj#AJ_!iybf1;d3-Yb&o` zr3EQc5wHS1S52S=sVtKm1P&jH24SovO#Y?UIN*Q-Vv%r#n+^j9WlIpV4Uy|?FepeB zL2V_W5Ud5MO#qdhtg?hOg%cNQ04QycX+RC6#Z_Jj4O3cx42nVyM8VS3Z5coa(<`}g z1>B5d)0a%}Ad?QtMGI*Ht}<&+P&8ab4;!O_OAhmf6FnBmNeblNW-t*SC|+e#tbB82 zwFPb-OaH90S-^*Uh+Xoqi@>~-K<3aJED9AT@{)bERrtU?;xLOae5^jSS8f=@s1q<) zkk8jVFoY!s?s1XEjvR>+37-a}RxRghe-9K^%m;!E7$y@XyUH7SaEN)zLgH+AHGClCAw(?S#YKNxnQyhs@#N|7v?I7Z|GS;u}SGLVzrWA z(LnCr@yIT!85jt~YL*Cy!r%x7CxN6*#8LI?nlb#Zt4sSwlZ48R2#iTBYCTrDxdgZu zK4#O3p=J^W7Ti-h*9j9akwEX>BvC1%e1V8ReOXv0FpWGs#04+_!ef;%sf)$gDolDJ z)mBoq$kOGIVbCD-y?0!==?~DFEyV^LNW*fzo+k=J<1h(GF4D|_F z&Yv5=;;(?Y%C%brEI42Y6_XZ4)mB)|1z`Lm$w=?v7fC{7Md=%fCXdEHN?ioZ!{Ma+ zeA`|WLSvp_3@6=E7kEIHEY<@0SySfVz|$%Bxd>M*FB(Qhw^~*WH~M-lH(+ea+fBC9Oh9gT+dN&A~y3)TX_(P>|vDr z;1YU3io%mEyNl;S&G%9i4km##fa69^q9`V15Dv`?qb#Hq^Gj*~I?-22EZMGQ;|&nr z5rZu542vcgG2E*Mu7oCeuA?4L${r6y$}eTXgI%=eONI)@Y9-H|2`<$}zT4-3&l5CL z3|g>y|G`TapmcX94fk-#QQiWr2B=!XY}MSmB}^AINkT0w_z;0|$mj3WBMK?@*aX*d z?$aMwFmMkj&{k*rNQ-!YoQ0;|r04;){K^N^(32et(W+IlMqboxk}yq5F7!uk+@n{0 zm;?`g@(M+wpoZS6HkE`4l%yEIZj61EoN$*{Y6N3I4U6HJ-4Ow2<4uExbhE;=osj_2 ztNE^I`L}-on44Jy%%e4>HbA1Cswg|ja#Aw~Rsk947hQT3nbp6n!hm`j8DVewbr|!m zblkP`h8G9h{$x@vtQL*qVUka%SwR$+hRNwsvgwUfAYqVUL~)-tYS0a&16&%y&jrO3 z513VY1j}~{ci_l(A%vwjxNj5~4RMsDF9>Nl`V>pFNHpPrSs3I3d$pw66>vUIbppkr zAykn_wUJk>d@~K0$MnFR))cA%BT`v3N>qB3m+uv+iLelg?1o8+al%0>F)Ga#i7cgO zl@2E~bi3I{Xd*Lu0WwJ?0f|X?G?9F<%}f$ENiL9Qq?vo*L_0h_xYI95Aiw3JUIOj@ zMP&MSUeZzz^j6_Q>_QY7uu-+FnZ#A~NFS(A3u4|1_h=Tb=r->Z=j0u000JicETsE5 zD71EYX*L;~FwIg6i~%*W(%m)}ao$a`!bA!JQWSJbc6omiFv&u()rN@Bp0|1cLW~0d znkbT#Ka<6PEGc$hi?KkoW;@6VcHQG9-<|VB!5GM5QP`P)7=u}qu2Nsdqa^h+vE0?efxrPB~>2pQa4>DrBE ze1vMBZvun4eiknpp}Nn@C=%zNd6PXyo@4ov0CPYZ+)$EZ-WttUMtgw=%8hUhNy~;) zJsL8KL0GuZO!C78CLxC2WkAW{fV;d}l*J+^9wh(+rRBG&sLpkIum>156D(EbjXOjk zOg_}8h`J!Tkat#c5!>9vxinTku@)NtF7CoJ$AaiI+8gBupZDyb6-{}{DEPPo8HdM4>Sw()&M8L{9=iJjYQh@iwIX% z2goE&qPSp^K3T9DVWFL0fcSRObBlzZ_pW8p3G5L}nM{}>aI)7cW+jp}BfloFO6hR} zAUvub=zt_vIdNlcW7Mw8gD58Qw~_@XNzh=)g1qBO8wMt&oPT*Sd9}Z7zhuR5QcfoO zIp(oR)uI7fh%}oz?Teu%hy@djd>4WR!#&@GTTP-ISTcYQ&gG~l$qWRpF>A40xwZ>J z_DyDh0vtEM!T^d89->W#yDC651SUDo2vM46YvLwjQk(C4V1`;Pa6*gW2`a}75*J3_ zEFfgh^La19g5&1I=G|Z>Kp-@!??o6-=0TRfOyMNY_z*v`OhBGV&@_L&ayn+rqym-& zppy-T=@~=>69G>NbYc}!VgiatssKH4uy7^T$ zPbPzIp&>Mn2}_3D;|K~y4Jh(H8u*~Px4%&+JXqLvkNu_-A}FOYyD9k>hI>Zb^F(n7 z6dvz+H8@g<;EsIiViECJMCTqi3%oHRZiW;X@ALyv-qCOpM5)0CZ{R6$>BSA>j<@NU z7ZF-)Q>-`;MUfUTCM>Cia5*}YOgKiN&f_WX6uP)b5vVj^0)s9vJd?P_ihYk&uDQZY zF^P+Jv4aJbVS4dm>vPdR87B~2A)JL^4(RUPbX>$+?v9}x1 z25yK4VG0K-a}e#lU18=smY`c`f<@Rz60aB+rgOb63fE#%4+3xhd zF&4NX*UbWkp+hPoBpm}5yJ4DD26*+H(IRpjKRA$9&dggIyN`8oVOVQp9T%+2gvM&f zh&dLC9S1a$&pw=BT{ut}-5-Nb(vUdTi*YhA=H?^8E;3o{Jh!d!QUU2ooLI_K0$INMs?O&qR4B)_V zi=|Sh!VzcHh;Y_MzhBq$$BpRe43uH!ULU>*Vl#3u}^{GaK&KdN)nV}8rbH)Kujr^vH7Z%%{s8X!F zG2*!l;ELcZR@z3sYKa4ov5IvS$f&`PfkcZTYk1jHU|;U3%aAUMD=c0czZ#H#VF+7z zd2?NC;&N};M73MDwN<)m0!ks7pK=z0_$f>I@@SHf9G8ujvg15k<2ET-q&NY(UPn+o z>j6BGG}6FFEO80h#$y!%rWFiW4Cpu(iM1CK#|g?DXz3>Xz$EDc6R9AoNW2IGs%+^7 z5(8prILt=VqN)yL(7R89ObRVv7{TT=d--w!FRV%-XyPPW3&D0CTu9Bq4^+n5dFP$C zPKB6vD?w23$QwSImEPk=YV%&2gW}~4Vc3O&B0=Zf0uFFvq4*)mFS#v}Q!;h0kut^z z!;V4bn6L~5XLmPJJjW`*IB1c3#~E_7;i5pb;JIBKK4dL#?b3Tgu-M=gY57Ih&@|3j9^o||kyXnSiO9-ziu zt_vU{kQYc0rbZmcg$3S#!2!kgrGZ|N--((85)rv)*+d4HRlEmb`-@6 zJdYv30TjHuJ{b86h6)EPMT11JEuevBLd*;y78lM5H-D?g37&W~krwtI*GUGEXA$P5 zREUfU&6;UBSQa0P^gt-$gQT!McARIDccsDw2a&StAQG`He%;3eB#Bv;XrE!s6I=Po z=lC1r)febIgqRVV6bi*+_h9Q%>OlS>5<+T07#0{%C?ei1>|>l%zRDOMLYe8CXBQHS z5Q<%kbtBKkO3u<~2+MPh^Mb=-F*#^dg<>|DLA8%;@MS(j+rD}odWJr3Uf=DW* zUgjpm@XR7IL3KjRyi*~L3!z=C6&{%dd zFHNXQ1}nI{=*nhk5ZTUz56nYiAW&+z96~^9z8YMjWCG(n$h`}RVR5bj!zeTzI9YwU z5P6W;152R=GNFigG8iXc1A)TMXDrAmv)UV-i`gViMhI0QgAmh$YFzu`7r(gfi6*Id z7^5;IVYxgos9LKDM$FG%xhHrNFXq9OQWD0zO0?MV4#ku#@J2|WGr$nfGU2)K%wY&m zkV&`WxwM%`G?=GA_rf3+Xxs}^7#1TKeB|br4>Dk29|zba8mdF8%0#FI!YCis{b6Tp^R&fc z)87RMl<^Nwgw%_Om~r6-4RRsCS37w2&8!R4&J53mWlS+&;iKGz<`&BBT{g@=F%^WmW6u z%|*xLs!-Qr&|r)adT>5}pPAYaBtDC^?+y#)UszB`wOTQs<9yEy90Ech^=WJFrOhOZ z#Y-c|R%8f|0i=1L2go@z*!I|cYsMT191{j3oaSe6Qe*+^P_RxgRA*t^Jro==O7=L& zw{0vGyAz6u5#Dqp@RfXJ%qzpVSdOgacer3--$6!%VKB<8QIwF%0w+o!+a0jLbRsQl zAmW8Fp~wn-AdwTtyn?f4_2&$vMsqO%bP{HaSY*Stm_d(aO^8yNx5e6Vq|PK65x2*X zh`%p9^ih(xMkexY2n(HnfN-eL(5);Mt1uz6NyiH=pvZQI<{h9oaUu~+VOZp`;|9Vt zU4}gl0%Vvh6DHcVcl-6op5YO3M_mnVzW03-;b1+wPoMClbCJ_rd1Di`~T$+>*hOl*WC_l8svl}SjGY6yj(TS>FI>LOoL zWL+gffLV(T2FR8MXv6}|)NzKQ1F^YK@PvJyK&K03EVLF9;|wt<{fM7=0L=jtc!9=a ziw#;}Ocmk-0`hi^%zKM1UBn>~!w}Vo$A1p?J3(P%)AXmlM)xq7)jHZ+WP9_m0UNwXXh)9Vk>9_H`xg+mKqB zLb430QjZytwR|s!Bwbi7M3U!H%NXd`Z4N3u}mSs=$+7TGEwTU%`NC`<+$ z21ofD5@In~`WQ19bWF~x5&B>Nbi=yUPrRhWgzi%O>ALcuLS+YhB@XFGf9hctE0u|z z;;;(|FUnTov>&)vfzAm7vi$W^mK_8SWUTYzm_=F`;}&Qz1|4K`1`>uXfJB;15{eM? zMdu)M>n;X?YH02J^Uq($ynT=`pb50$4H8C(3uJu(Lj8jisPc_qCmJ^d-DpUiD8NMGSQi3%G_$Ip%RCYmDI`pFThUA|p;|~8P>piJlYvMG zHCE@O73%zLY$x#0)Hz9s7Q5#al6EKt&6mz>_w5nIj4-Lw${7vI!?SSc!8Wj>gM{I{ zZnWd%J=z`%kVrgYmjCV<67xW%m`ZNGIc$;`bsl{VTpoFA>w=D9+kOVj=On+YK?-Jt z;-JOSB@7klzO0+;ybF(TL$Sr`T`wRSsuQ1EI}l=#NQn$=j0+1Q^Wmj*7_7^;MLhB> z3yvA)2~)_<<6-snYtqH6SUu(iX^e{5Vq!xqq&=56sd*w>2g$UHbSgLLbWF@@p~L+A zUKY~`G|3H-7Ba>oPM~0jBWZ2N&hN}IjYzSwDg)ZQkPxQ_V4Y!{XnW>4m)A`4PJI-Y zUB@8D1kCFX^bois_g-`%Q1i)aNwAQ^D&iO;7!!H0(DA+>FU`WUCPqynW3kJCgUITx z-EllH?3}qm>Ad{y1^Hx1`oIRyB)7IS9O1;!+S(sh|1DxKXY!48#4?N*aD|F}$D!dY zorx$wcal}4L18e&fb+sao{%;+zvT1!X_lhCVo`|>ic^e+aLPIYp%E@b`P=)-(gXup z1V!uADFjy_>Vw9RQiaDsGBLJu>kgVMU5p@3S~VEMy>s|cq0JcQDQ9pDA8+lMM)#;}Rw_yonn>t`!V(LefIDICVqwPO@x~1t1EAC*jG25TKAk4y4c z;DG^<)jPw)C029DS)mb|>P=aXc=OkW<()+a5L-U%${Z&ssm2dEGmg87RYFoICNiX4 zc|sabj^hI=i%Tv9dFh*c4(nnD-vrP}+r9{4^e+^M=tA*PWIk(9o|vs%O++4au0)WS z3}wR;Vz#@a>tew>qAZjikYzJ2zf{(Cd5)JBb-8!|CH4OM6u{3P7Djh zjbLF>A`vwd=kx173*}!YB9s=4vW8BFhDaz7IA$O-pE(hd5aeI1@+>PpsO42U#q1cK zEEIxcd1IQwoRpD{_C?_d!2sQHNQ4S`{!gkxGKmHtGRb0@5Q2NDHl$Ig_{rDsDT)y+ zQzdA0?igeYd5j0cJZKzCTkm27i4jb!gIG>n7Ysa6C}H6tU;JfR!&Fo-E+i~O%8qkVY7u7@o6601)OsNmE0yVYh*Aqg z#*oR<%bBo*$l>b$Cj?&@Z79^}1t}!pwnnBNDTR&;1A(6By1;{LA44q^lU!6x0$(N=GS_oqL6hH{ zB1P(&5d?|VL_=z2fsBzV9Ou-<;B3>obPRy64*If&L7ps@A?IzZaN%6i2%_R(kz5%7 zf4N!8`h(GHrpFMNi{xD1+e1u1=uJfI(;$$cm5=&0*dK@dj)83+ReG*^H-E|P zmp=W`OBRbw-v!w89ty}N8DNtw$eiItsu3@9oRatAfq(L;Q&$&Dsj!k2vtgHGLa@Sf zq|vwIm<2EIOgU*(-+40r5xB)}B?ZIC!#Ef*fIX@ayy3Z%^2n1#%TezJ@i;~UMp*Tr zi=7lkVPX)wYTSTCsM3~DE$AYe<{f)Zb}*>gELPXpw8nNeFXyWmi=5~dh51zf=Hj)rCn!jne<%>g;gu;t~8?bej63C$pBm_b++?yaxCil3!%aj^ubI`tuXzjC~ z{cQdlv#4r7#RCuGHpx9>Vn()O$i)%0j_@`Wl2lP5_$D!Efpjsb(=bB9_5dpbI;RQJ zVzDp~B^2lIg9F9Gna92Ic%Iilyt#pf90uD()d1x&;20Fb5^8#!ClbnK5SDBuw-iY`1bD1kVkRsW8O4!crR&F)S`97(x^d8k+b)hmJAx@~3JX zU_`E|4)eT#3Z}_2q^+3?p;Y227YbyV0F4ZEk3&$5Xzg|%%gq~SNT?9Pd;^qKFunVt z3kie4a=??xHW3Pl=+s7ZAXWoePD-N%IFUXGEM~NCwo@x~h|hlsD<*x>2@~;wpuS6E zvalR857|=7X|^mpQzFJqWXMEBxd$Do;)cxQW-4tR6fuhl7p#lF@|G3nc|<6=S6HcK zS%5;0Ervk)lIOum-yi4>1Se2%lE0G0Gq?x?S(;o6NZH^K0NY)^K^`%XdKy{Nkqmzn)aEi`+ z=Mw^tp0JK2lL&{0Y>)>RCE8_A$g+@gtWy-S81gQJ#eFHK5-F8;@pEJilnBrNl7O7X zX#oU%<;@smj8mp_oI%HN{tA={b}CY3g5mndn^q>hvO;uQma}>Jfd^@dO`HZ#6zO^) zq~+*^RVS~)bJ@>Umu1C)6sdF&3SmKjFvz4%tLtl_W-9-cM4zZYi!Ef7cUi$tGvzU* zdTwt11gZzL?x5jbAm$MYBUO?Ij3zK9WUbtVJBnu%kaLBM#jfMLb7 zrFVp4yW+99&9nUjRXiLC z0aBI7ATIJU4%>~-V(`R=Fp4wU!rZq$%*odQShw?l!UB2k%O5Eg63<(vPbjWnLC`|t z*+kbsMolU&jyq=P6XK`f^h87%Ao0esmc;-f8EGhtP$!Zd&x`5i9Bh``;#4Lch^Fa- zM0%0v@#<4t3w0wNAmX9*;22}>>Bey0{QQ+lCn(H91R{%9q;|6V8tUVf4&+*D4Dg(& zIyF*UfXgc*hUcyw*&~TBIUOevDDD!ApDnLSjMR|pM1DQVqXkenD6QBxgww0H$3o-~ zKSsWD=|BlokqW6~L13~Q=}MjR(yBJ{J~0H0Xk*|J3f9HhEilixFz`U3YA1gvL_6c5 z7gmtP?Q=E8U7;D{k>v43GumN(yNGF(=Ux_^5DHbAj8xs(9M0S`2vM%iCW2)l^7{Dz zxby+O@bCeF@Mr|m{K!QHco9GHSVvZrHUxz<4j8vTa^74#WS>aaEJ|M&V%a3j>j8{G zV>k|pR-ZRn8L+`J#HCE3(sg-by!n?c^Xp*JT@j`N>0c4dRzf(NqC|730foeP5@NW_l| zWSPvXb2_r;j4_@!+odP*jF?m-xS%>tNUp?oW{gm%=ZH-$NDY#}5kkFdtcDPULtJF- zBLIpuf&kktWx}Wmp)iSTc@_%T76`*U8S!}S^Pm6xI%}TrYNE%8m3yQ?#fj=;1S0d0 zn?KLMqG16|KwuG~AhF0sQ_Qkqv9Q%fK8z2PF^M6mGl?;T(Su9~Lrn--xV^Zf8cCB# zTK7CVCNqQus%%KDU5xnE27}pXT5J;U&^QSJ=q5Ra3kH=n1K>lGmgYn=K}^fBE3;Ty zc?Q1{#uXHf3nkSkb~r^U$Qz+CetRt#|K z%|h&3(2{m9ZdEH>1{uqj^&Bu+Y^qG!gycEzc4Zde0U`^<4@v$|er0QsVIhN>=5nNz zyk$YAEW!!2<|hl{6%#KNkjEqpdb7eXk{M=DTZ@pyrAb)KkOi$u%p=xTPzXw#P8be} zpoo#ucoj2)tb5KIPH@8j6rNkB$>b%ECsOGi`!a(hFlmI*W<)2(g<^9&AOC^n0BNc? zoEUl_9$JMKs8m@)EJyjHdK=?|29pgufGAa1Zc|YYQs`!m3lc;5J^=zj6tmYunD$tV z2EuS;;KC<(3`07Df@Lj=8ZnGik9jjdcZ>!KU4c2Do`^sTbG6-E7al_bU2DZv+H*x_ z5MchqrIhi=16Vi!*<&T%;W*+n-OkBw-K$h_y2*8sSS)6uk_n-D?lE+D$OjajEQjWu zUsdP$?^?)yKq*If5eP+AwZQr zFgV~S9mz=pk>ZAe5m0L!X*`>YJg6ch@r&C*wJ&Dzo9Jd?FLQLF2S6%goaL=?(0HPM zaMirYCWyTm0om~y6?R^HOO1uROIg?*6U(>^K_wG&DRuR2i~ZUbc$Y+-`! zvCwD-5BcA$@ZbOs4F%IYn=HlP%7CyKF*l0zmImvFSUq+OD#IdiYjw^e6#M2NGw)>C ziAtGY0jT%Z0Rnln053wc$Z^l1ooyI&A;Ty621BIED@1O}U8=#>si-%_Bm*Xcsa1h& zNEL1>D9>?X5vS(si>p7^QsE%0DJwF%H=N_$TmzbXf!PTb!7R)6jC9}}?_y_I?u90W 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png.mcmeta b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png.mcmeta new file mode 100644 index 000000000..87b1aee1d --- /dev/null +++ b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_flow.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 5, + "frames": [31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] + } +} diff --git a/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_still.png b/src/main/resources/assets/immersiveintelligence/textures/blocks/fluid/gas_still.png new file mode 100644 index 0000000000000000000000000000000000000000..f370895541a62ad024b56e371e931a8734e6d3a5 GIT binary patch literal 18590 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