From 2dc5e5623b5520b84c6db14bf1c0e2df069aac82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Ryb=C3=A1rsky?= Date: Thu, 18 Aug 2022 16:45:50 +0200 Subject: [PATCH] remove default dependecy --- README.md | 2 +- craft.lua | 125 ----------------------------------- depends.txt | 2 - description.txt | 1 - init.lua | 3 +- misc.lua | 39 ++++------- mod.conf | 3 + teleob.lua | 27 +++----- textures/ladder_wood.png | Bin 0 -> 3239 bytes textures/lava.png | Bin 0 -> 3396 bytes textures/river_water.png | Bin 0 -> 3265 bytes textures/sandstone_block.png | Bin 0 -> 3264 bytes textures/steel_block.png | Bin 0 -> 3041 bytes 13 files changed, 29 insertions(+), 173 deletions(-) delete mode 100644 craft.lua delete mode 100644 depends.txt delete mode 100644 description.txt create mode 100644 mod.conf create mode 100644 textures/ladder_wood.png create mode 100644 textures/lava.png create mode 100644 textures/river_water.png create mode 100644 textures/sandstone_block.png create mode 100644 textures/steel_block.png diff --git a/README.md b/README.md index 99604b0..0b63074 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ License: License: code: LGPL-2.1, media: CC BY-SA-4.0 -Depends: default, mesecons +Depends: mesecons Version 3.2 diff --git a/craft.lua b/craft.lua deleted file mode 100644 index 8ee1e03..0000000 --- a/craft.lua +++ /dev/null @@ -1,125 +0,0 @@ -minetest.register_craft({ - output = "mesetec:nodeswitch", - recipe = {{"","mesecons:wire_00000000_off",""}, - {"mesecons_materials:silicon","mesecons_lamp:lamp_off","mesecons_materials:silicon"}, - {"","default:mese_crystal",""}, - } -}) - - -minetest.register_craft({ - output = "mesetec:objdec", - recipe = {{"mesecons_materials:silicon","mesecons_solarpanel:solar_panel_off","mesecons_materials:silicon"} - } -}) - - -minetest.register_craft({ - output = "mesetec:light", - recipe = {{"mesecons_materials:silicon","mesecons_solarpanel:solar_panel_off","mesecons_materials:silicon"} - } -}) - -minetest.register_craft({ - output = "mesetec:delayer", - recipe = {{"mesecons_delayer:delayer_off_1","default:copper_ingot","mesecons_delayer:delayer_off_1"}, - } -}) - - -minetest.register_craft({ - output = "mesetec:oxygen 3", - recipe = {{"","mesecons:wire_00000000_off",""}, - {"default:sand","mesecons_lamp:lamp_off","default:sand"}, - {"","default:torch",""}, - } -}) - -minetest.register_craft({ - output = "mesetec:dmg 3", - recipe = {{"","mesecons:wire_00000000_off",""}, - {"default:sand","mesecons_lamp:lamp_off","default:sand"}, - {"","default:mese_crystal",""}, - } -}) - -minetest.register_craft({ - output = "mesetec:ladder 3", - recipe = {{"","mesecons:wire_00000000_off",""}, - {"default:sand","mesecons_lamp:lamp_off","default:sand"}, - {"","default:ladder_wood",""}, - } -}) - - -minetest.register_craft({ - output = "mesetec:keycard", - recipe = {{"mesecons_materials:silicon","mesecons:wire_00000000_off","mesecons_materials:silicon"}, - {"mesecons_materials:silicon","mesecons_lamp:lamp_off","mesecons_materials:silicon"}, - } -}) - -minetest.register_craft({ - output = "mesetec:codelock", - recipe = {{"default:steel_ingot","mesecons:wire_00000000_off","default:steel_ingot"}, - {"default:steel_ingot","mesecons_luacontroller:luacontroller0000","default:steel_ingot"}, - {"default:steel_ingot","mesecons_lamp:lamp_off","default:steel_ingot"}, - } -}) - -minetest.register_craft({ - output = "mesetec:controller", - recipe = {{"","mesecons:wire_00000000_off",""}, - {"default:steel_ingot","mesecons_walllever:wall_lever_off","default:steel_ingot"}, - {"","default:stick",""}, - } -}) - -minetest.register_craft({ - output = "mesetec:hacktool", - recipe = {{"mesecons:wire_00000000_off","","mesecons:wire_00000000_off"}, - {"default:steel_ingot","default:mese_crystal","default:steel_ingot"}, - {"","default:stick",""}, - } -}) - -minetest.register_craft({ - output = "mesetec:objdec", - recipe = {{"","mesecons:wire_00000000_off",""}, - {"","mesecons_detector:object_detector_off",""}, - {"","mesecons_luacontroller:luacontroller0000",""}, - } -}) - -minetest.register_craft({ - output = "mesetec:mtptarget", - recipe = {{"default:steel_ingot","mesecons:wire_00000000_off","default:steel_ingot"}, - {"default:steel_ingot","default:mese_crystal","default:steel_ingot"}, - {"default:steel_ingot","default:steel_ingot","default:steel_ingot"}, - } -}) - -minetest.register_craft({ - output = "mesetec:mtp", - recipe = {{"default:steel_ingot","mesecons:wire_00000000_off","default:steel_ingot"}, - {"default:mese_crystal","mesecons_luacontroller:luacontroller0000","default:mese_crystal"}, - {"default:steel_ingot","default:steel_ingot","default:steel_ingot"}, - } -}) - - -minetest.register_craft({ - output = "mesetec:ptp", - recipe = {{"default:steel_ingot","mesecons:wire_00000000_off","default:steel_ingot"}, - {"default:mese_crystal_fragment","mesecons_detector:object_detector_off","default:mese_crystal_fragment"}, - {"default:steel_ingot","default:steel_ingot","default:steel_ingot"}, - } -}) - -minetest.register_craft({ - output = "mesetec:ptptarget", - recipe = {{"default:steel_ingot","mesecons:wire_00000000_off","default:steel_ingot"}, - {"default:mese_crystal_fragment","mesecons_luacontroller:luacontroller0000","default:mese_crystal_fragment"}, - {"default:steel_ingot","default:steel_ingot","default:steel_ingot"}, - } -}) \ No newline at end of file diff --git a/depends.txt b/depends.txt deleted file mode 100644 index b599797..0000000 --- a/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -mesecons diff --git a/description.txt b/description.txt deleted file mode 100644 index f8af19c..0000000 --- a/description.txt +++ /dev/null @@ -1 +0,0 @@ -Extra and usefull mesecons stuff \ No newline at end of file diff --git a/init.lua b/init.lua index b5755ed..2ea8783 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,5 @@ mesetec={ - maxlight=default.LIGHT_MAX or 15, + maxlight=15, player_teleport={}, mtcuser={}, mtpuser={}, @@ -15,7 +15,6 @@ dofile(minetest.get_modpath("mesetec") .. "/tools.lua") dofile(minetest.get_modpath("mesetec") .. "/teleob.lua") dofile(minetest.get_modpath("mesetec") .. "/misc.lua") -dofile(minetest.get_modpath("mesetec") .. "/craft.lua") mesetec.distance=function(p,o) return math.sqrt((p.x-o.x)*(p.x-o.x) + (p.y-o.y)*(p.y-o.y)+(p.z-o.z)*(p.z-o.z)) diff --git a/misc.lua b/misc.lua index c421cd9..f323956 100644 --- a/misc.lua +++ b/misc.lua @@ -44,10 +44,9 @@ minetest.register_node("mesetec:codelock", { on_rightclick = function(pos, node, player, itemstack, pointed_thing) mesetec.form2(pos,player) end, - tiles = {"default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","mesetec_code.png"}, + tiles = {"steel_block.png","steel_block.png","steel_block.png","steel_block.png","steel_block.png","mesetec_code.png"}, groups = {mesecon_needs_receiver = 1,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, mesecons = {receptor = { rules = mesecon.rules.buttonlike_get, state = mesecon.state.off @@ -75,10 +74,9 @@ minetest.register_node("mesetec:dmg", { description = "Mese damage block", tiles = {"mesetec_trap.png^[colorize:#f9570001"}, alpha=1, - inventory_image = "default_lava.png^mesetec_trap2.png", + inventory_image = "lava.png^mesetec_trap2.png", groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, drawtype="glasslike", paramtype = "light", sunlight_propagates = true, @@ -112,10 +110,9 @@ minetest.register_node("mesetec:oxygen", { description = "Mese oxygen block", tiles = {"mesetec_trap.png^[colorize:#00a5a201"}, alpha=1, - inventory_image = "default_river_water.png^mesetec_trap2.png", + inventory_image = "river_water.png^mesetec_trap2.png", groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, drawtype="glasslike", paramtype = "light", sunlight_propagates = true, @@ -149,10 +146,9 @@ minetest.register_node("mesetec:ladder", { description = "Mese ladder block", tiles = {"mesetec_trap.png^[colorize:#87878701"}, alpha=1, - inventory_image = "default_ladder_wood.png^mesetec_trap2.png", + inventory_image = "ladder_wood.png^mesetec_trap2.png", groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, drawtype="glasslike", paramtype = "light", sunlight_propagates = true, @@ -184,20 +180,14 @@ minetest.register_node("mesetec:ladder2", { minetest.register_node("mesetec:delayer", { description = "Delayer (Punch to change time)", - tiles = {"mesetec_delayer.png","default_sandstone_block.png"}, + tiles = {"mesetec_delayer.png","sandstone_block.png"}, groups = {dig_immediate = 2,mesecon=1}, - sounds = default.node_sound_stone_defaults(), - paramtype = "light", + paramtype = "light", sunlight_propagates = true, drawtype="nodebox", node_box = { type="fixed", fixed={-0.5,-0.5,-0.5,0.5,-0.4,0.5}}, - mesecons = {conductor = { - state = mesecon.state.on, - offstate = "mesetec:ladder", - rules = mesetec.rules - }}, on_punch = function(pos, node, player, pointed_thing) if minetest.is_protected(pos, player:get_player_name())==false then local meta = minetest.get_meta(pos) @@ -226,7 +216,8 @@ on_punch = function(pos, node, player, pointed_thing) end return false end, - mesecons = {effector = { + mesecons = { + effector = { action_on = function (pos, node) local meta = minetest.get_meta(pos) if meta:get_int("case")==0 then @@ -240,10 +231,9 @@ on_punch = function(pos, node, player, pointed_thing) minetest.register_node("mesetec:light", { description = "Light check", - tiles = {"jeija_solar_panel.png","default_steel_block.png"}, + tiles = {"mesecons_solarpanel.png","steel_block.png"}, groups = {dig_immediate = 2,mesecon=1}, - sounds = default.node_sound_stone_defaults(), - paramtype = "light", + paramtype = "light", sunlight_propagates = true, drawtype="nodebox", node_box = { @@ -251,7 +241,6 @@ minetest.register_node("mesetec:light", { fixed={-0.5,-0.5,-0.5,0.5,-0.4,0.5}}, is_ground_content = false, mesecons = {receptor = { - rules = mesecon.rules.buttonlike_get, rules = mesetec.rules }}, on_rightclick = function(pos, node, player, itemstack, pointed_thing) diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..db91cb8 --- /dev/null +++ b/mod.conf @@ -0,0 +1,3 @@ +name = mesetec +description = Extra and usefull mesecons stuff +depends = mesecons diff --git a/teleob.lua b/teleob.lua index 611aff0..ba4f6b6 100644 --- a/teleob.lua +++ b/teleob.lua @@ -107,10 +107,9 @@ after_place_node = function(pos, placer) end, - tiles = {"default_steel_block.png"}, + tiles = {"steel_block.png"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, --mesecons = {receptor = {state = "off"}}, mesecons = { @@ -138,10 +137,9 @@ minetest.register_node("mesetec:objdec", { on_rightclick = function(pos, node, player, itemstack, pointed_thing) mesetec.form1(pos,player,"obj") end, - tiles = {"default_steel_block.png","jeija_object_detector_off.png^[transform2"}, + tiles = {"steel_block.png","jeija_object_detector_off.png^[transform2"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, mesecons = {receptor = {state = "off"}}, on_construct = function(pos) if not mesecon then return false end @@ -168,10 +166,9 @@ minetest.register_node("mesetec:objdec2", { on_rightclick = function(pos, node, player, itemstack, pointed_thing) mesetec.form1(pos,player,"obj") end, - tiles = {"default_steel_block.png","jeija_object_detector_on.png^[transform2"}, + tiles = {"steel_block.png","jeija_object_detector_on.png^[transform2"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, mesecons = {receptor = {state = "on"}}, on_timer = function (pos, elapsed) local meta=minetest.get_meta(pos) @@ -199,8 +196,7 @@ on_rightclick = function(pos, node, player, itemstack, pointed_thing) end, tiles = {"mesetec_ttp.png"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -234,8 +230,7 @@ minetest.register_node("mesetec:mtptarget", { description = "Mese teleport target", tiles = {"mesetec_ttp_target.png"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, drawtype = "nodebox", paramtype = "light", paramtype2 = "facedir", @@ -256,8 +251,7 @@ minetest.register_node("mesetec:ptp", { description = "Player teleport", tiles = {"mesetec_ptp.png"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, mesecons = {effector = { action_on = function (pos, node) local names={} @@ -284,8 +278,7 @@ minetest.register_node("mesetec:ptptarget", { description = "Player teleport target", tiles = {"mesetecptp_target.png"}, groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0}, - sounds = default.node_sound_stone_defaults(), - is_ground_content = false, + is_ground_content = false, walkable = false, mesecons = {effector = { action_on = function (pos, node) diff --git a/textures/ladder_wood.png b/textures/ladder_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..b8772c579ade302bc81bf3a06fc723790dd12ca3 GIT binary patch literal 3239 zcmV;Y3|RAtP)uJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%ARI+y?e7jKeZ#YO-C0qjXcK~#90V*LOAKSQdI#sAD82ZptK z&N39FhcPnX0TX7f`XB6K3|8B^Y&Ro70I`4sRg@JOWR;Z}1dd*3Sh-@|e@}07u;RZz ze?jP9KN;9~c^MAuIKv>p&xc|lKmdUa`1JY>!?(|$89sdf#&Gh+V+KwpcC5BuJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%ARI+y?e7jKeZ#YO-C0*OgPK~#90V*KB%`hWha4-8%=zZf`K zIT*H`{Lf%3^_gMU6CMUpIerEo3r2>g$DT02z@yJ>4061`z-)FsZU%q=V)|*I&A`dT z$Z&yG39MP3_a}q2l?;QM%ohd={f`Wv9)AKWy4=e_9H7KkA0*Hl0ikCr-;WN-lVhpN+e;FR`00z`a zX0T?E0$9L-Z3O~|ML*yc0R#|}mIfqr!GQ&II>_Y9hrWO{gTet8E-(P{JB$yK2M8c0 z{u|H0oL@lOLBPy`mjM}oVgTd69j zILNs$TR~|8z1O zgQ)t&202TwO1%(&L5`X|=dcXG?Bqbs# z1_cfX!2AxPK~eVS*=M-xKzvneRtA6oVuB?USi%9B{_2|mJlnz&4k%N>k}rt=8Jh3_ a0t^7`S1p)&N$RQq0000uJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%ARI+y?e7jKeZ#YO-C0tQJ$K~#90Vq{Hj`~UCrCk7^7J_bg1 zZifFqzcT#)@`Zts8_53klYxK_Hu1 zT9JW)i3zL;1pwv$|NhOu#3u?d1PA~E2&|J4YT~~y@1ce;A~bycg3$l#8<6;iVkSTU zF@bDk5)=X2$jHFR$_CU7)b#xe#6X~CCP6WTfmi@Q05LKA`^WI_{Tl{`e-I5|`rT`& zAAyE)a$^|q|HoGl31$NX5EIC@{~%`p6)_8ogZ<7Vi0~tbW@KfD2O1dsLwExqfSCTi zf6c(e%>xcRMou1x4Zpu3H2jAUVAlb~K;HcO{uS7zAU;3-0t%oy6&$ue z=l=iwi-B2493^mJh5`f-6GAnD!N|r9^@RhRG++Rrg#ZD>1Wu~ozCujo;sW~X zDuJ@VVD_UC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$Or zQF$}6R&?d%y_c8YA7_1QpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv z1)yUy0P^?0*fb9UASvow`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q z{wNRKos+;6rV8ldy0Owz(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E`vOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G4 z1dM~{UdP6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4E zs0sQWIt5*Tu0n&*J!lk~f_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+ zAA{TB3-ERLHar49hi4Ih5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=nat zP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+edD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVbnL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0 zWMyP6Wy582WNT#4$d1qunl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8d zZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iu ztvy=3T65Yu+7a4Yv^%sXb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i z^lS773}6Fm1Fpe-gF!>Ip{*g$u-szvGhed;vo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*Z zvFf(^Xl-N7w{EeXveC4Ov)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx z)P8cQ&Qi|OhNWW;>JChYI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_W zICNY@+|jrX%s^&6b2i>5eqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!q zl}XcFH*PieWwLj2ZSq`7V9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I- z?$tAVKYn8-l({mqQ$Q8{O!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;c zwT88(J6|n-WB%w`m$h~4pmp)YIh_ z3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dl zbFb#!9eY1iCsp6Bajj|Hr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syT zu9enWavU5N9)I?I-1m1*_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$m zU2Q)a|9JSc+Uc4zvS-T963!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;; zJuhGEb?H5K#o@~7t9DmUU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX z=)z6+o0o6-+`4{y+3mqQ%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@ z>;2q1Vm)$Z)P1z?N$8UYW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHs zy69KwU-!MxeeuI@&cF4|M9z%AfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u00v@9M??Vs0RI60puMM)00009a7bBm z000XU000XU0RWnu7ytkO2XskIMF-&l5)uIb&;^ow0005YNklE7iI#$@ur#Ii?tJ|49?^zKA4|()P1Qp62x>bs!dce& z@ZNyF(UjBq86W+1=--XHb;Ip;P}}tiX`e4I4mk+ibd!;fU5l(YGrUeB36l-P%^$u9Z;T6ZcLj1pv2xpr{m78-4USxWGNN z9*N3sqiDm&)ZtG1F)XL^GZ8_$p$ZVR^~CQ#KM@{ikL^McVc5W}uIT4ui84trXicX3bUp~)R=zlTVW-u*a^BV{5)7-PH8`-YF(wC+KlwmuV?)bpwF y^75T^tz=GNA`>ZvJ{;BZHcf1(2-n*$GL!$ao+>IXPJLwn0000uJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%ARI+y?e7jKeZ#YO-C0VYXAK~#90V*C#T3={x>0AhLk_%XwY z6DRO0;^5$55EmB*vtPb^$?)UH4>0@w{re060mOo=@WqQ444*%L#%jpr%a_44FE1~H zf`S6rK#&0d0mOo?SyfdPug$k_-v*0;_+P(%WdH~uCYWMkG=qSVkr9KLnHii95I}GP zi19N>Tu4X=MJ+%8VHkiCR$&F9XYgYy9bh~@9!zbLk@UcDNx0q6iAfLInUUd+JF&CPJ{ j-aT;ICIx`P4