From 1b1682a9d6305f5ba43aa39c0c297fdc2033ab51 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 31 Jan 2024 17:01:13 +0100 Subject: [PATCH] mind the GUI --- changelog | 19 +++++++++++------- gradle.properties | 3 ++- .../com/hbm/blocks/generic/BlockDecoCT.java | 17 ---------------- .../java/com/hbm/blocks/generic/BlockOre.java | 6 ------ .../gui/GUIMachineCatalyticReformer.java | 13 ++++++++++++ .../inventory/recipes/anvil/AnvilRecipes.java | 9 +++++++++ .../java/com/hbm/main/CraftingManager.java | 4 ++-- .../hbm/textures/blocks/cm_flux_side.png | Bin 410 -> 490 bytes .../hbm/textures/blocks/cm_flux_top.png | Bin 541 -> 563 bytes .../hbm/textures/blocks/cm_heat_side.png | Bin 218 -> 567 bytes .../hbm/textures/blocks/cm_heat_top.png | Bin 742 -> 540 bytes .../gui/processing/gui_hydrotreater.png | Bin 0 -> 5217 bytes .../hbm/textures/models/missile_stealth.png | Bin 1126 -> 1346 bytes 13 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_hydrotreater.png diff --git a/changelog b/changelog index c44e3345d..1f341a394 100644 --- a/changelog +++ b/changelog @@ -1,8 +1,13 @@ -## Changed -* Sped up the electrolyzer, fluid electrolysis now takes 3 seconds instead of 5 and crystal processing now only takes 20 seconds instead of 50 -* Increased electrolyzer pouring speed to 3 nuggets per tick instead of 1 -* Deco blocks now only drop ingots 25% of the time - * The incredibly common structures now only yield a few dozen free ingots instead of several stacks. How horrible! +## Added +* More custom machine parts + * Custom machines now have a neutron acceptor which allows them to use flux from the breeding reactor in recipes + * There is now a heat acceptor which can accept heat from things like fireboxes or electric heaters + * Also added a config option to create pollution -## Fixed -* Fixed radar screens not working at all and potentially freezing the game +## Changed +* Deco bocks now drop all of the time, but they drop themselves instead of ingots + * To get the ingots, deco blocks now have to be deconstructed in the anvil, yielding an ingot 25% of the time + * If I see one more person complaining about the chances I'm reducing it down to 10% +* Catalytic reformers now have a tooltip informing about the need for a catalytic converter +* Several guns now have reload animations including most .357 revolvers and Samuel +* Updated stealth missile texture \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 2bc727da5..a50134150 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,4 +17,5 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al \ JamesH2 (blood mechanics, nitric acid, particle emitter), sdddddf80 (recipe configs, chinese localization,\ \ custom machine holograms, I18n improvements), SuperCraftAlex (tooltips) LePeep (coilgun model, BDCL QC),\ \ 70k (textures, glyphid AI, strand caster), Maksymisio (polish localization) Ice-Arrow (research reactor tweaks),\ - \ 245tt (anvil GUI improvements), MellowArpeggiation (turbine sounds, sound fixes) + \ 245tt (anvil GUI improvements), MellowArpeggiation (new animation system, turbine sounds, sound fixes),\ + \ FOlkvangrField (custom machine parts) diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java b/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java index d16524637..c6197d163 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java @@ -1,9 +1,5 @@ package com.hbm.blocks.generic; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.items.ModItems; import com.hbm.render.block.ct.CT; import com.hbm.render.block.ct.CTStitchReceiver; import com.hbm.render.block.ct.IBlockCT; @@ -12,7 +8,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.Item; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -40,16 +35,4 @@ public class BlockDecoCT extends BlockOre implements IBlockCT{ public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { return rec.fragCache; } - - @Override - public Item getItemDropped(int i, Random rand, int j) { - if(rand.nextInt(4) != 0) return null; - if(this == ModBlocks.deco_aluminium) return ModItems.ingot_aluminium; - if(this == ModBlocks.deco_beryllium) return ModItems.ingot_beryllium; - if(this == ModBlocks.deco_lead) return ModItems.ingot_lead; - if(this == ModBlocks.deco_red_copper) return ModItems.ingot_red_copper; - if(this == ModBlocks.deco_steel) return ModItems.ingot_steel; - if(this == ModBlocks.deco_tungsten) return ModItems.ingot_tungsten; - return null; - } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index be87197a0..e22d2e1f1 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -154,12 +154,6 @@ public class BlockOre extends Block { if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) { return ModItems.chunk_ore; } - if(this == ModBlocks.deco_titanium) { - return rand.nextInt(4) == 0 ? ModItems.ingot_titanium : null; - } - if(this == ModBlocks.deco_asbestos) { - return rand.nextInt(4) == 0 ? ModItems.ingot_asbestos : null; - } if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos) { return ModItems.ingot_asbestos; } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java index 4106bfa80..7c0c6d358 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java @@ -1,14 +1,19 @@ package com.hbm.inventory.gui; +import java.util.ArrayList; +import java.util.List; + import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineCatalyticReformer; +import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; public class GUIMachineCatalyticReformer extends GuiInfoContainer { @@ -33,6 +38,14 @@ public class GUIMachineCatalyticReformer extends GuiInfoContainer { refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 70 - 52, 16, 52); refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 70 - 52, 16, 52); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 17, guiTop + 70 - 52, 16, 52, refinery.power, refinery.maxPower); + + if(this.mc.thePlayer.inventory.getItemStack() == null && this.isMouseOverSlot(this.inventorySlots.getSlot(10), mouseX, mouseY) && !this.inventorySlots.getSlot(10).getHasStack()) { + List lines = new ArrayList(); + ItemStack converter = new ItemStack(ModItems.catalytic_converter); + lines.add(new Object[] {converter}); + lines.add(new Object[] {converter.getDisplayName()}); + this.drawStackText(lines, mouseX, mouseY, this.fontRendererObj); + } } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 3a0c76a39..f6a37b64d 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -718,6 +718,15 @@ public class AnvilRecipes { } ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_titanium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_red_copper), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.heater_firebox), new AnvilOutput[] { diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 693b75e30..fb36d022f 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1183,8 +1183,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 2), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_red_copper); addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 3), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_gold); addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 4), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_schrabidium); - addRecipeAuto(new ItemStack(ModBlocks.cm_flux, 1, 0), "NZN", "ZCZ", "NZN", 'Z', ZR.plateCast(), 'N', ModItems.neutron_reflector, 'C', ModItems.reactor_core); - addRecipeAuto(new ItemStack(ModBlocks.cm_heat, 1, 0), "PCP", "PSP", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.board_copper, 'S', ModItems.pipes_steel); + addRecipeAuto(new ItemStack(ModBlocks.cm_flux, 1, 0), "NNN", "ZCZ", "NNN", 'Z', ZR.plateCast(), 'N', ModItems.neutron_reflector, 'C', ModItems.reactor_core); + addRecipeAuto(new ItemStack(ModBlocks.cm_heat, 1, 0), "PCP", "PCP", "PCP", 'P', ModItems.plate_polymer, 'C', CU.ingot()); } public static void crumple() { diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_flux_side.png b/src/main/resources/assets/hbm/textures/blocks/cm_flux_side.png index 626be40ad236eb0eb5b226a0000bbdf81f3b515c..5a2a210d64eccdf806ebbfe60b20bbfcbbc01251 100644 GIT binary patch delta 464 zcmV;>0WbcV1L^~iB!2{RLP=Bz2nYy#2xN!=00E&%L_t(Ijh&J)>yl9vho5`y^;HK2 z3I0f^!ZLp;D=! zs+463K)c?R;v}?zkRwY86Ztle(fGG91aO)_Say&Ueju|{@JI~DNmlg zLPQAOd(4b9O&O2JS8oAeW`qy|s>;{Nj8Y#`sZ?;zvE6Rj@As%G&N;mIs4C57lNcia zF-C%_VrIO3^MCp#1_%4|!8!3(2EC^*DT)F)pXS!evJ6!{d2mkuFNkMI?>~G2z&S?< zfh0*T;?!z2j>jXr-HtrZ5fSct{`9se3e1epAKzV_oTe%3?8Ggc)x8X^gm~Y3aT2M~ zXmEFTcQb=pt%moWu-R;Ax7+;qne*uJa}I|CF-FXcdP%)bwOXYp3XaDk&N-4Kp<1mn zo6YdvZMv;JEQ2_X(X~*f zhuGjh0~2r9hd%h@z`9}6JB4EoYrA!)qw0~>B)^U1In0lLNVQXX=z}8;YrFKf)t^i!1hWK?G=J(zL_t(Ijg68qPAoAHM4#LC%q|k?5^aDu00HONl!GCWavM$p z5(%J{X2&xg+ie15^TXef19x}zt1?edPc@~4soxH3K79s zYpJ!8QevKGL1I8~+AN(ce( zJvnD$jD!$+Lw{>B#t=eaUDv+>-g}HOOw+_Tj)(}$vXD~3THEC}z{|2Q&oiYIa?ZGB zO$dQf3gb8ebjjPcb^B6Ef!GPs*iIfs4CEk0aln5b^Qc@@saDUE`Wf=gCMuTRvNvqXD zTWeXZR!pZ;04fi+tZ(iw)ZVI%MkD(DKH7VKDke#S+3rY^;G z$ddq=yDwDY2!PtpKWCyJUs-Q=hnJ7v@ZO`f);Q2Fj@p_D>O$v^vX{PG3*&A|Ww002ovPDHLkV1jt>>>~gG diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_heat_side.png b/src/main/resources/assets/hbm/textures/blocks/cm_heat_side.png index cfa997ceae2c365cca2aac630ff6a4ae7484fe88..7d51fdbba8f03838e82d282373b2019b6b45f008 100644 GIT binary patch literal 567 zcmV-70?7S|P)98LfE1A^kaz^QsSr)xC{o%y z10@w*O5On}kqp8Pj=a0 z^ErzjD}MgE<6Hg#RpsN8@5%ej8=9u!g_1W%JU8jaF9gn+fy;=NDVhKg{9id^Eo z_1+UgpsFgeECVz>?)!c#XjN6zb)5oemSu-GA+g$KoH3{}@PWm(eqJ0Wk(7lBXjCXB~pzB)(yszqK4XYWUh$78Oq zuQwcKvst*gxnVw^lK1eS&I?!5D+8@)xxNO_J=&dU5~&002ovPDHLk FV1f&&0y+Qy literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k#^NA%Cx&(BWL^R}Q#@T9Lo_C) z26*zZC~#zVvd??+U;b&4z%zq`j%`OgJj6As-}?!@>-+IpnN!d)M42;`m0^c9!+|q- z^EtD1wiX&>T&j~4DxX&#op!L$S@q}}tCX!g>snq<&|RJ6>;H*M zG9uXe`GGTae91lR5*OW)E_z3VJ@u&yTJ`(7h4#vcN9KIaf6vor?eU1YH{qZ_{rag} Qf$n4QboFyt=akR{04{t{rT_o{ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_heat_top.png b/src/main/resources/assets/hbm/textures/blocks/cm_heat_top.png index 443aa3f7ee1340a9b7b454c81b5f7caa9afa422c..5ef2acf99899c1788f9980df275a4aa27843593a 100644 GIT binary patch literal 540 zcmV+%0^|LOP)JEd+bQw<}i*EBTF1or_rdVx~sZI`u)D~3`78*PAgu%YM>$j>^TKsWrm6% zfB}PHfe4s^2zj~ZC7RBw1YQ5H*QOVKK0oSAQ$rhXvIYrh% z%JY&x*JC=}jK$2eGQ){%j2783flAoKwDeqDyuqnZPh(aVX6_uf@OKOT#g>G8Sm3lo zMd)@j{B({1)ssl?Bv66bc)`i}Ya$H+Nn6Q|a%dm7m=yDEf}7D88;x02h5+4O#{D{~ e|ARdDJO2gGT%Wt@-+^xc0000Px%ph-kQR5*=oluvIXMG(b*uX73!Rlh3T+}t=oRaHpB%m8qABms1LaX)^Gqi+eo zWHRXh`v>|!eRFq!?rfa5+ie2~@cma2$T5l9ox~ggl{b3;wL9x|MvI9A^LfgTf7pRx zUDw>+W=QbyC#QIe{WzFrZ4&McPz3F>>=*`XSPf5xj86xcL-Xzho&?>`?6c##g-&6+#pR66`#b7ZM(@@clgSBh*I9e( z?7&bGi3!O_f^`yDtuj8m%{gC8+255^?gXiOIQ0r3_JJhUrJ1NIZ(mL9vXWP?J|mbI zr$Z`lVm!Z`QU1H<*gDxnHg&I#R<|31WthZbF{RuUczedA|CM9}Y$9!SXc8{xF5mO= z`huj@RyrF!aUJHDGq#)J(VnD3Eem+J&hd3lRX1H`v7GWylurU4TO^kBn`#73+D2h| zD!9kCSWFw|uOo&({5e4S6lmI6RaLNUzQyJtsVzh6)^UW;1I+WBV}VEDr`o)kb>PSL Y9~=G%*a=h^#{d8T07*qoM6N<$f|yrRQvd(} diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_hydrotreater.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_hydrotreater.png new file mode 100644 index 0000000000000000000000000000000000000000..255588ac747fb0eb1540d7a012d0a73726f74c6a GIT binary patch literal 5217 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¬4 zPxhZGwJMz)u8Sh|JDZQl)PX@u&PlwQ1-iO(gz~8FZn40_U9lh%_Lun7Jdu*@Pp7m9uEfg*i?m8n(6{maZyHgW3w5a@kwf0ngBpJ9EMJl zR^ky_QM`IqgtbP>{q@0<$A|R>g<-YR^6{S0o*+JgAG9A0heP;7(Bq_fIv8KdNcWf& zKJ9B>4R!V&Y*@1MS8}2qL;Z>JSII<$zQZ39fxC%XGBOY5HunZMH-_$-HWi8)2ww)7CyO3LECxjy0`c z>#RBE=MXSO{~5JHX6t%W2*AuDHR}WIPvU`4R&aws8Pz~d@y6;1b%Qm>u;{R{ym?pt z**0C!!GYrL9*t}zsgyz9{p+ZjqYjE01~#X6EfGt8@JU6}QYkiWs1m?Mh;m_YouqR# zu-&$Av8+$fKvxc*->TeDpt;$tbP&jd<^AFmky@n9u@O+!4!5D>jJaPm$w`e=9RW2f9uhy1Ktw@BEJrvW!wYZe; z9{3Of8UTZ5?NI-6#ff6%?!7+kdm>1E)j~QHoaPo#0W0Ku;I8?vJBa_ z(yeM;y^>tsP!-G`A}U4@);I@vYy`>c_3v5Z%0J*4+u1i#K>L^VisD*Eca0;SA;1$Rw956 z7^3|);u#-BVB86(0EZxLaO@bS7()eTNA$v*)@`5Uznn_BCz1Z>v%Xh@sJed=OkR&I z8H!EX@IR4(z}X2t(3=EKc**|9E{?(s{r48Knx;NvoM17F8ABK%li}!rAkKh)`PZ)z z7b2lN+@m;F<|TW0*oK^tAK}c9d#^A^W8+RfO8X=&ZrCr#D~B}PnXbDvmm@PX1A=w! z&%y)}?fbNi%4=)m+uM0e10#()@p|WID`d*%v53rm;9b}{iH|}tjN22a(f*pyx(cY8 zNJ!|COn9?|*Iw+;txZ9csDO1zLk6qc+#{S!eY-M=Obf8`nwl5Bjb;99p*Y&RztVz21@^NYA#s1|-Az~>hk2@DA_Z-GObhM8 zJ-U)d^inIi?ZduekM-xYi6aTX*+&wE#L!yr_iv70PR<0ZyG`gdSk7VgyjOlgwkstE z@^sB;*nZQDCuceh_~z}E&nySWW9fvu0&i4u=s!a7OAK*(gdRODj?tagkOG@`H z3-CDF*V`jcXJzg_UH2Qdv&hg$|A9_+0rxIF7(v@c{9>k4Ld_2!bAu}6fCLt7nM}2t zyX%Iw(Og14*i|Z*Sn*gjE$9OYrnC$$*)oNtg%UwXD9`=}Cg^tM-(S>Hux`6)@P@l! zwSQ(EvDPSBe;G6R@MwwKAaQkyTVoO8BIQC`PWHAeRkU6j(8>dY@OaV_@?b-3_BdB|+&2T0rO`#A_OF1v{djnNNSwb+M2Ja)1;5RMOm`B>jN={CWS5aQx$Wl zf5F*?jriiK#y@+L)6)ZF#0#5+!4RsODMmO;3hPBijHNeu_Yu&NDfbi*A7Iz)ic{-H z=nJF*k<6Vil;9CLK5B_JJaT^^MmVAO8r}*DGNNATgMM#hBDB2D%OSm6*b}xq&h~?})dX z^WwFzpSmS5y9Hj4^C{5F$QY{NE*ot?nc5c0=D~Owc-{UFU*<)40FDUJ)Ai%Oij04W z2ra|m1W%spW0eLyj0eg+z-iA{SEc=$^!(z(Wq8ysnPQYrsY` zQVv?dOzfSFL#@m*|3^swX6t{VCdQ$z3Wz2JR6 z($4<>hE~?{4`}qMCG8d=JF|#?vZ2`P(@CBhfP%Bn4-8O;YR#v*(x6I8O6Gmpl!*jb sHp>wtsg9XqXy2F=75N`W0oySvj3<`E4jH`;o*4ofD!R&Lx2&K47e%|FCjbBd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/missile_stealth.png b/src/main/resources/assets/hbm/textures/models/missile_stealth.png index 8ebb99bfe5137a9f95d91ed69473544007f4c932..2dbcbe3a9d18c545940da035df91c59834c2d1ba 100644 GIT binary patch literal 1346 zcmeAS@N?(olHy`uVBq!ia0vp^Q9!(cgAGU~eEKN>q*#ibJVQ8upoSx*1IYd9>Eakt zG3V{v*u2#S0A+Qc4q!LH#*?Ft{+;|C=9=U(_#b7^YP?a69I$K;!T zc6ziWN=yTyJMU-cKfdq(ukaHu`z=nsEy6Mx>J}IL3Kq!F+;&ebcKM%RHB5HpOq)R+AtY`RLTW z=03e8f|(|wzNI2fVMPthu^r21xmsK}nz5VDYS#pV9T}0f^@ijXC`Pct-ugm^BAF*?NK#aP-}gzs_D!#xSKiNeeOmuTIpZZ(T%V&>@TteKS>5}k6#eMdr=@#%N^Dvu zybOu9bK9HV@rLv0%v+x<56$#CdU{Ft>{a2X*}JY=F@agfXK2lOFyorlIl3dh|H`V~AJ((yP<9gRHbVG-D$y_5C->z`|?r)O=R;>t>&xe=zFe{!Fg@%K5FY3X)`B+~4xG-u>RG%SM^EpZQNe_jA>@JyXM6 z_J50t{>SqoLp@5cW>t&V3f+3P)k}7*yPcE$YhQh3@z$qnH}tc84g)H<;oe-S9dg|9 zUe)3$A8J+|=3K>mVt(Oo`Bltkq8D26as1t~b=68f1E6gdCyq})61i&DtAeIi44=|N zOs_INTN@y&aBbBxs{?yPff~ARKxIESUV;iPZkPm@UY@ZUqWQC>NvLmW1JK@f!7WhJ z89rAl00k`^OB;SF_W{je_#C#PPx$8QEQm`E*qjOr4VLu_kWGkleiu~)6wN+iJ0I+r z&r(I_ms|0DioV|c-m!F#;Ht+8_e2hmJCsUj6qfP;ePbFR+qQ=z?rO+!>4jDYY8X~R<>$C~vO9s?_2@ZJMU7X~ z)rar)J}m6YecRu`QO19{biwa^_y4H;{`WO*?$)QpIkl30XHM6?2Pcs2ht?hDER#*R z#{~&4kO!#3HaTpdbJ@i4{z0jF%RJwo#tT4^Fi&Wi%AA8H=Zn96fB5E7iP?tN44(}@ z+nhdr-2L1AXY2xUGQLZ{*gUxPNh$uS3|pnl@i)cqzwf@2XD(Q|E~^Y2x^gSi1Sb~C zgts0^U$P0PJuFNxb3NNy&Hk|B1exRF;oBcJw%z)azM*c7d-{&$`RkU|RMhOg`=oBa zd|2s2@YV?y;kuA(`-F{ctNPUq$b12lq^y%ZA zSFdDtW{Evq6eQ@V7`^}WKN-%qdlP&sC%#{GZCl4{?bx;Dd!z21sy7Y&a=b`LPXt&f OGI+ZBxvXq*#ibJVQ8upoSx*1IU&2ba4!+ znDch7VbLQ80ax}@f|{J-7yt4faP^onY16@L4;-aD_b-3SR()@E(S~o$ceA4SIg|6f zMB5T8cn*J9QOmo(_p$#y%bLRrniDQK8oW@DC=uYX;$V|yY36HkWG|dimsHhSvNtZ> z?|hwh4nl5`)r&%z%NBi~=6-p${eT<$K_vb9&FgBLi{8$jw)dyp4HOfT%wBw&6~FV} z`?L9}g^SNW-~6(#>hoG1zFWUue0vtX@S@{{KDYa)iZ5LDKL05oNH6sNuJ^4aERI%E zwc2w^O@4)WxC`hv>&aiO(O7GH323^9`{I0{0z>JNpKn&%2!DUJ{m|<2iRfeBk`|RJY|51Hl^1>I@ z4^IYs*?ZxIf=By{YDHP;ec!*B-=7EaDNB8Sx78)ZUvVDC*(zV$TdO9!2p9w$|Ky^5 zLC#q8{%#gnww>{O*krzoKucZff0@1xo7@L7Yx8g?GnZhR?>ptL_H-9m;`~K-&iT*tRn=t| zEa2w=}$l!CiJn{|4*7S?S0Sm2_V-! zh~7S{#G;0K$zezD)!snYMk~nj*{jyB_B<}FD7$EWAkdj0>16e&a}Gf1{Ec5PX}uKq zt9f~?UViZIzt^AH9#T6c_(7)R?Ou-T_}6FGFZ^@r@y+*pe{XUAdbvh_PASX5NU--n zK?d^heQt1ID04u93>4Ik6Cj}il;UVA>DVU@mIC{5FGLC)%B^52L6-NgZ+!UvWBz?$ zb^*yAiayk{g8$GL&Z(REF3vC7e}A>Sw~hI)%Y0Y;Kc7B-|NZxp-FH`=ds^hV{IX{6 z;~$?I3a^2KHg$He*UPfqw!%Sjl5v88Q{HQj%zyo_Po59& z0_u&`n|^lfxpcXwe}N$KQFKJ?c!}` zH9sy2GOk>p#dFK!^~#5*x&Pb$6#rLt|Fr$@E^&_yKCS