Eye of Cthulhu

The Eye of Cthulhu is a Boss monster that the player can fight. It can be summoned by creating a Suspicious Looking Eye at a Demon Altar. In order to summon the boss, it has to be Night time; otherwise, nothing will happen. It is also possible for it to spawn soon after the message "You feel an evil presence watching you" appears. This happens when the player has at least ten hearts, hasn't defeated the Eye of Cthulhu before and has at least 4 NPCs. The boss has been described as the easiest by the game's developers.

Speed kill - http://www.youtube.com/watch?v=Jdoa7kwVII8&feature=channel_video_title

Strategy
The Eye of Cthulhu acts like a larger Demon Eye, flying around and trying to ram the player, often going through walls and underground. Because of its large size, it is recommended that the player brings a bow or Shurikens to the fight, as the player can jump and dodge while constantly hitting the Eye.

A good area to fight the Eye is high in the air on a long platform, so when the Eye flies downwards, you can still attack it with range weapons.

When the Eye starts to spawn Servants of Cthulhu, if the player stands still the Eye will position itself directly overhead. It is possible use this to your advantage by hitting it rapidly with ranged attacks, preferably one that passes through multiple enemies like Shurikens or the Ball 'O Hurt. Not only will this damage the Eye of Cthulhu, but the Servants of Cthulhu that it spawns will be killed instantly.

After the Eye loses 1500 health, it will transform, replacing its pupil with a large mouth. In this form, the Eye of Cthulhu is faster, deals more damage, has lower defense, and no longer spawns Servants of Cthulhu. After it is defeated, the Eye of Cthulhu drops several items, including Demonite Ore.

Video guide - http://www.youtube.com/watch?v=W16bjDjVZw8&feature=channel_video_title

lololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoololololololololololololololololololololololololololololoolololololololololololololololololololol...