1
0
mirror of https://github.com/4Evergreen4/death_messages.git synced 2025-06-30 07:20:46 +02:00

28 Commits

Author SHA1 Message Date
a58ea2bc33 Merge remote-tracking branch 'upstream/master' 2024-09-15 09:00:06 +02:00
749320358c Merge branch 'crabman77-translate_irc' 2022-07-09 16:13:01 +02:00
8abee494e3 fix typo and translate messages server-side before sending to irc(wrong formated due to translation expression included in message) 2022-07-04 21:47:34 +02:00
6201e8468b Delete depends.txt, description.txt 2022-06-28 19:55:16 +02:00
c3e233e7bf Fix french translations (again) 2020-07-18 20:46:26 +02:00
9205361679 Fix french translations and add template.txt file for locale 2020-07-18 11:23:40 +02:00
75e9161420 Add french translation 2020-07-18 01:53:19 +02:00
9cdb3a8ddc Merge remote-tracking branch 'upstream/master' 2020-07-17 23:21:34 +02:00
ef02852939 Update mod.conf, reformat init.lua, and add luacheckrc 2020-07-13 11:41:11 -04:00
1124ed0d25 Ajoute de nouveaux messages et support de mobs + corrections 2020-01-05 14:30:20 +01:00
687947b07d Merge branch 'master' into nalc-1.2.
- Avec correction la personnalisation du mod pour le serveur NALC.
2019-05-09 21:15:14 +02:00
e1b749cabd Corrige le message d'avertissement pour l'usage d'irc 2019-01-19 21:57:20 +01:00
402df34ed3 Suppression de la dépendance du mod soundset 2018-11-02 12:35:23 +01:00
8c40fbc1d1 Version MFF. 2018-09-07 20:20:39 +02:00
d33ad44ab5 Cleanup as well as adding screenshot and description 2016-01-14 19:34:10 -05:00
0f6139c9f1 Change drowning detection to player:get_breath() 2014-03-20 10:25:56 -04:00
9fb435fd4c Merge pull request #2 from webdesigner97/master
add support for groups lava and water
2014-03-20 08:44:47 -04:00
3af6d00070 add support for groups lava and water 2014-03-20 12:32:08 +01:00
80247f1069 Change license to GPL v3 2014-03-19 12:16:52 -04:00
e0bb731245 Bump version to 0.1.2 2014-03-19 10:50:44 -04:00
cae9820f81 Make random messages optional, and add more quips. 2014-03-19 10:48:40 -04:00
0aaec99963 Add random table of quips, and bump version to 0.1.1 2014-03-18 20:59:44 -04:00
142e5f8693 Fix formatting in README (OCD much?) 2014-03-17 15:15:12 -04:00
eb60e2fdcf Clean up code a bit and use variables 2014-03-17 15:10:44 -04:00
81e34709d6 Merge branch 'master' of https://github.com/4Evergreen4/death_messages 2014-03-17 13:52:03 -04:00
1d7886a3d7 Add depends.txt 2014-03-17 13:51:40 -04:00
2e5e974005 Fix README.md 2014-03-17 13:25:34 -04:00
2f105a9c17 Add all files and bump version to 0.1 2014-03-17 13:23:56 -04:00
8 changed files with 460 additions and 49 deletions

288
init.lua Normal file → Executable file
View File

@ -28,75 +28,279 @@ dofile(minetest.get_modpath("death_messages").."/settings.txt")
-- default message used when RANDOM_MESSAGES is disabled.
local messages = {}
-- Another one to avoid double death messages
local whacked = {}
local logfile = minetest.get_worldpath() .. "/death_logs.txt"
-- Fill this table with sounds
local sounds = {
[1] = "death_messages_player_1",
[2] = "death_messages_player_2",
}
-- Translation wrapper
local S = minetest.get_translator(mname)
-- To translate server-side in server language for irc
local lang = minetest.settings:get("language") or "fr"
-- Lava death messages
messages.lava = {
" melted into a ball of fire.",
" thought lava was cool.",
" melted into a ball of fire.",
" couldn't resist that warm glow of lava.",
" dug straight down.",
" didn't know lava was hot."
"@1 thought lava was cool.",
"@1 felt an urgent need to touch lava.",
"@1 fell in lava.",
"@1 died in lava.",
"@1 didn't know lava was very hot.",
"@1 destroyed Sauron's ring.",
"@1 melted into a ball of fire.",
"@1 couldn't resist that warm glow of lava.",
"@1 dug straight down.",
}
-- Drowning death messages
messages.water = {
" drowned.",
" ran out of air.",
" failed at swimming lessons.",
" tried to impersonate an anchor.",
" forgot he wasn't a fish.",
" blew one too many bubbles."
"@1 lacked oxygen.",
"@1 ran out of air.",
"@1 tried to impersonate an anchor.",
"@1 forgot (s)he was not a fish.",
"@1 forgot (s)he needed to breath underwater.",
"@1 isn't good at swimming.",
"@1 looked for the secret of the Unicorn.",
"@1 forgot his/her scaphander.",
"@1 failed at swimming lessons.",
"@1 blew one too many bubbles.",
}
-- Burning death messages
messages.fire = {
" burned to a crisp.",
" got a little too warm.",
" got too close to the camp fire.",
" just got roasted, hotdog style.",
" got burned up. More light that way."
"@1 was a bit too hot.",
"@1 was too close to the fire.",
"@1 just got roasted.",
"@1 got burnt.",
"@1 thought (s)he was the human torch.",
"@1 started a fire.",
"@1 burned to a crisp.",
"@1 got a little too warm.",
"@1 got too close to the camp fire.",
"@1 just got roasted, hotdog style.",
"@1 was set aflame. More light that way.",
}
-- Acid death messages
messages.acid = {
"@1 now has parts of him/her missing.",
"@1 discovered that acid is fun.",
"@1 put his/her head where it melted.",
"@1 discovered that his/her body in acid, it's like sugar in water.",
"@1 thought (s)he was swimming in apple juice.",
"@1 gave his/her body to make an infusion.",
"@1 drowned into the wrong liquid.",
"@1 tried to test his/her body's solubility in acid.",
}
-- Quicksands death messages
messages.sand = {
"@1 learned that sand is less fluid than water.",
"@1 joined the mummies.",
"@1 got buried.",
"@1 choosen to become a fossil.",
}
-- Other death messages
messages.other = {
" died.",
" did something fatal.",
" gave up on life.",
" is somewhat dead now.",
" passed out -permanently."
"@1 did something fatal to himself/herself.",
"@1 died.",
"@1 left this world.",
"@1 reached miner's heaven.",
"@1 lost his/her life.",
"@1 saw the light.",
"@1 fell from a bit too high.",
"@1 slipped on a banana skin.",
"@1 wanted to test his/her super powers.",
"@1 gave up on life.",
"@1 is somewhat dead now.",
"@1 passed out permanently.",
"@1 died under very mysterious conditions.",
"@1 died in very mysterious circumstances.",
"@1 passed away.",
}
function get_message(mtype)
-- Whacking death messages
messages.whacking = {
"@1 got whacked by @2.",
"@1's grave was dug by @2.",
"@1 got recycled by @2.",
"@1 surely annoyed @2.",
"@1 can't have any more offspring because of @2.",
"@1 got beaten up by @2.",
"@1 had his suffering cut short by @2.",
"@1 died in excruciating pain because of @2's fault.",
"@1 spent his last moments in the company of @2.",
"@1's lineage was extinguished by @2.",
"@1 wasn't as strong as @2.",
-- Need to fill
}
messages.monsters_whacking = {
"@1 got whacked by a @2.",
"Darwin said: @1 was less adapted than a @2.",
"@1 was transformed into a doormat by a @2.",
"@1 thought (s)he was stronger than a @2.",
"@1 got kicked up by a @2. Next up...",
"@1 felt well that he/she could not do anything against a @2.",
"@1 versus @2? It's going bad!",
"@1 got a memorable spanking from @2.",
"@1 thought to be able to tame a @2? History shows he was wrong.",
"@1 didn't have the right reflex in front of a @2.",
"But what did @1 imagine versus a @2? Rest her soul.",
"@1 got shipped off to the afterlife in a hurry by a @2.",
"@1's attempt to reason with a @2 didn't exactly pay off.",
"@1 was severely shattered by a dirty @2.",
-- Need to fill
}
-- Monsters
local monsters = {
["mobs_monster:fireball"] = "dungeon master",
["mobs_monster:dungeon_master"] = "dungeon master",
["mobs_monster:spider"] = "spider",
["mobs_monster:sand_monster"] = "sand monster",
["mobs_animal:cow"] = "cow",
["creeper:creeper"] = "creeper",
["pmobs:dog"] = "dog",
["slimes:greenbig"] = "big green slim",
["slimes:greenmedium"] = "medium green slim",
["slimes:greensmall"] = "small green slim",
["slimes:lavabig"] = "big lava slim",
["slimes:lavamedium"] = "medium lava slim",
["slimes:lavasmall"] = "small lava slim",
["pmobs:yeti"] = "yeti",
["pmobs:snowball"] = "yeti",
["pmobs:npc"] = "npc",
["pmobs:npc_female"] = "female npc",
["mobs_monster:oerkki"] = "oerkki",
["mobs_monster:stone_monster"] = "stone monster",
["mobs_monster:dirt_monster"] = "dirt monster",
["mobs_animal:goat"] = "goat",
["pmobs:wolf"] = "wolf",
["mobs_monster:tree_monster"] = "tree monster",
["mobs_monster:mese_arrow"] = "mese monster",
["zombie:zombie"] = "zombie",
["mobs_monster:minotaur"] = "minotaur",
["mobs_animal:pumba"] = "warthog",
["tsm_pyramids:mummy"] = "mummy",
["mobs_sharks:shark_lg"] = "large shark",
["mobs_sharks:shark_md"] = "medium shark",
["mobs_sharks:shark_sm"] = "small shark",
["mobs_crocs:crocodile"] = "crocodile",
["mobs_crocs:crocodile_float"] = "crocodile",
["mobs_crocs:crocodile_swim"] = "crocodile",
["mobs_monster:lava_flan"] = "lava flan",
["mobs_animal:bee"] = "bee",
["mobs_animal:bunny"] = "evil bunny",
-- ["mobs:pumpking"] = "pumpking",
-- ["mobs:pumpboom"] = "pumpboom",
-- ["mobs:mese_dragon"] = "mese_dragon",
}
local function broadcast_death(msg)
minetest.chat_send_all(msg)
local logfilep = io.open(logfile, "a")
logfilep:write(os.date("[%Y-%m-%d %H:%M:%S] ") .. msg .. "\n")
logfilep:close()
if irc then
local tr_msg = minetest.get_translated_string(lang, msg)
irc.say(tr_msg)
end
end
local function sound_play_all(dead)
for _, p in ipairs(minetest.get_connected_players()) do
local player_name = p:get_player_name()
if player_name and player_name ~= dead then
minetest.sound_play("death_messages_people_1",{to_player=player_name, gain=1})
end
end
end
minetest.register_on_punchplayer(function(player, hitter, time,
tool_caps, dir, damage)
if player:get_hp() - damage <= 0 and not whacked[player:get_player_name()] then
local player_name = player:get_player_name()
local death_message
if hitter:is_player() then
death_message = S(messages.whacking[math.random(1,#messages.whacking)], player_name, hitter:get_player_name())
else
local entity_name = monsters[hitter:get_luaentity().name] or "monster"
death_message = S(messages.monsters_whacking[math.random(1, #messages.monsters_whacking)], player_name, entity_name)
end
broadcast_death(death_message)
minetest.sound_play(sounds[math.random(1,#sounds)],{to_player=player_name,gain=1})
sound_play_all(player_name)
whacked[player_name] = true
end
end)
minetest.register_on_leaveplayer(function(player)
whacked[player:get_player_name()] = nil
end)
minetest.register_on_respawnplayer(function(player)
whacked[player:get_player_name()] = nil
end)
local function get_message(mtype)
if RANDOM_MESSAGES then
return messages[mtype][math.random(1, #messages[mtype])]
else
return messages[1] -- 1 is the index for the non-random message
return messages[mtype][1] -- 1 is the index for the non-random message
end
end
minetest.register_on_dieplayer(function(player)
local player_name = player:get_player_name()
local node = minetest.registered_nodes[
minetest.get_node(player:getpos()).name
]
local node = minetest.registered_nodes[minetest.get_node(player:get_pos()).name]
if minetest.is_singleplayer() then
player_name = "You"
end
-- Death by lava
if node.groups.lava ~= nil then
minetest.chat_send_all(player_name .. get_message("lava"))
-- Death by drowning
elseif player:get_breath() == 0 then
minetest.chat_send_all(player_name .. get_message("water"))
-- Death by fire
elseif node.name == "fire:basic_flame" then
minetest.chat_send_all(player_name .. get_message("fire"))
-- Death by something else
else
minetest.chat_send_all(player_name .. get_message("other"))
player_name = S("You")
end
end)
local death_message = ""
if not whacked[player_name] then
-- Death by lava
if node.groups.lava ~= nil then
death_message = get_message("lava")
-- Death by acid
elseif node.groups.acid ~= nil then
death_message = get_message("acid")
-- Death by drowning
elseif player:get_breath() == 0 then
if node.groups.water ~= nil then
death_message = get_message("water")
-- Death in quicksand
elseif node.name == "nalc:sand_source" or node.name == "nalc:sand_flowing" then
death_message = get_message("sand")
end
-- Death by fire
elseif node.name == "fire:basic_flame" then
death_message = get_message("fire")
-- Death by something else
else
death_message = get_message("other")
end
-- Actually tell something
death_message = S(death_message, player_name)
broadcast_death(death_message)
minetest.sound_play(sounds[math.random(1,#sounds)], {to_player=player_name,gain=1})
sound_play_all(player_name)
whacked[player_name] = true
end
end)
--------------------------------------------------------------------------------
print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...")

101
locale/death_messages.fr.tr Normal file
View File

@ -0,0 +1,101 @@
# textdomain: death_messages
You=Tu
## lava
@1 thought lava was cool.=@1 pensait que la lave était cool.
@1 felt an urgent need to touch lava.=@1 a ressenti un besoin urgent de toucher la lave.
@1 fell in lava.=@1 est tombé(e) dans la lave.
@1 died in lava.=@1 est mort(e) dans de la lave.
@1 didn't know lava was very hot.=@1 ne savait pas que la lave était vraiment chaude.
@1 destroyed Sauron's ring.=@1 a detruit l'anneau de Sauron.
@1 melted into a ball of fire.=@1 a fondu en une boule de feu.
@1 couldn't resist that warm glow of lava.=@1 n'a pas pu résister à cette chaude lueur de lave.
@1 dug straight down.=@1 a creusé vers le bas.
## Drowning
@1 lacked oxygen.=@1 manquait d'oxygène.
@1 ran out of air.=@1 a manqué d'air.
@1 tried to impersonate an anchor.=@1 a tenté d'usurper l'identité d'une ancre.
@1 forgot (s)he was not a fish.=@1 a oublié qu'il/elle n'était pas un poisson.
@1 forgot (s)he needed to breath underwater.=@1 a oublié qu'il lui fallait respirer sous l'eau.
@1 isn't good at swimming.=@1 n'est pas bon(ne) en natation.
@1 looked for the secret of the Unicorn.=@1 a cherché le secret de la licorne.
@1 forgot his/her scaphander.=@1 a oublié son scaphandre.
@1 failed at swimming lessons.=@1 a raté ses cours de natation.
@1 blew one too many bubbles.=@1 a expiré une bulle de trop.
## Fire
@1 was a bit too hot.=@1 était un peu trop chaud.
@1 was too close to the fire.=@1 a été trop près du feu.
@1 just got roasted.=@1 vient de se faire rotir.
@1 got burnt.=@1 a été carbonisé.
@1 thought (s)he was the human torch.=@1 pensait qu'elle/il était la torche humaine.
@1 started a fire.=@1 a allumé le feu.
@1 burned to a crisp.=@1 a brulé comme une chips.
@1 got a little too warm.=@1 a eu un peu trop chaud.
@1 got too close to the camp fire.=@1 s'est approché(e) trop près du feu de camp.
@1 just got roasted, hotdog style.=@1 vient de se faire rôtir façon hotdog.
@1 was set aflame. More light that way.=@1 s'est embrasé(e). Ça fait plus de lumière.
## Acid
@1 now has parts of him/her missing.=@1 a desormais des parties en moins.
@1 discovered that acid is fun.=@1 a decouvert que l'acide, c'est fun.
@1 put his/her head where it melted.=@1 a mis sa tête là ou elle a fondu.
@1 discovered that his/her body in acid, it's like sugar in water.=@1 a decouvert que son corps dans l'acide, c'est comme du sucre dans de l'eau.
@1 thought (s)he was swimming in apple juice.=@1 a cru qu'il/elle se baignait dans du jus de pomme.
@1 gave his/her body to make an infusion.=@1 a donné son corps pour faire une infusion.
@1 drowned into the wrong liquid.=@1 a bu la mauvaise tasse.
@1 tried to test his/her body's solubility in acid.=@1 a voulu tester la solubilité de son corps dans l'acide.
## Sand
@1 learned that sand is less fluid than water.=@1 a appris que le sable est moins fluide que l'eau.
@1 joined the mummies.=@1 a rejoint les momies.
@1 got buried.=@1 s'est fait(e) ensevelir.
@1 choosen to become a fossil.=@1 a choisi de devenir un fossile.
## Other
@1 did something fatal to himself/herself.=@1 a fait quelque chose qui lui a été fatal.
@1 died.=@1 est mort(e).
@1 left this world.=@1 n'est plus de ce monde.
@1 reached miner's heaven.=@1 a rejoint le paradis des mineurs.
@1 lost his/her life.=@1 a perdu la vie.
@1 saw the light.=@1 a vu la lumière.
@1 fell from a bit too high.=@1 est tombé(e) d'un peu trop haut.
@1 slipped on a banana skin.=@1 a glissé sur une peau de banane.
@1 wanted to test his/her super powers.=@1 a voulu tester ses super pouvoirs.
@1 gave up on life.=@1 a decidé de mourir.
@1 is somewhat dead now.=@1 est quelque peu mort(e) maintenant.
@1 passed out permanently.=@1 s'est evanoui(e) pour toujours.
@1 died under very mysterious conditions.=@1 est mort(e) dans des conditions bien mystérieuses.
@1 died in very mysterious circumstances.=@1 est mort(e) dans de mystérieuses circonstances.
@1 passed away.=@1 a trépassé.
## Whacking Death
@1 got whacked by @2.=@1 s'est pris(e) une raclée de la part de @2.
@1's grave was dug by @2.=La tombe de @1 a été creusée par @2.
@1 got recycled by @2.=@1 s'est fait(e) recycler par @2.
@1 surely annoyed @2.=@1 embetait sûrement @2.
@1 can't have any more offspring because of @2.=@1 ne pourra plus avoir de descendance à cause de @2.
@1 got beaten up by @2.=@1 s'est fait(e) rosser par @2.
@1 had his suffering cut short by @2.=@1 s'est vu(e) abréger ses souffrances par @2.
@1 died in excruciating pain because of @2's fault.=@1 est mort(e) dans d'atroces souffrances par la faute de @2.
@1 spent his last moments in the company of @2.=@1 a vécu ses derniers instants en compagnie de @2.
@1's lineage was extinguished by @2.=La lignée de @1 s'est éteinte à cause de @2.
@1 wasn't as strong as @2.=@1 a été moins fort(e) que @2.
## Monster Whacking
@1 got whacked by a @2.=@1 s'est pris une raclée de la part d'un @2.
Darwin said: @1 was less adapted than a @2.=Darwin a dit : @1 était moins adapté(e) qu'un @2.
@1 was transformed into a doormat by a @2.=@1 s'est fait(e) transformer en paillasson par un @2.
@1 thought (s)he was stronger than a @2.=@1 s'est cru(e) plus fort(e) qu'un @2.
@1 got kicked up by a @2. Next up...=@1 s'est fait(e) dégommer par un @2. Au suivant...
@1 felt well that he/she could not do anything against a @2.=@1 sentait bien qu'il/elle ne pouvait pas faire le poids contre un @2.
@1 versus @2? It's going bad!=@1 contre un @2 ? Ça tourne mal !
@1 got a memorable spanking from @2.=@1 a reçu une fessé mémorable de la part d'un @2.
@1 thought to be able to tame a @2? History shows he was wrong.=@1 croyait pouvoir dompter un @2 ? L'histoire montre qu'il/elle a eu tort.
@1 didn't have the right reflex in front of a @2.=@1 n'a pas eu le bon réflexe face à un @2.
But what did @1 imagine versus a @2? Rest her soul.=Mais que s'est imaginé(e) @1 face à un @2 ? Paix à son âme.
@1 got shipped off to the afterlife in a hurry by a @2.=@1 s'est fait(e) expédier dans l'au-delà vite fait bien fait par un @2.
@1's attempt to reason with a @2 didn't exactly pay off.=La tentative de @1 pour raisonner un @2 n'a pas vraiment porté ses fruits.
@1 was severely shattered by a dirty @2.=@1 s'est fait(e) sévèrement éclater par une saleté de @2.

View File

@ -0,0 +1,5 @@
# textdomain: death_messages
## lava
@1 thought lava was cool=@1 pensait que la lave était cool
@1 felt an urgent need to touch lava=@1 s'est senti obligé de toucher la lave

101
locale/template.txt Normal file
View File

@ -0,0 +1,101 @@
# textdomain: death_messages
You=
## lava
@1 thought lava was cool.=
@1 felt an urgent need to touch lava.=
@1 fell in lava.=
@1 died in lava.=
@1 didn't know lava was very hot.=
@1 destroyed Sauron's ring.=
@1 melted into a ball of fire.=
@1 couldn't resist that warm glow of lava.=
@1 dug straight down.=
## Drowning
@1 lacked oxygen.=
@1 ran out of air.=
@1 tried to impersonate an anchor.=
@1 forgot (s)he was not a fish.=
@1 forgot (s)he needed to breath underwater.=
@1 isn't good at swimming.=
@1 looked for the secret of the Unicorn.=
@1 forgot his/her scaphander.=
@1 failed at swimming lessons.=
@1 blew one too many bubbles.=
## Fire
@1 was a bit too hot.=
@1 was too close to the fire.=
@1 just got roasted.=
@1 got burnt.=
@1 thought (s)he was the human torch.=
@1 started a fire.=
@1 burned to a crisp.=
@1 got a little too warm.=
@1 got too close to the camp fire.=
@1 just got roasted, hotdog style.=
@1 was set aflame. More light that way.=
## Acid
@1 now has parts of him/her missing.=
@1 discovered that acid is fun.=
@1 put his/her head where it melted.=
@1 discovered that his/her body in acid, it's like sugar in water.=l'acide, c'est comme du sucre dans de l'eau.
@1 thought (s)he was swimming in apple juice.=
@1 gave his/her body to make an infusion.=
@1 drowned into the wrong liquid.=
@1 tried to test his/her body's solubility in acid.=
## Sand
@1 learned that sand is less fluid than water.=
@1 joined the mummies.=
@1 got buried.=
@1 choosen to become a fossil.=
## Other
@1 did something fatal to himself/herself.=
@1 died.=
@1 left this world.=
@1 reached miner's heaven.=
@1 lost his/her life.=
@1 saw the light.=
@1 fell from a bit too high.=
@1 slipped on a banana skin.=
@1 wanted to test his/her super powers.=
@1 gave up on life.=
@1 is somewhat dead now.=
@1 passed out permanently.=
@1 died under very mysterious conditions.=
@1 died in very mysterious circumstances.=
@1 passed away.=
## Whacking Death
@1 got whacked by @2.=
@1's grave was dug by @2.=
@1 got recycled by @2.=
@1 surely annoyed @2.=
@1 can't have any more offspring because of @2.=
@1 got beaten up by @2.=
@1 had his suffering cut short by @2.=
@1 died in excruciating pain because of @2's fault.=
@1 spent his last moments in the company of @2.=
@1's lineage was extinguished by @2.=
@1 wasn't as strong as @2.=
## Monster Whacking
@1 got whacked by a @2.=
Darwin said: @1 was less adapted than a @2.=
@1 was transformed into a doormat by a @2.=
@1 thought (s)he was stronger than a @2.=
@1 got kicked up by a @2. Next up...=
@1 felt well that he/she could not do anything against a @2.=
@1 versus @2? It's going bad!=
@1 got a memorable spanking from @2.=
@1 thought to be able to tame a @2? History shows he was wrong.=
@1 didn't have the right reflex in front of a @2.=
But what did @1 imagine versus a @2? Rest her soul.=
@1 got shipped off to the afterlife in a hurry by a @2.=
@1's attempt to reason with a @2 didn't exactly pay off.=
@1 was severely shattered by a dirty @2.=

0
settings.txt Normal file → Executable file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.